From 9cf575e5708365a321396d1be6705e4377656499 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 22 Jan 2024 13:31:45 -0800 Subject: [PATCH 001/180] chore: add pnpmSyncPrepare --- .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 7031 +++++++++-------- common/config/rush/repo-state.json | 2 +- common/reviews/api/rush-lib.api.md | 1 + libraries/rush-lib/package.json | 3 +- .../src/api/ExperimentsConfiguration.ts | 4 + .../installManager/WorkspaceInstallManager.ts | 12 + .../src/schemas/experiments.schema.json | 4 + 8 files changed, 3817 insertions(+), 3244 deletions(-) diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 7a5edb8f445..a12b94d60f2 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -62,6 +62,10 @@ "name": "office-ui-fabric-core", "allowedCategories": [ "libraries" ] }, + { + "name": "pnpm-sync-lib", + "allowedCategories": [ "libraries" ] + }, { "name": "react", "allowedCategories": [ "libraries", "tests", "vscode-extensions" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dc62b49920d..79ddd1acfe0 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -35,7 +35,7 @@ importers: version: 3.13.1 resolve: specifier: ~1.22.1 - version: 1.22.4 + version: 1.22.8 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -78,7 +78,7 @@ importers: version: 4.17.21 resolve: specifier: ~1.22.1 - version: 1.22.4 + version: 1.22.8 semver: specifier: ~7.5.4 version: 7.5.4 @@ -139,7 +139,7 @@ importers: version: 3.4.3 fast-glob: specifier: ~3.3.1 - version: 3.3.1 + version: 3.3.2 git-repo-info: specifier: ~2.1.0 version: 2.1.1 @@ -219,13 +219,13 @@ importers: version: link:../lockfile-explorer-web '@types/cors': specifier: ~2.8.12 - version: 2.8.13 + version: 2.8.17 '@types/js-yaml': specifier: 3.12.1 version: 3.12.1 '@types/update-notifier': specifier: ~6.0.1 - version: 6.0.4 + version: 6.0.8 local-node-rig: specifier: workspace:* version: link:../../rigs/local-node-rig @@ -234,7 +234,7 @@ importers: dependencies: '@fluentui/react': specifier: ^8.96.1 - version: 8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@lifaon/path': specifier: ~2.1.0 version: 2.1.0 @@ -339,7 +339,7 @@ importers: version: 1.2.5 resolve: specifier: ~1.22.1 - version: 1.22.4 + version: 1.22.8 semver: specifier: ~7.5.4 version: 7.5.4 @@ -777,7 +777,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) local-eslint-config: specifier: workspace:* version: link:../../eslint/local-eslint-config @@ -786,7 +786,7 @@ importers: version: 3.0.2(webpack@5.82.1) style-loader: specifier: ~3.3.1 - version: 3.3.3(webpack@5.82.1) + version: 3.3.4(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -1080,7 +1080,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@7.11.0)(typescript@5.3.3) + version: 6.19.1(eslint@7.11.0)(typescript@5.3.3) eslint: specifier: 7.11.0 version: 7.11.0 @@ -1101,7 +1101,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@7.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@7.7.0)(typescript@5.3.3) eslint: specifier: 7.7.0 version: 7.7.0 @@ -1122,7 +1122,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@7.30.0)(typescript@5.3.3) + version: 6.19.1(eslint@7.30.0)(typescript@5.3.3) eslint: specifier: ~7.30.0 version: 7.30.0 @@ -1143,7 +1143,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1161,7 +1161,7 @@ importers: version: link:../../apps/heft '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1194,7 +1194,7 @@ importers: version: 1.18.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -1594,7 +1594,7 @@ importers: version: 1.18.0 autoprefixer: specifier: ~10.4.2 - version: 10.4.14(postcss@8.4.27) + version: 10.4.17(postcss@8.4.33) css-loader: specifier: ~5.2.7 version: 5.2.7(webpack@4.47.0) @@ -1609,10 +1609,10 @@ importers: version: link:../../eslint/local-eslint-config postcss: specifier: ~8.4.6 - version: 8.4.27 + version: 8.4.33 postcss-loader: specifier: ~4.1.0 - version: 4.1.0(postcss@8.4.27)(webpack@4.47.0) + version: 4.1.0(postcss@8.4.33)(webpack@4.47.0) react: specifier: ~17.0.2 version: 17.0.2 @@ -1777,7 +1777,7 @@ importers: version: 29.5.11 '@types/node': specifier: ts4.9 - version: 20.11.5 + version: 20.11.6 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1885,7 +1885,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) local-eslint-config: specifier: workspace:* version: link:../../eslint/local-eslint-config @@ -2081,7 +2081,7 @@ importers: version: link:../../rush-plugins/rush-amazon-s3-build-cache-plugin '@types/http-proxy': specifier: ~1.17.8 - version: 1.17.11 + version: 1.17.14 '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -2152,7 +2152,7 @@ importers: version: link:../../rush-plugins/rush-redis-cobuild-plugin '@types/http-proxy': specifier: ~1.17.8 - version: 1.17.11 + version: 1.17.14 '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -2200,7 +2200,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -2251,16 +2251,16 @@ importers: version: link:../eslint-plugin-security '@typescript-eslint/eslint-plugin': specifier: ~6.19.0 - version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.0(typescript@5.3.3) + version: 6.19.1(typescript@5.3.3) '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint-plugin-promise: specifier: ~6.1.1 version: 6.1.1(eslint@8.7.0) @@ -2303,7 +2303,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@eslint/eslintrc': specifier: ~3.0.0 @@ -2328,13 +2328,13 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/rule-tester': specifier: ~6.19.0 - version: 6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.0(typescript@5.3.3) + version: 6.19.1(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2349,7 +2349,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -2371,10 +2371,10 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.0(typescript@5.3.3) + version: 6.19.1(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2389,7 +2389,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@eslint/eslintrc': specifier: ~3.0.0 @@ -2414,13 +2414,13 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/rule-tester': specifier: ~6.19.0 - version: 6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.0(typescript@5.3.3) + version: 6.19.1(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2438,7 +2438,7 @@ importers: version: link:../eslint-patch '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint-plugin-deprecation: specifier: 2.0.0 version: 2.0.0(eslint@8.7.0)(typescript@5.3.3) @@ -2644,10 +2644,10 @@ importers: version: link:../../libraries/typings-generator postcss: specifier: ~8.4.6 - version: 8.4.27 + version: 8.4.33 postcss-modules: specifier: ~6.0.0 - version: 6.0.0(postcss@8.4.27) + version: 6.0.0(postcss@8.4.33) sass-embedded: specifier: ~1.62.0 version: 1.62.0 @@ -2936,7 +2936,7 @@ importers: version: 0.7.4 terser: specifier: ^5.9.0 - version: 5.19.2 + version: 5.27.0 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -2964,13 +2964,13 @@ importers: version: 1.4.0 resolve: specifier: ~1.22.1 - version: 1.22.4 + version: 1.22.8 semver: specifier: ~7.5.4 version: 7.5.4 z-schema: specifier: ~5.0.2 - version: 5.0.5 + version: 5.0.6 devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -3097,7 +3097,7 @@ importers: dependencies: resolve: specifier: ~1.22.1 - version: 1.22.4 + version: 1.22.8 strip-json-comments: specifier: ~3.1.1 version: 3.1.1 @@ -3128,7 +3128,7 @@ importers: dependencies: '@pnpm/dependency-path': specifier: ~2.1.2 - version: 2.1.3 + version: 2.1.7 '@pnpm/link-bins': specifier: ~5.3.7 version: 5.3.25 @@ -3176,7 +3176,7 @@ importers: version: 9.2.8 fast-glob: specifier: ~3.3.1 - version: 3.3.1 + version: 3.3.2 figures: specifier: 3.0.0 version: 3.0.0 @@ -3207,6 +3207,9 @@ importers: npm-package-arg: specifier: ~6.1.0 version: 6.1.1 + pnpm-sync-lib: + specifier: ~0.0.1 + version: 0.0.1 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -3270,7 +3273,7 @@ importers: version: 7.5.0 '@types/ssri': specifier: ~7.1.0 - version: 7.1.1 + version: 7.1.5 '@types/strict-uri-encode': specifier: 2.0.0 version: 2.0.0 @@ -3347,7 +3350,7 @@ importers: version: 1.1.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-scroll-area': specifier: ~1.0.2 - version: 1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 1.0.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-tabs': specifier: ~1.0.1 version: 1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) @@ -3474,7 +3477,7 @@ importers: version: 3.4.3 fast-glob: specifier: ~3.3.1 - version: 3.3.1 + version: 3.3.2 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -3625,7 +3628,7 @@ importers: version: 1.0.1 autoprefixer: specifier: ~10.4.2 - version: 10.4.14(postcss@8.4.27) + version: 10.4.17(postcss@8.4.33) css-loader: specifier: ~6.6.0 version: 6.6.0(webpack@5.82.1) @@ -3637,7 +3640,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) jest-environment-jsdom: specifier: ~29.5.0 version: 29.5.0 @@ -3646,10 +3649,10 @@ importers: version: 2.5.3(webpack@5.82.1) postcss: specifier: ~8.4.6 - version: 8.4.27 + version: 8.4.33 postcss-loader: specifier: ~6.2.1 - version: 6.2.1(postcss@8.4.27)(webpack@5.82.1) + version: 6.2.1(postcss@8.4.33)(webpack@5.82.1) sass: specifier: ~1.49.7 version: 1.49.11 @@ -3661,10 +3664,10 @@ importers: version: 3.0.2(webpack@5.82.1) style-loader: specifier: ~3.3.1 - version: 3.3.3(webpack@5.82.1) + version: 3.3.4(webpack@5.82.1) terser-webpack-plugin: specifier: ~5.3.1 - version: 5.3.9(webpack@5.82.1) + version: 5.3.10(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -3777,7 +3780,7 @@ importers: dependencies: '@azure/identity': specifier: ~4.0.0 - version: 4.0.0 + version: 4.0.1 '@azure/storage-blob': specifier: ~12.17.0 version: 12.17.0 @@ -3849,7 +3852,7 @@ importers: dependencies: '@redis/client': specifier: ~1.5.5 - version: 1.5.8 + version: 1.5.13 '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library @@ -3901,17 +3904,17 @@ importers: version: 1.0.7(@types/express@4.17.13) ws: specifier: ~8.14.1 - version: 8.14.1 + version: 8.14.2 devDependencies: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft '@types/compression': specifier: ~1.7.2 - version: 1.7.2(@types/express@4.17.13) + version: 1.7.5(@types/express@4.17.13) '@types/cors': specifier: ~2.8.12 - version: 2.8.13 + version: 2.8.17 '@types/express': specifier: 4.17.13 version: 4.17.13 @@ -3926,7 +3929,7 @@ importers: dependencies: '@fluentui/react': specifier: ^8.96.1 - version: 8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-components': specifier: ~9.27.0 version: 9.27.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) @@ -3969,16 +3972,16 @@ importers: version: 17.0.25 '@types/react-redux': specifier: ~7.1.22 - version: 7.1.25 + version: 7.1.33 '@types/vscode': specifier: ^1.63.0 - version: 1.81.0 + version: 1.85.0 eslint: specifier: ~8.7.0 version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.3(webpack@5.82.1) + version: 5.5.4(webpack@5.82.1) local-web-rig: specifier: workspace:* version: link:../../rigs/local-web-rig @@ -4027,7 +4030,7 @@ importers: version: 9.1.1 '@types/vscode': specifier: ^1.63.0 - version: 1.81.0 + version: 1.85.0 '@types/webpack-env': specifier: 1.18.0 version: 1.18.0 @@ -4054,7 +4057,7 @@ importers: version: link:../../libraries/node-core-library fast-glob: specifier: ~3.3.1 - version: 3.3.1 + version: 3.3.2 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -4366,11 +4369,12 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 /@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-NHm+Jet4Iz1YDEo7lik4ItfGU1w97jCqNKilET0kcPndtxynDJNVpD1O0ycOb9L6hhLtpT5I7Llutt9Dy5gjYA==} engines: {node: '>= 14.15.0'} + deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: aws-cdk-lib: ^2.7.0 constructs: ^10.0.0 @@ -4382,6 +4386,7 @@ packages: /@aws-cdk/aws-apigatewayv2-authorizers-alpha@2.7.0-alpha.0(@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0)(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-03VMs0IKvcm5xLan0PI+gczSQZfmYBJruqjB5Fn+VvH57kU7vu75Kgjs6gUc6CpoI38MH7QdamLs9eP9AvL/HQ==} engines: {node: '>= 14.15.0'} + deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: '@aws-cdk/aws-apigatewayv2-alpha': 2.7.0-alpha.0 aws-cdk-lib: ^2.7.0 @@ -4395,6 +4400,7 @@ packages: /@aws-cdk/aws-apigatewayv2-integrations-alpha@2.7.0-alpha.0(@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0)(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-QayWlBXdnAXjDghrYHO/vHsViPx/mLb2Tx5xdGM5sgIICNAnnY3WBbZZC4WLIli3bnc22cxwFWGCWHuM/vfj5A==} engines: {node: '>= 14.15.0'} + deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: '@aws-cdk/aws-apigatewayv2-alpha': 2.7.0-alpha.0 aws-cdk-lib: ^2.7.0 @@ -4426,9 +4432,6 @@ packages: /@aws-cdk/cloud-assembly-schema@2.7.0: resolution: {integrity: sha512-vKTKLMPvzUhsYo3c4/EbMJq+bwIgHkwK0lV9fc5mQlnTUTyHe6nGIvyzmWWMd5BVEkgNzw+QdecxeeYJNu/doA==} engines: {node: '>= 14.15.0'} - dependencies: - jsonschema: 1.4.1 - semver: 7.5.4 dev: true bundledDependencies: - jsonschema @@ -4452,7 +4455,6 @@ packages: engines: {node: '>= 14.15.0'} dependencies: '@aws-cdk/cloud-assembly-schema': 2.7.0 - semver: 7.5.4 dev: true bundledDependencies: - semver @@ -4474,7 +4476,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 tslib: 2.3.1 dev: false @@ -4484,15 +4486,38 @@ packages: dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 - '@azure/core-rest-pipeline': 1.12.0 + '@azure/core-rest-pipeline': 1.13.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 '@azure/logger': 1.0.4 tslib: 2.3.1 transitivePeerDependencies: - supports-color dev: false + /@azure/core-http@2.3.2: + resolution: {integrity: sha512-Z4dfbglV9kNZO177CNx4bo5ekFuYwwsvjLiKdZI4r84bYGv3irrbQz7JC3/rUfFH2l4T/W6OFleJaa2X0IaQqw==} + engines: {node: '>=14.0.0'} + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.5.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-util': 1.6.1 + '@azure/logger': 1.0.4 + '@types/node-fetch': 2.6.2 + '@types/tunnel': 0.0.3 + form-data: 4.0.0 + node-fetch: 2.6.7 + process: 0.11.10 + tough-cookie: 4.1.3 + tslib: 2.3.1 + tunnel: 0.0.6 + uuid: 8.3.2 + xml2js: 0.5.0 + transitivePeerDependencies: + - encoding + dev: false + /@azure/core-http@3.0.4: resolution: {integrity: sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==} engines: {node: '>=14.0.0'} @@ -4500,7 +4525,7 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 '@azure/logger': 1.0.4 '@types/node-fetch': 2.6.2 '@types/tunnel': 0.0.3 @@ -4520,7 +4545,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 '@azure/logger': 1.0.4 tslib: 2.3.1 dev: false @@ -4532,16 +4557,15 @@ packages: tslib: 2.3.1 dev: false - /@azure/core-rest-pipeline@1.12.0: - resolution: {integrity: sha512-+MnSB0vGZjszSzr5AW8z93/9fkDu2RLtWmAN8gskURq7EW2sSwqy8jZa0V26rjuBVkwhdA3Hw8z3VWoeBUOw+A==} - engines: {node: '>=14.0.0'} + /@azure/core-rest-pipeline@1.13.0: + resolution: {integrity: sha512-a62aP/wppgmnfIkJLfcB4ssPBcH94WzrzPVJ3tlJt050zX4lfmtnvy95D3igDo3f31StO+9BgPrzvkj4aOxnoA==} + engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 '@azure/logger': 1.0.4 - form-data: 4.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 tslib: 2.3.1 @@ -4553,7 +4577,7 @@ packages: resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} engines: {node: '>=12.0.0'} dependencies: - '@opentelemetry/api': 1.4.1 + '@opentelemetry/api': 1.7.0 tslib: 2.3.1 dev: false @@ -4564,27 +4588,51 @@ packages: tslib: 2.3.1 dev: false - /@azure/core-util@1.4.0: - resolution: {integrity: sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==} - engines: {node: '>=14.0.0'} + /@azure/core-util@1.6.1: + resolution: {integrity: sha512-h5taHeySlsV9qxuK64KZxy4iln1BtMYlNt5jbuEFN3UFSAd1EwKg/Gjl5a6tZ/W8t6li3xPnutOx7zbDyXnPmQ==} + engines: {node: '>=16.0.0'} dependencies: '@azure/abort-controller': 1.1.0 tslib: 2.3.1 dev: false - /@azure/identity@4.0.0: - resolution: {integrity: sha512-gtPYxIL0kI39Dw4t3HvlbfhOdXqKD2MqDgynlklF0j728j51dcKgRo6FLX0QzpBw/1gGfLxjMXqq3nKOSQ2lmA==} + /@azure/identity@2.1.0: + resolution: {integrity: sha512-BPDz1sK7Ul9t0l9YKLEa8PHqWU4iCfhGJ+ELJl6c8CP3TpJt2urNCbm0ZHsthmxRsYoMPbz2Dvzj30zXZVmAFw==} + engines: {node: '>=12.0.0'} + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.5.0 + '@azure/core-client': 1.7.3 + '@azure/core-rest-pipeline': 1.13.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.6.1 + '@azure/logger': 1.0.4 + '@azure/msal-browser': 2.38.3 + '@azure/msal-common': 7.6.0 + '@azure/msal-node': 1.18.4 + events: 3.3.0 + jws: 4.0.0 + open: 8.4.2 + stoppable: 1.1.0 + tslib: 2.3.1 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@azure/identity@4.0.1: + resolution: {integrity: sha512-yRdgF03SFLqUMZZ1gKWt0cs0fvrDIkq2bJ6Oidqcoo5uM85YMBnXWMzYKK30XqIT76lkFyAaoAAy5knXhrG4Lw==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-client': 1.7.3 - '@azure/core-rest-pipeline': 1.12.0 + '@azure/core-rest-pipeline': 1.13.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.4.0 + '@azure/core-util': 1.6.1 '@azure/logger': 1.0.4 - '@azure/msal-browser': 3.5.0 - '@azure/msal-node': 2.5.1 + '@azure/msal-browser': 3.7.1 + '@azure/msal-node': 2.6.2 events: 3.3.0 jws: 4.0.0 open: 8.4.2 @@ -4601,27 +4649,71 @@ packages: tslib: 2.3.1 dev: false - /@azure/msal-browser@3.5.0: - resolution: {integrity: sha512-2NtMuel4CI3UEelCPKkNRXgKzpWEX48fvxIvPz7s0/sTcCaI08r05IOkH2GkXW+czUOtuY6+oGafJCpumnjRLg==} + /@azure/msal-browser@2.38.3: + resolution: {integrity: sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==} engines: {node: '>=0.8.0'} + deprecated: A newer major version of this library is available. Please upgrade to the latest available version. dependencies: - '@azure/msal-common': 14.4.0 + '@azure/msal-common': 13.3.1 dev: false - /@azure/msal-common@14.4.0: - resolution: {integrity: sha512-ffCymScQuMKVj+YVfwNI52A5Tu+uiZO2eTf+c+3TXxdAssks4nokJhtr+uOOMxH0zDi6d1OjFKFKeXODK0YLSg==} + /@azure/msal-browser@3.7.1: + resolution: {integrity: sha512-EZnk81zn1/5/jv/VVN2Tp+dUVchHmwbbt7pn654Eqa+ua7wtEIg1btuW/mowB13BV2nGYcvniY9Mf+3Sbe0cCg==} engines: {node: '>=0.8.0'} + dependencies: + '@azure/msal-common': 14.6.1 + dev: false + + /@azure/msal-common@13.3.1: + resolution: {integrity: sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==} + engines: {node: '>=0.8.0'} + dev: false + + /@azure/msal-common@14.6.1: + resolution: {integrity: sha512-yL97p2La0WrgU3MdXThOLOpdmBMvH8J69vwQ/skOqORYwOW/UYPdp9nZpvvfBO+zFZB5M3JkqA2NKtn4GfVBHw==} + engines: {node: '>=0.8.0'} + dev: false + + /@azure/msal-common@7.6.0: + resolution: {integrity: sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==} + engines: {node: '>=0.8.0'} + dev: false + + /@azure/msal-node@1.18.4: + resolution: {integrity: sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==} + engines: {node: 10 || 12 || 14 || 16 || 18} + deprecated: A newer major version of this library is available. Please upgrade to the latest available version. + dependencies: + '@azure/msal-common': 13.3.1 + jsonwebtoken: 9.0.2 + uuid: 8.3.2 dev: false - /@azure/msal-node@2.5.1: - resolution: {integrity: sha512-PsPRISqCG253HQk1cAS7eJW7NWTbnBGpG+vcGGz5z4JYRdnM2EIXlj1aBpXCdozenEPtXEVvHn2ELleW1w82nQ==} - engines: {node: 16|| 18 || 20} + /@azure/msal-node@2.6.2: + resolution: {integrity: sha512-XyP+5lUZxTpWpLCC2wAFGA9wXrUhHp1t4NLmQW0mQZzUdcSay3rG7kGGqxxeLf8mRdwoR0B70TCLmIGX6cfK/g==} + engines: {node: '>=16'} dependencies: - '@azure/msal-common': 14.4.0 - jsonwebtoken: 9.0.1 + '@azure/msal-common': 14.6.1 + jsonwebtoken: 9.0.2 uuid: 8.3.2 dev: false + /@azure/storage-blob@12.11.0: + resolution: {integrity: sha512-na+FisoARuaOWaHWpmdtk3FeuTWf2VWamdJ9/TJJzj5ZdXPLC3juoDgFs6XVuJIoK30yuBpyFBEDXVRK4pB7Tg==} + engines: {node: '>=12.0.0'} + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-http': 2.3.2 + '@azure/core-lro': 2.5.4 + '@azure/core-paging': 1.5.0 + '@azure/core-tracing': 1.0.0-preview.13 + '@azure/logger': 1.0.4 + events: 3.3.0 + tslib: 2.3.1 + transitivePeerDependencies: + - encoding + dev: false + /@azure/storage-blob@12.17.0: resolution: {integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==} engines: {node: '>=14.0.0'} @@ -4641,38 +4733,38 @@ packages: /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.23.4 dev: true - /@babel/code-frame@7.22.10: - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.10 + '@babel/highlight': 7.23.4 chalk: 2.4.2 - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} /@babel/core@7.12.9: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.12.9) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.12.9) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 source-map: 0.5.7 transitivePeerDependencies: @@ -4684,15 +4776,15 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -4701,59 +4793,59 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: - resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 dev: true - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.10 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.20.12): + resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.20.12): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.20.12): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4770,95 +4862,110 @@ packages: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/traverse': 7.22.10 + '@babel/traverse': 7.23.7 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.8 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.20.12): - resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.20.12): + resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.20.12): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 dev: true - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.12.9): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.12.9): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.20.12): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 dev: true /@babel/helper-plugin-utils@7.10.4: @@ -4869,27 +4976,27 @@ packages: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.20.12): - resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.20.12): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.10 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.20.12): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.20.12): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true @@ -4897,73 +5004,67 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.10: - resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 dev: true - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.10: - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.16.4: - resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} engines: {node: '>=6.0.0'} hasBin: true - dev: false - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4972,8 +5073,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 @@ -4981,48 +5082,59 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.20.12) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.20.12): + resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-decorators@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==} + /@babel/plugin-proposal-decorators@7.23.7(@babel/core@7.20.12): + resolution: {integrity: sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.20.12) dev: true - /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} + /@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.20.12) dev: true /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -5033,32 +5145,35 @@ packages: /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.10.4 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.12.9) dev: true /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.20.12): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 + '@babel/compat-data': 7.23.5 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) dev: true /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.20.12): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -5071,11 +5186,12 @@ packages: /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -5122,8 +5238,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} + /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5141,8 +5257,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} + /@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5160,8 +5276,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} + /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5170,8 +5286,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5180,8 +5296,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5215,8 +5331,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5300,8 +5416,8 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5316,12 +5432,12 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5330,33 +5446,33 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} + /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.20.12): + resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.20.12) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.20.12) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.20.12) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5365,8 +5481,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5375,60 +5491,59 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.20.12): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.20.12): + resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 + '@babel/template': 7.22.15 dev: true - /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5437,19 +5552,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5458,8 +5573,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5469,19 +5584,19 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5491,41 +5606,42 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} + /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.20.12): + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-function-name': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5535,8 +5651,8 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5545,8 +5661,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5556,8 +5672,8 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5566,50 +5682,50 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -5620,12 +5736,12 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5634,8 +5750,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5645,8 +5761,8 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5656,33 +5772,33 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 + '@babel/compat-data': 7.23.5 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5692,8 +5808,8 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5704,8 +5820,8 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.12.9): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.12.9): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5714,8 +5830,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5724,32 +5840,32 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5758,8 +5874,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5775,25 +5891,25 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.20.12): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/types': 7.22.10 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) + '@babel/types': 7.23.6 dev: true - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5803,8 +5919,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5814,8 +5930,8 @@ packages: regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5824,8 +5940,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5834,8 +5950,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5845,8 +5961,8 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5855,8 +5971,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5865,8 +5981,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5875,21 +5991,21 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.20.12): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5898,60 +6014,61 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.22.10(@babel/core@7.20.12): - resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} + /@babel/preset-env@7.23.8(@babel/core@7.20.12): + resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 + '@babel/compat-data': 7.23.5 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.20.12) '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.20.12) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.12) '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.20.12) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.20.12) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) @@ -5963,75 +6080,74 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.20.12) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.20.12) '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.20.12) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.20.12) - '@babel/types': 7.22.10 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.20.12) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.20.12) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.20.12) - core-js-compat: 3.32.0 + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.20.12) + babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.20.12) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.20.12) + core-js-compat: 3.35.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-flow@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} + /@babel/preset-flow@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.20.12) dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.20.12): @@ -6041,41 +6157,41 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 esutils: 2.0.3 dev: true - /@babel/preset-react@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} + /@babel/preset-react@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.20.12) dev: true - /@babel/preset-typescript@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + /@babel/preset-typescript@7.23.3(@babel/core@7.20.12): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.20.12) dev: true - /@babel/register@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} + /@babel/register@7.23.7(@babel/core@7.20.12): + resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6092,49 +6208,45 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.22.10: - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} + /@babel/runtime@7.23.8: + resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@balena/dockerignore@1.0.2: - resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} - dev: true - /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true @@ -6142,8 +6254,8 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - /@bufbuild/protobuf@1.3.0: - resolution: {integrity: sha512-G372ods0pLt46yxVRsnP/e2btVPuuzArcMPFpIDeIwiGPuuglEs9y75iG0HMvZgncsj5TvbYRWqbVyOe3PLCWQ==} + /@bufbuild/protobuf@1.7.0: + resolution: {integrity: sha512-jIsRadRsyxf6ERBU1auY2c1k3doFdqh15F4HRZs4BELVuBtpN+3ipkXqcsWE+rD+EQNigeR29SfQ+ES6UX/jGg==} dev: false /@cnakazawa/watch@1.0.4: @@ -6188,7 +6300,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@emotion/cache': 10.0.29 '@emotion/css': 10.0.27 '@emotion/serialize': 0.11.16 @@ -6237,14 +6349,14 @@ packages: csstype: 2.6.21 dev: true - /@emotion/serialize@1.1.2: - resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + /@emotion/serialize@1.1.3: + resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/unitless': 0.8.1 '@emotion/utils': 1.2.1 - csstype: 3.1.2 + csstype: 3.1.3 dev: true /@emotion/sheet@0.9.4: @@ -6258,7 +6370,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/is-prop-valid': 0.8.8 '@emotion/serialize': 0.11.16 @@ -6314,8 +6426,17 @@ packages: jsdoc-type-pratt-parser: 2.2.5 dev: false - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -6323,8 +6444,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -6332,8 +6453,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -6341,8 +6462,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -6350,8 +6471,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -6359,8 +6480,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -6368,8 +6489,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -6377,8 +6498,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -6386,8 +6507,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -6395,8 +6516,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -6413,8 +6534,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -6422,8 +6543,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -6431,8 +6552,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -6440,8 +6561,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -6449,8 +6570,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -6458,8 +6579,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -6467,8 +6588,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -6476,8 +6597,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -6485,8 +6606,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -6494,8 +6615,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -6503,8 +6624,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -6512,8 +6633,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -6521,14 +6642,14 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.46.0 - eslint-visitor-keys: 3.4.2 + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 dev: true /@eslint-community/eslint-utils@4.4.0(eslint@8.7.0): @@ -6538,10 +6659,10 @@ packages: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.7.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@0.1.3: @@ -6569,7 +6690,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 7.3.1 - globals: 13.20.0 + globals: 13.24.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.13.1 @@ -6586,8 +6707,8 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6595,15 +6716,15 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/eslintrc@2.1.1: - resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6619,8 +6740,8 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6629,8 +6750,8 @@ packages: - supports-color dev: true - /@eslint/js@8.46.0: - resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -6652,108 +6773,116 @@ packages: ipaddr.js: 2.1.0 dev: false - /@floating-ui/core@1.4.1: - resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} + /@floating-ui/core@1.5.3: + resolution: {integrity: sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==} + dependencies: + '@floating-ui/utils': 0.2.1 + dev: false + + /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.5.4): + resolution: {integrity: sha512-8PHJLbD6VhBh+LJ1uty/Bz30qs02NXCE5u8WpOhSewlYXUWl03GNXknr9AS2yaAWJEQaY27x7eByJs44gODBcw==} + peerDependencies: + '@floating-ui/dom': '>=1.5.4' dependencies: - '@floating-ui/utils': 0.1.1 + '@floating-ui/dom': 1.5.4 dev: false - /@floating-ui/dom@1.5.1: - resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} + /@floating-ui/dom@1.5.4: + resolution: {integrity: sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==} dependencies: - '@floating-ui/core': 1.4.1 - '@floating-ui/utils': 0.1.1 + '@floating-ui/core': 1.5.3 + '@floating-ui/utils': 0.2.1 dev: false - /@floating-ui/utils@0.1.1: - resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false - /@fluentui/date-time-utilities@8.5.13: - resolution: {integrity: sha512-X3clbPKh0URkDj21QoARw6SNec7dWg7Gt7SkTlkVYFzmZUdC4ZIrYk3n36xKe3U1wcGp26EVmKjhAhB262ugpw==} + /@fluentui/date-time-utilities@8.5.16: + resolution: {integrity: sha512-l+mLfJ2VhdHjBpELLLPDaWgT7GMLynm2aqR7SttbEb6Jh7hc/7ck1MWm93RTb3gYVHYai8SENqimNcvIxHt/zg==} dependencies: - '@fluentui/set-version': 8.2.11 + '@fluentui/set-version': 8.2.14 tslib: 2.3.1 dev: false - /@fluentui/dom-utilities@2.2.11: - resolution: {integrity: sha512-2tXfg7/9PXu9nfU72/P3o3waHEFEQtHUfQbVexUaYqNNAxMj6sOfsqpUx4vd5nPgO+grSWrl+spqlLN2yej51w==} + /@fluentui/dom-utilities@2.2.14: + resolution: {integrity: sha512-+4DVm5sNfJh+l8fM+7ylpOkGNZkNr4X1z1uKQPzRJ1PRhlnvc6vLpWNNicGwpjTbgufSrVtGKXwP5sf++r81lg==} dependencies: - '@fluentui/set-version': 8.2.11 + '@fluentui/set-version': 8.2.14 tslib: 2.3.1 dev: false - /@fluentui/font-icons-mdl2@8.5.23(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-jZjUtfQm9/84jX34zhwwsoZME86xXXgKAgBYuMvRStKzXGdZcd7YSOlmuT8lbISmtFL/SWwUGOEal1nLCUNeNA==} + /@fluentui/font-icons-mdl2@8.5.31(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-jioHZ9XUfR9vUT5XnxdCrJ+hoC9TpYim+4YdtlUE/euI8kdW1tDZ5zqlSNk1GLDR34n03R09yWj5gVDCcMJbyQ==} dependencies: - '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.14 + '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) tslib: 2.3.1 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/foundation-legacy@8.2.43(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-rXr71KxNcWDH2LmTsFZbP75p8HssLlVLaFAqEdLE+sKf/LNKmqkDVTNhDbHZxzxy0QnguI4aNHcyGhMZUH3MPA==} + /@fluentui/foundation-legacy@8.2.51(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-z/jrp1imV66/D2MGpN/55LGk/Istymk5tN+XUFHDENDi+9zyb2MgSxFshp774DJIrg3vVlyuS8oo+dBuTM3UbQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.15 + '@fluentui/set-version': 8.2.14 + '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/keyboard-key@0.4.11: - resolution: {integrity: sha512-TVB/EloWado9AVp1niChgcdDOQAHGP5B30Dinmtfe7zi8OnstwPoxwFP6dHJDdpLQ6ZEUTaEHViSzvewl7Chag==} + /@fluentui/keyboard-key@0.4.14: + resolution: {integrity: sha512-XzZHcyFEM20H23h3i15UpkHi2AhRBriXPGAHq0Jm98TKFppXehedjjEFuUsh+CyU5JKBhDalWp8TAQ1ArpNzow==} dependencies: tslib: 2.3.1 dev: false - /@fluentui/keyboard-keys@9.0.3: - resolution: {integrity: sha512-40KBVJ9HzsvmPL3rwYaAvxCacNS0xnTmOt6TLxxrAVgVrZ1X7DLgd8OGFZcWROs0dhHdCk2D51bl4nK8Q1r3mQ==} + /@fluentui/keyboard-keys@9.0.7: + resolution: {integrity: sha512-vaQ+lOveQTdoXJYqDQXWb30udSfTVcIuKk1rV0X0eGAgcHeSDeP1HxMy+OgHOQZH3OiBH4ZYeWxb+tmfiDiygQ==} dependencies: - '@swc/helpers': 0.4.14 + '@swc/helpers': 0.5.3 dev: false - /@fluentui/merge-styles@8.5.12: - resolution: {integrity: sha512-ZnUo0YuMP7AYi68dkknFqVxopIAgbrUnqR/MZlemmRvBYyy1SMj1WQeHcoiLFA8mF8YKn7B+jxQgJbN2bfcrRw==} + /@fluentui/merge-styles@8.5.15: + resolution: {integrity: sha512-4CdKwo4k1Un2QLulpSVIz/KMgLNBMgin4NPyapmKDMVuO1OOxJUqfocubRGNO5x9mKgAMMYwBKGO9i0uxMMpJw==} dependencies: - '@fluentui/set-version': 8.2.11 + '@fluentui/set-version': 8.2.14 tslib: 2.3.1 dev: false - /@fluentui/priority-overflow@9.1.2: - resolution: {integrity: sha512-h3gzN8e0H9T3QKnOsWOUXkjvNay+3GHpy3z7+boFJSpBaJSpFgOHZVS+4HQYodJkZIgQstutWRHtEhc4mxDHAw==} + /@fluentui/priority-overflow@9.1.11: + resolution: {integrity: sha512-sdrpavvKX2kepQ1d6IaI3ObLq5SAQBPRHPGx2+wiMWL7cEx9vGGM0fmeicl3soqqmM5uwCmWnZk9QZv9XOY98w==} dependencies: - '@swc/helpers': 0.4.14 + '@swc/helpers': 0.5.3 dev: false - /@fluentui/react-accordion@9.3.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-8z235o4qxfwg2ed5Z+wdeGJf8gvMkE4Sbfl3UWQHwphXsvhFStQUAYF1xj74btXcVNZwFeVjUdNpPkHWZHbpaQ==} + /@fluentui/react-accordion@9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-5FkwvwdVyN9TcA9MeWu/673dCOTVQkwZhzGaentJFe1fMEK1cTCLKtqmYtzqjzm47xMiiVdxtDhN5Z/PU9GbtQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6769,15 +6898,15 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.225(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6786,44 +6915,46 @@ packages: - scheduler dev: false - /@fluentui/react-aria@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-D9Bfql9AL5ehNvjYDrNW6vUccGvGI3CYV1dO814OO77mZ0BAe6rsDzk0pT46i2rFKt083qPcq5zw8K9kd7cQfw==} + /@fluentui/react-aria@9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-fnnwGXpS/8oh8O4vpQjh5R1rg0dT9mTk85pSdA9F7kz4KOoLW5byREHvXTsYgpiibBhXzipFxLunx5vDzC/g6w==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-avatar@9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-LY6jx+AHucluYmNT/4O9soeixKjkwHq26oivoCE4kP1DcZbshqvV7QHOIvWNhwntaxqEgYZV4uDw9Ubsl5O+EQ==} + /@fluentui/react-avatar@9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-D2NS5+cuWFcvFKyXnG++bKnwxmfYtV7LNL3Sh0adTF4MCGixhmrTlD6aprI5FVQnddexAWK0/Hc1asNDafm9VQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-tooltip': 9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-tooltip': 9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6831,90 +6962,90 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-badge@9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-oiSG7rsnKx/Qzog5s+CVai73dKc0xGp/0DjFlEy5hoUkpzyrKy2tYFqyG9tSn9knB6e2YWb6cgBft3zcGVn1IA==} + /@fluentui/react-badge@9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-0Fld2A7mCd3l7vKUoU0sm4EqGSkJN8GzduXwxKpl9DV+FWlMLO7K+9hU3o5MzYwHZzrkdHNGX4TwFM7+7pUN3g==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-button@9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-8wcXJYBRU/PZn9xAHacANwAqwGpKWT0z2LPbVvCx/hP3obxJyGx4DX1w4nXGTc6PxOJuASRyjc3BjRKUnAyFog==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-button@9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-HOehSai3c4J1Y1KLjaP5FSzsSBeVKqI1stW2cpYkzBoxJZXHWbLAW8K9O7pvK/WJft1JfANgh0rgsfMk74jfvA==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-card@9.0.26(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-2kvdxJDPfYGexkuJ2T/tevQIKBIEEciyUpdAHW20JBLnfKN9Pu6gCTLaXi7E8vhlYpAZ6K8QS9mFUvuc8tXU4Q==} + /@fluentui/react-card@9.0.65(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-YLRBQd3Bx5A6sXyc45Ut3Zmm752tjmETKFnB4GweHI13YRUxUpM4IpzSOpP0wwys31FwgBGZl7iOLOg/I6NwIw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-checkbox@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-0uYqEI8sFZZ6DjYtVXUSL6+hDCU67zeHC7R6X/1YuEt1VTAeTrFLbvbjLmxvbMxKJ4bTsxyHwWlwFzTizSTWRw==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-checkbox@9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-SNLAY+3595Zg0nRa07dRxbmYN0NUIRnawqs+8Z6K1zWxQZdSdjzf2NGwCw+qAX+hBhkjRBXNiMSRezVJYAFg+g==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6923,27 +7054,28 @@ packages: - scheduler dev: false - /@fluentui/react-combobox@9.5.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-beTh2hWrA1RlYS+qk/fjopX25MiMJJaC2m02EsDm3Ji0+59rtZA7Q/cSzD+DhtiYLbfYX0FRG+DNLJZcmWcqmQ==} + /@fluentui/react-combobox@9.7.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-mds3Bba2IbzgJFmJfDxjtjCoIGSGDOeBcOtD7sBycl3kECGLq4oKoSdihCn95+YvYa+iNF78HO/cBIsj+Ehkdw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6960,53 +7092,53 @@ packages: react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-accordion': 9.3.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-accordion': 9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) '@fluentui/react-alert': 9.0.0-beta.63(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-card': 9.0.26(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-combobox': 9.5.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-dialog': 9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-divider': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-card': 9.0.65(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-combobox': 9.7.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-dialog': 9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-divider': 9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-drawer': 9.0.0-beta.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-image': 9.1.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-image': 9.1.56(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-infobutton': 9.0.0-beta.47(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-input': 9.4.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-link': 9.1.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-menu': 9.12.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-overflow': 9.0.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-persona': 9.2.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-progress': 9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-provider': 9.7.14(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-select': 9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-skeleton': 9.0.13(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-slider': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-spinbutton': 9.2.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-spinner': 9.3.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-switch': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-table': 9.7.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabs': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-text': 9.3.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-textarea': 9.3.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-toast': 9.1.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-toolbar': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tooltip': 9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-input': 9.4.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-link': 9.2.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-menu': 9.12.46(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-overflow': 9.1.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-persona': 9.2.69(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-progress': 9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-provider': 9.13.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-select': 9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-skeleton': 9.0.49(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-slider': 9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-spinbutton': 9.2.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-spinner': 9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-switch': 9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-table': 9.11.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabs': 9.4.7(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-text': 9.4.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-textarea': 9.3.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-toast': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-toolbar': 9.1.67(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tooltip': 9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-tree': 9.0.0-beta.30(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) '@fluentui/react-virtualizer': 9.0.0-alpha.30(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7014,17 +7146,17 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-context-selector@9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-l6YypPlNQRtGkavDJTXqdZbQCpS69L7/1mx8GU5aqzcWYyfUyfP4Y0lPpgXjlm1dvHnz/5k6gprEB0dWkfCpxA==} + /@fluentui/react-context-selector@9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-rSUCW1ja4wp4qcLNFDGd4WjVsFzR1WYW9G5rurqlK5jbQFxsRZ4B88GamnXkUQxlfQxfLjhBLBjui5ZZQCnJQg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7032,48 +7164,49 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-dialog@9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-n/lZSyoUvinOXmwOrMkugNGVuQ3ehJTPj4ZJ4PN87SKkDatHpl5inaYzoUfdRqH0KNlxJEi10uhJThh1mgk6ZQ==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-dialog@9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-YOovjoFpU+PQkYLqpkWShfv14GFoCV8s1tMhI13cuZMTEPNdG7HXnGs0+Ny0y3KU+hRg7uFIPpV3D1yYJaP80Q==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) transitivePeerDependencies: - scheduler dev: false - /@fluentui/react-divider@9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-MHmlmlbtdbd1zwuMrbwIp9ULhGmBW9bVvak/W0RkdJFj7aSsbPZ5kovnHwrnkRU/nZl4WQ+giXOkkEypBVqOig==} + /@fluentui/react-divider@9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-xT0dzJEw3UMGTkNqdNgg+lkPWbAo3FIzRhTPhy1svtOmcZlizRIESzrPnzxOylvikVYriKhMJ6/2CRkShGaMug==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7088,13 +7221,13 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-dialog': 9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-dialog': 9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7103,22 +7236,22 @@ packages: - scheduler dev: false - /@fluentui/react-field@9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-0a5Q/caBuHnmxXt5NmpiJC0lop0qYbzAPe5UD1WBOfhfMRWGYS3wkXwkykybIzSx5xrQ8SkWDsTEJFKzhHyiUQ==} + /@fluentui/react-field@9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-Q7UxdEUGQ07qf1RntXVuS3S7qa8M/evRpia2I5td3ds96XB6V6WRGaMJqt5WILmcdEZcdDecVbURb0qCRekrng==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7127,60 +7260,60 @@ packages: - scheduler dev: false - /@fluentui/react-focus@8.8.30(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-dKQQtNTZbQOE+u/Tmh7AbtJPSpzQNI0L8o55a22y4U7s33rizUd++CIiToXsB+bPvlotcmpZswZQ8V06zM4KIw==} + /@fluentui/react-focus@8.8.39(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-7PnI+3e37jxt0PlWykNfbCbPdnKroJY+olOxZDHkXfI/ANr8lm4YuyLAYNAtyapfnkf+FBoO6vxU51P8hNk7tQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-key': 0.4.11 - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/keyboard-key': 0.4.14 + '@fluentui/merge-styles': 8.5.15 + '@fluentui/set-version': 8.2.14 + '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-hooks@8.6.29(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-MeVevmGJtrYxdhoarrkVWE0Hs4XdzOc9A3tiOjMBIcwOvoOYOAoOELoHK/wuulPVwUn2R9Y+7JpJ6oCe4ImdJw==} + /@fluentui/react-hooks@8.6.36(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-kI0Z4Q4xHUs4SOmmI5n5OH5fPckqMSCovTRpiuxzCO2TNzLmfC861+nqf4Ygw/ChqNm2gWNZZfUADfnNAEsq+Q==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-window-provider': 2.2.15(@types/react@17.0.74)(react@17.0.2) - '@fluentui/set-version': 8.2.11 - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-window-provider': 2.2.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.14 + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-icons@2.0.209(react@17.0.2): - resolution: {integrity: sha512-9xMFMZBai0cPd9qaipDZxAZlMyt/WxD/sJnq5OT2HaitWPf5A37e423vjLaPyNaghtgiPDdfKlC5eRRx1MfoDw==} + /@fluentui/react-icons@2.0.225(react@17.0.2): + resolution: {integrity: sha512-L9phN3bAMlZCa5+/ObGjIO+5GI8M50ym766sraSq92jaJwgAXrCJDLWuDGWZRGrC63DcagtR2culptj3q7gMMg==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/react': 1.5.14(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-image@9.1.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-F1cK42RgN0iK6uQxrErm8NS/9NdT+nUN/+eLDJSZD0zstR4xAcQQ5PAOGrttpxQaZPyh1NO7mb9oLlcBVptSDw==} + /@fluentui/react-image@9.1.56(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-yeD08kQR4MJgjETfqaFKQLhtaCxUv3tuU1EluU6kGhfPxDJ+XzbHvpzXv4PJToyF5MpkBVfycK+ignh9zbJpHg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7189,21 +7322,22 @@ packages: /@fluentui/react-infobutton@9.0.0-beta.47(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): resolution: {integrity: sha512-aK/DLZO6/pzvGIbqJLCHIR5ram01Dpuai+C4M77bxKYO+t6iWb1JNZhfgXmDZRuPxhfEWA2J0pwQmHiVK1Bd9g==} + deprecated: '@fluentui/react-infobutton has been deprecated, please use @fluentui/react-infolabel instead.' peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-icons': 2.0.225(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7212,21 +7346,21 @@ packages: - scheduler dev: false - /@fluentui/react-input@9.4.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-TCMQZGOLwk219239eOxEvVYMPAztmAg+BqNKhZA6wtqtBt5jcXPCTCdRZn5ZRaSREfze3TYOkqIoXowV/gTO1w==} + /@fluentui/react-input@9.4.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-mjXEx/CMfKcOjqhqDe5imvV1ikVsxpj0ZZa6HUWZetXvYarP1jvVBeC2YViLJV/14o/IFFkBwfyDqFOBB7dXyQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7241,76 +7375,89 @@ packages: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 react: 17.0.2 dev: false - /@fluentui/react-label@9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-NCYcVqJLlKN2DP3nsquitg7e5ycRMG20hqbmDOCOelyRfjjX83BtHteeZv5GYbZXp4ERdWvAb2FwQwtSW9G1Xw==} + /@fluentui/react-jsx-runtime@9.0.28(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-0BpDtSglE/o492jfR/EgW2cjCQRqWx7pzpmFqzTtlHp0rgi23WfjuKwMV9O2d4wfHkRxhAmn7/j5zIH/IAKhew==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.5.3 + '@types/react': 17.0.74 + react: 17.0.2 + react-is: 17.0.2 + dev: false + + /@fluentui/react-label@9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-3Rsle1wvuwb7PRrSIezpPfqBpO5ZLXSOFWUxKijEBh05++4LH2nSjIoVxuThlLesGT2oo144DGkh3JH5CVuCFQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-link@9.1.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-n5aafZlphaTDxp0786xJOQi5OEls8w9ncdsi7QrFx+d7wdTtb8GQDsLZ4V3y7jR4CDZJxN4IfMnxJB6eQmm5GA==} + /@fluentui/react-link@9.2.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-pOlgUlPLXmmiCT12E/qNnKIR4ppKAq8pjEscWifON/2fcbtS2faX1YWmKK1Xs/L73iIMKTLk1ow0pFso6PbujQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-menu@9.12.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-UcC7d0+ZfIEfUsPkWTyQ3wXF6z+hUe73y+QReD3nlvf9SL/JHKA0r+41OZxStqSZA7lITP/Tju3YSmXTuIoK6Q==} + /@fluentui/react-menu@9.12.46(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-kn67z1tCONXR1nfxzIuG59q+GLm2HCeu39gW9+FhrikvBS8ue/Mq2xQgdrlrc192kCATcd0iA09m1X+DgyQQMA==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7318,21 +7465,21 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-overflow@9.0.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-Q/EctUJ9cqWBq8H9KYFFOjC0mHajiC/EmcyxcoFPkY8XGVGbD87aCz1Hx7cDv7nCDw+/zSCaMBWO7WvQ8AIL9Q==} + /@fluentui/react-overflow@9.1.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-MQWvslL/KQRx0LCdYU8Ewq4mqxcYs+6IyuRen+e2Q4IiylOTP4QOszTo7HS3PZYcLA2vaMa7FSecNeY86Ti60w==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/priority-overflow': 9.1.2 - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/priority-overflow': 9.1.11 + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7340,22 +7487,22 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-persona@9.2.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-XpmzTnqBRoJ82cdi11yzwd6ABCc9V1uSCFj7I03hftVUOB0BXH3zDYOcjNfrD5jPDbpzFxXsK4QnzwwaKBOQUQ==} + /@fluentui/react-persona@9.2.69(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-9I3PppRQYGRdmytJVu4kQ/Nx124ke4yNHzMfgTqwnTzKVHzP4LvpHaY0Vb7MVppGetjUct3SdopMfThWiyVnPA==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7364,27 +7511,27 @@ packages: - scheduler dev: false - /@fluentui/react-popover@9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-lvnTMJwuIR8heAxSlqesrWmynK3bYhwxCRXTTsCxkLyVx4WMzWlhDC2f6SljwV7yr7i9BrG02v5TkqjlBE2OFQ==} + /@fluentui/react-popover@9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-82NU4pE0uU3cBIFogFsXtJ8VH6izq7yizOKA0CUxnuxxlm8xwX5QgWHtBccARhuNm979jcHJcGwmVW2Yj2TB/A==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7392,72 +7539,73 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-portal-compat-context@9.0.6(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-HUt0/YXKRB4chtzlGbZ+7y7FHFyqaI0CeMFAe/QBXVOiOwA01QOr2j4Uky+30vupspIt6mjodLanuw1jMybmqQ==} + /@fluentui/react-portal-compat-context@9.0.11(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-ubvW/ej0O+Pago9GH3mPaxzUgsNnBoqvghNamWjyKvZIViyaXUG6+sgcAl721R+qGAFac+A20akI5qDJz/xtdg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' dependencies: - '@swc/helpers': 0.4.14 + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 react: 17.0.2 dev: false - /@fluentui/react-portal@9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-BEflpuJne2RildQY2e5HrjBtMpcmsg+FKGQdkcq2Hav0CL2B++B6Wnbw+r8Zax2Hw97KuoIDQ+aJ0iQMJkYROQ==} + /@fluentui/react-portal@9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-9p2zwKDCW1V7MiAfV0/fPFSAizyiQzli5C7gTenrHCnIoAQGRjSBkWkJtlmtBSBeH+3pQuqFOGOodef0qKx7QA==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - use-disposable: 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + use-disposable: 1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) dev: false - /@fluentui/react-positioning@9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-s5syo2kaM6eKdmRH0I9IhklOy2I6gQKZ/Vy2KnDJHBu0Wz/jQmgswFden+lnF3JOsTOj86V6O4TkI3FGFr5NZw==} + /@fluentui/react-positioning@9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-P01pyDxcthHeOlKv4CGlS/ll9qE/er5dGohq9/wN/FBnbb7F3c5+UYQPJwLfJXMO5fIsnH6RmfXndqRa8cKlqA==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@floating-ui/dom': 1.5.1 - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.5.4) + '@floating-ui/dom': 1.5.4 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-progress@9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-RicajpUXy1vYPn6uHh3+JCV1KLCvKXof1hTeRRjbZHKyjVUBXjSpNTqQ5Zzh0LvHobu2AyT7Fked6/4pFmQfHA==} + /@fluentui/react-progress@9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-dCnA9Lq1j2Yr7dhHPWBaRnaRGTEHPqQ8M7kNi0UMpp77V9d5LxPa4yg0JxE1hZ+ehL3k0p+NNiNG2+445GZH+Q==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7466,47 +7614,47 @@ packages: - scheduler dev: false - /@fluentui/react-provider@9.7.14(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-F7uWn5TM4NA/UkXMaDRfXnRKnHfVuHG9nM9BQj8ht/R8odcJsfgtI0yIiQkZO9oBreJcokjOkbAXwETGq2Rwhg==} + /@fluentui/react-provider@9.13.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-3ctGun9WGeeSwP/GkJjJXzNxSX9zi4IlZC9b6FTagmRYOvaeskFiCQIcJmJuBYTxSKAcYKLm4M0RvrOjEt/wbg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/core': 1.14.1 - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/core': 1.15.2 + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-radio@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-YoXzseySLhwcWD1gj0bXf3TvmtYigYh6txm3eeciZQ4LD+ecek4lMA3u/r3xP2sYgbqSuIKXUc+ubyzpXHoMMg==} + /@fluentui/react-radio@9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-E+EwdRol4hniqTfuWqe7iqECCrEF8McKotr1gjkSRYOofqUxvwlZmX7rwAwITqauhNVb1ADD1QNkN5jClc2sIg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7514,22 +7662,22 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-select@9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-VPczz/vMtQLDagjNWm7aSLFhN+Y+qrVNRwmpaV7LuvsqFwjUorZvH9aBEO8ldhCD0m7i/2UkLFlWH8kjbyTQSg==} + /@fluentui/react-select@9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-QRwzno9suuYthFLHdzb63/bLrA6w/EATbJTUKSVYPVrbQUzSjpm+NHyCf3PWXSU57+Yxujq5r1jBGua9VougrQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7538,33 +7686,33 @@ packages: - scheduler dev: false - /@fluentui/react-shared-contexts@9.7.1(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-9WuIKRYM2sM6Qb/xq4fxorWWLdypjZQoeFPfaiCnVUHh+RA/cRxeDGeGTcDzjxXLlJZHgK8ARym+KN2ASrQkJw==} + /@fluentui/react-shared-contexts@9.14.0(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-P9yhg31WYfB1W66/gD3+qVCLBsyIEcOzQvKVaIQvd9UhF67lNW4kMXUB6YVOk5PV0Og4hXnkH/vuHl7YMD9RHw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-theme': 9.1.10 - '@swc/helpers': 0.4.14 + '@fluentui/react-theme': 9.1.16 + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 react: 17.0.2 dev: false - /@fluentui/react-skeleton@9.0.13(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-CQwva2vcMHHzqBMavQ3Qt35LDFoojs2zTkSkhZVo8MfuSOm8VHKNPPLhB11m0OEonRb7Rsdts1HHGZdSzUg3FA==} + /@fluentui/react-skeleton@9.0.49(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-lttnYbCda9uVb8L5KqPmvjc8k3uhfyBIpTOSfFUGkl8i+DgrGfNEmfGM38/voUyJoQILUgotfY9nig+Q2IOTxw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7573,22 +7721,22 @@ packages: - scheduler dev: false - /@fluentui/react-slider@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-b2WqMwCtqwEz1uP2Y/FviBRuw8lGxMnNt6z12+jvNp+udJ4H8eQZpGTzGSGn3dfnOfNoLSvB+dzgSa4ZKiZHVg==} + /@fluentui/react-slider@9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-gYUFU3HAqR735sUMcGOcyLaJ6iLgmoN4ZPN1G6bqQETiesyN34QpC4HqmW8i7TEerMjv2crUb/CjsvIOZfzdPw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7597,23 +7745,23 @@ packages: - scheduler dev: false - /@fluentui/react-spinbutton@9.2.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-0qadqh2A+0TaujKSGlLN78yDJNyq9Drhj4wXDnD/x+Vq+fRe4n9hGyikNPRbJ6sKr2oVmv2BKkcgSD2vydIJJw==} + /@fluentui/react-spinbutton@9.2.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-9+TBgSCvRhX78e/KPuhIvEH1bmAB9Wv6CsYhXmJdMSLdZt8R0Gx5oGvSynxCOLazIx/1/lvGi48AAnqTg0OEpQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7622,45 +7770,45 @@ packages: - scheduler dev: false - /@fluentui/react-spinner@9.3.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-nBFltn4pH5Km5iN1eHp+/se/rcD+rHKrKtQtCmsV3XwWjogSZL8MdH1y3akg7Qx4I/NZsGQ4RhikAuAzJtLu9w==} + /@fluentui/react-spinner@9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-1+MrNFFyN/Ceikan6eAAY2NWIGk3nr2TfY5RcMuG7ZVUb2Q/mYnxrRLEN+m18fqHNVUGC9UaejJ4hDuL2rmjjQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-switch@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-LVjX81pTFbr3HhzMdV7d9YcKS8bhsAPcZ40Div5URAx7tneAEhqzDHxgxJ6/Wxm/7kfBPSGE/xNFWJEKw/X96Q==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-switch@9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-owrQy4hhTxcRQCG/9TPPWwu2cVET0FOHKQdnQzsCfbK6BoXJmFHg6tCYBeqJ1ZLKLN6VxWrSn8CUB2n1Zr8N8Q==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7669,28 +7817,28 @@ packages: - scheduler dev: false - /@fluentui/react-table@9.7.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-s6j/p1jSzhWM975VDOmzfoZzOfIS24nV6HenJrpAr8PwVH54+45rkA7WXBCx8DIBB7sgY18JBE5nwzUgiJ7XdQ==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-table@9.11.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-fJnQxzvQt39bBVnXHKWgzwitu6ON5mR5u0H+QTmHToysv2asE2nGqZqwCtFZ6NtBHTsOIUqsZdd4ex+VXBz44w==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7699,23 +7847,23 @@ packages: - scheduler dev: false - /@fluentui/react-tabs@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-X4lq1bh+vVlg3U4dtWdCvLpkNmCQ5E6c0J2+cmSPDAxisLeuOC7RtrwBcxdS+gHz5TZtvDq6SEv6UhrYeUAPcg==} + /@fluentui/react-tabs@9.4.7(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-BZBamJCRF0eOw/lCFI1aH+FEsISBvR5g+Ck1f9m4OQf4/SxK1jsubCith/dlGVFfM5WiCwH5BSeAaKVtr8mO9A==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7723,62 +7871,62 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-tabster@9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-dKIJh9+nFCRt0+gSimCVwxHkdBxid2MKQ6DPtyLvVJRYiBxSNG9EJYuNCHtE9873HO06zS4GrD4KmKEQPfwP5A==} + /@fluentui/react-tabster@9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-VtRa1aWUJHKtzl9OYupohCgErioOimtSHpFNlBPQdpMvRqvLuDFMikYmvFFPxUwDpcQx3MIGc9T5++kC1uVNeQ==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 - keyborg: 2.0.0 + keyborg: 2.4.1 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - tabster: 4.7.2 + tabster: 5.2.1 dev: false - /@fluentui/react-text@9.3.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-0tfkK/Kdqb1ILAVcHJ2elkouNWYufxdKgE7jaA+fxmt2kwiKxTc/kbB1LHmyIuZCErJmX7U8ymig0WjlG+L/cw==} + /@fluentui/react-text@9.4.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-81Z8Zvr8hW+X13gzh7m0AjKpg7La3ktIMLNyal24HO6e5kdSabptE78oXR/zlcp09EJie5/OuuBmXrjwxqvPFA==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-textarea@9.3.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-z5ZgQMW3qwpKY1XgLiYQhynpSGkxPEMkpFsFmMqkhA5eFCB4wGKhD4BFHXm3mLK8PFZUwkpiJSzB2wNiTlsAZg==} + /@fluentui/react-textarea@9.3.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-5TVxGnHheB5GtEzSBQQuw88hUrVOHaUuqX0Ww7WPllQ8cfudsMPZLIjcAwqXjS0FLgBIFShDR0vr1semau7/2A==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7787,32 +7935,32 @@ packages: - scheduler dev: false - /@fluentui/react-theme@9.1.10: - resolution: {integrity: sha512-E6W5LB9wg7aJSzDM87FyYBOOADCSh554W81msLRTXwLzuKHPtLannyyYXKO0tP2ZJfiySQ2LWNzHnIqV8fUuxQ==} + /@fluentui/react-theme@9.1.16: + resolution: {integrity: sha512-QK2dGE5aQXN1UGdiEmGKpYGP3tHXIchLvFf8DEEOWnF4XBc9SiEPNFYkvLMJjHxZmDz4D670rsOPe0r5jFDEKQ==} dependencies: - '@fluentui/tokens': 1.0.0-alpha.7 - '@swc/helpers': 0.4.14 + '@fluentui/tokens': 1.0.0-alpha.13 + '@swc/helpers': 0.5.3 dev: false - /@fluentui/react-toast@9.1.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-f4A9qUSVRvrCcmcPyOvPoKGdk4bjMo+sIZe3Z63AuNs4c9wr4Zj5B58B5qMdUaMEWHcwQdaWUVGR/zmyooG1Bw==} + /@fluentui/react-toast@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-7uyY+1edAsX7h7IT1tFSJbzXOf/Pi5202o7r4uhDJeMHXOdYjqZgBkRsumdYuaOgyx7A4NyI6xUrkRAGEkK8yw==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.209(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7820,25 +7968,25 @@ packages: react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) dev: false - /@fluentui/react-toolbar@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-VWCznC2nURa7XRMYKakIq1i1KU2WNT2Z1inaT3ZeB+4Ia6LONLyjomt067wytEwlIPjHvuxf+7dZ54wOGwisWA==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-divider': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-toolbar@9.1.67(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-5dozwUEmzdIdWOFljV6rMuqwvWaWca9/NNJ8/em6rIqt+fuK60eZ6LLMJr/6nVqDZfDuFscDsyfj2fcuYioNoQ==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-divider': 9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7847,23 +7995,24 @@ packages: - scheduler dev: false - /@fluentui/react-tooltip@9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-/IWEKWtASRguOrYWCPvI0IaDmVMve6jaWrdUz4xF9ZMvCp6bD5HJFWHSy0Yg55n/7LOY4952lwJTYeziN5xZiQ==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + /@fluentui/react-tooltip@9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-9BScDBhQV2a3DW8RBALglAoGmV4KV2ajotCAZozK6amXpxzcY4x5ht9Lakd8nAcR2ADpqNhw3Zrx+2+jMYzdAw==} + peerDependencies: + '@types/react': '>=16.14.0 <19.0.0' + '@types/react-dom': '>=16.9.0 <19.0.0' + react: '>=16.14.0 <19.0.0' + react-dom: '>=16.14.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7878,22 +8027,22 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.225(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.10 - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.16 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7902,14 +8051,15 @@ packages: - scheduler dev: false - /@fluentui/react-utilities@9.11.0(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-+lK8OU7jX5QFNfvMPwekQk9NPStETi3rHknb7S9oSEhXAnKFvH7L8Jp9LD+/CCeKrbkoGUX4t8AyDgBhtgx40g==} + /@fluentui/react-utilities@9.17.0(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-ZP6+Hcsvi6XXSU8m67lC0AVg5aXTSbKRGmZEXh0LbJNkc8QxO7VuoVvlP3VozUvM6FuT42pqRYpOmBQLedBmeg==} peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' + '@types/react': '>=16.14.0 <19.0.0' + react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.3 - '@swc/helpers': 0.4.14 + '@fluentui/keyboard-keys': 9.0.7 + '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.5.3 '@types/react': 17.0.74 react: 17.0.2 dev: false @@ -7923,47 +8073,47 @@ packages: react-dom: '>=16.8.0 <19.0.0' dependencies: '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.14(react@17.0.2) - '@swc/helpers': 0.4.14 + '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.20(react@17.0.2) + '@swc/helpers': 0.4.36 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-window-provider@2.2.15(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-RraWvRe7wakpPJRBX2tlCV/cybOKiqLJ1UBLPNf5xq7ZIs0T0g/hh3G3Zb5teOeipjuRnl6srkdDUT9Dy9wrBg==} + /@fluentui/react-window-provider@2.2.18(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-nBKqxd0P8NmIR0qzFvka1urE2LVbUm6cse1I1T7TcOVNYa5jDf5BrO06+JRZfwbn00IJqOnIVoP0qONqceypWQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/set-version': 8.2.11 + '@fluentui/set-version': 8.2.14 '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react@8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-SQOUhatXtDlbfyX7Ip2aYWjUBHiCZGPk5SVnb+/jv9IhxKLcMXaxA8faps/bp2h/VlS5Fjk6RkbvQM/qoEjlvg==} + /@fluentui/react@8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-ffDEOTmP60Rwpf9Lyw7jUXDZSGWqQsR2DPhmDlBzgrOLoNgr/0QP+EZb2lOiUl62k6VQl0NO3YeNFSptIvYM2A==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/date-time-utilities': 8.5.13 - '@fluentui/font-icons-mdl2': 8.5.23(@types/react@17.0.74)(react@17.0.2) - '@fluentui/foundation-legacy': 8.2.43(@types/react@17.0.74)(react@17.0.2) - '@fluentui/merge-styles': 8.5.12 - '@fluentui/react-focus': 8.8.30(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-hooks': 8.6.29(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal-compat-context': 9.0.6(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-window-provider': 2.2.15(@types/react@17.0.74)(react@17.0.2) - '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) - '@fluentui/theme': 2.6.34(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/date-time-utilities': 8.5.16 + '@fluentui/font-icons-mdl2': 8.5.31(@types/react@17.0.74)(react@17.0.2) + '@fluentui/foundation-legacy': 8.2.51(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.15 + '@fluentui/react-focus': 8.8.39(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-hooks': 8.6.36(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal-compat-context': 9.0.11(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-window-provider': 2.2.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.14 + '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) + '@fluentui/theme': 2.6.41(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@microsoft/load-themed-styles': 1.10.295 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -7972,19 +8122,19 @@ packages: tslib: 2.3.1 dev: false - /@fluentui/set-version@8.2.11: - resolution: {integrity: sha512-UI03tysau/adBO1a3q4uFZWQ3lfkiFcAWIFng4k5odWcCokfCm5IxA0urKqj5W5JRYdyoBUaq8QbcNGkFB4dCw==} + /@fluentui/set-version@8.2.14: + resolution: {integrity: sha512-f/QWJnSeyfAjGAqq57yjMb6a5ejPlwfzdExPmzFBuEOuupi8hHbV8Yno12XJcTW4I0KXEQGw+PUaM1aOf/j7jw==} dependencies: tslib: 2.3.1 dev: false - /@fluentui/style-utilities@8.9.16(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-8hS5HscCFYvcWjAdk37frPZJZthr7f/cu5db7gjrPy+DEhf13WAZRHsropWm17+8GhJhvKt98BQf/Kzxtt34Eg==} + /@fluentui/style-utilities@8.10.2(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-ocELtMb/85nBa3rSfiAIwYx6TydN+3rQqv1P0H/L7etYNNtxOfS86JSWfn8zAsHMejbwUKJ1ZsIKs47c598XGQ==} dependencies: - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 - '@fluentui/theme': 2.6.34(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.15 + '@fluentui/set-version': 8.2.14 + '@fluentui/theme': 2.6.41(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@microsoft/load-themed-styles': 1.10.295 tslib: 2.3.1 transitivePeerDependencies: @@ -7992,35 +8142,35 @@ packages: - react dev: false - /@fluentui/theme@2.6.34(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-2Ssi3sX2snnbPJ4PmxbpCDCGePRE36tvGj2qKgdKiSh/fPVsg1b+Q50YlpFl9sXmbhl1uFmxjAx6WPsVGTl7vQ==} + /@fluentui/theme@2.6.41(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-h9RguEzqzJ0+59ys5Kkp7JtsjhDUxBLmQunu5rpHp5Mp788OtEjI/n1a9FIcOAL/priPSQwXN7RbuDpeP7+aSw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 - '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.15 + '@fluentui/set-version': 8.2.14 + '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/tokens@1.0.0-alpha.7: - resolution: {integrity: sha512-djgLw4HVx0Jx0GYKQEu65aQ5nY59CkcV850LrLPHOERV+KhuWqoI4CdrvL2fFqrAvqLlfK940MP1mPrvy8NAow==} + /@fluentui/tokens@1.0.0-alpha.13: + resolution: {integrity: sha512-IzYysTTBkAH7tQZxYKpzhxYnTJkvwXhjhTOpmERgnqTFifHTP8/vaQjJAAm7dI/9zlDx1oN+y/I+KzL9bDLHZQ==} dependencies: - '@swc/helpers': 0.4.14 + '@swc/helpers': 0.5.3 dev: false - /@fluentui/utilities@8.13.18(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-/0rX9EzltLKwU1SS14VV7agWoOzruVTU3oagZq1QgFAvoj8qi7fNqvSX/VEeRy+0gmbsCkrEViUPkmC7drKzPg==} + /@fluentui/utilities@8.13.24(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-/jo6hWCzTGCx06l2baAMwsjjBZ/dyMouls53uNaQLUGUUhUwXh/DcDDXMqLRJB3MaH9zvgfvRw61iKmm2s9fIA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/dom-utilities': 2.2.11 - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 + '@fluentui/dom-utilities': 2.2.14 + '@fluentui/merge-styles': 8.5.15 + '@fluentui/set-version': 8.2.14 '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 @@ -8037,7 +8187,7 @@ packages: dependencies: globby: 11.1.0 graphql: 15.8.0 - tslib: 2.6.1 + tslib: 2.6.2 unixify: 1.0.0 dev: true @@ -8059,7 +8209,7 @@ packages: dependencies: '@graphql-tools/utils': 8.9.0(graphql@15.8.0) graphql: 15.8.0 - tslib: 2.6.1 + tslib: 2.6.2 dev: true /@graphql-tools/schema@8.5.1(graphql@15.8.0): @@ -8070,7 +8220,7 @@ packages: '@graphql-tools/merge': 8.3.1(graphql@15.8.0) '@graphql-tools/utils': 8.9.0(graphql@15.8.0) graphql: 15.8.0 - tslib: 2.6.1 + tslib: 2.6.2 value-or-promise: 1.0.11 dev: true @@ -8089,41 +8239,41 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 15.8.0 - tslib: 2.6.1 + tslib: 2.6.2 dev: true - /@griffel/core@1.14.1: - resolution: {integrity: sha512-KQ6yueap1zff9TJrn7MdfSAHDMDVP6Ec97gnpCi4NOeKiyCyT13MwPCmkkK0o/poaV1f9MdHhUTQZCpK0QtxzQ==} + /@griffel/core@1.15.2: + resolution: {integrity: sha512-RlsIXoSS3gaYykUgxFpwKAs/DV9cRUKp3CW1kt3iPAtsDTWn/o+8bT1jvBws/tMM2GBu/Uc0EkaIzUPqD7uA+Q==} dependencies: '@emotion/hash': 0.9.1 - '@griffel/style-types': 1.0.1 - csstype: 3.1.2 + '@griffel/style-types': 1.0.3 + csstype: 3.1.3 rtl-css-js: 1.16.1 - stylis: 4.3.0 + stylis: 4.3.1 tslib: 2.3.1 dev: false - /@griffel/react@1.5.14(react@17.0.2): - resolution: {integrity: sha512-/x6cy6xMtpow1r+Zrw/hMKHwo+imFAgKaZ3A/+M8GyT3L9AFxK1Kyg4JvARPjLBAn9Q2q5dkCr78jOguuVSScg==} + /@griffel/react@1.5.20(react@17.0.2): + resolution: {integrity: sha512-1P2yaPctENFSCwyPIYXBmgpNH68c0lc/jwSzPij1QATHDK1AASKuSeq6hW108I67RKjhRyHCcALshdZ3GcQXSg==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/core': 1.14.1 + '@griffel/core': 1.15.2 react: 17.0.2 tslib: 2.3.1 dev: false - /@griffel/style-types@1.0.1: - resolution: {integrity: sha512-nhVryiNHhoBt5L93tfDYGoE4KtWvhBvY7y1yR1n6WKpRjasgw3GI2pBwiMiVt68bycnyvXIvcJjJTr0QM22VLQ==} + /@griffel/style-types@1.0.3: + resolution: {integrity: sha512-AzbbYV/EobNIBtfMtyu2edFin895gjVxtu1nsRhTETUAIb0/LCZoue3Jd/kFLuPwe95rv5WRUBiQpVwJsrrFcw==} dependencies: - csstype: 3.1.2 + csstype: 3.1.3 dev: false - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.0.8 transitivePeerDependencies: @@ -8159,6 +8309,10 @@ packages: /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -8173,15 +8327,15 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - /@jest/console@29.6.2: - resolution: {integrity: sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==} + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.17.15 chalk: 4.1.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 /@jest/core@29.5.0: @@ -8193,32 +8347,32 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.6.2 + '@jest/console': 29.7.0 '@jest/reporters': 29.5.0 - '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/test-result': 29.7.0(@types/node@18.17.15) '@jest/transform': 29.5.0 '@jest/types': 29.5.0 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 29.5.0 + jest-changed-files: 29.7.0 jest-config: 29.5.0(@types/node@18.17.15) - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-regex-util: 29.4.3 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 jest-resolve: 29.5.0 - jest-resolve-dependencies: 29.6.2 - jest-runner: 29.6.2 - jest-runtime: 29.6.2 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 jest-snapshot: 29.5.0 - jest-util: 29.6.2 - jest-validate: 29.6.2 - jest-watcher: 29.6.2 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -8226,8 +8380,8 @@ packages: - supports-color - ts-node - /@jest/core@29.6.2: - resolution: {integrity: sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==} + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8235,32 +8389,32 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.6.2 - '@jest/reporters': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 29.5.0 - jest-config: 29.6.2(@types/node@18.17.15) - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-resolve-dependencies: 29.6.2 - jest-runner: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 - jest-watcher: 29.6.2 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.17.15) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -8269,49 +8423,49 @@ packages: - ts-node dev: true - /@jest/environment@29.6.2: - resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.15 - jest-mock: 29.6.2 + jest-mock: 29.7.0 - /@jest/expect-utils@29.6.2: - resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 - /@jest/expect@29.6.2: - resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.6.2 - jest-snapshot: 29.6.2 + expect: 29.7.0 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - /@jest/fake-timers@29.6.2: - resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.17.15 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 - /@jest/globals@29.6.2: - resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/types': 29.6.1 - jest-mock: 29.6.2 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color @@ -8325,11 +8479,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 '@types/istanbul-lib-coverage': 2.0.4 '@types/node': 18.17.15 chalk: 4.1.2 @@ -8337,23 +8491,23 @@ packages: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color - /@jest/reporters@29.6.2: - resolution: {integrity: sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==} + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8362,11 +8516,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.22 '@types/istanbul-lib-coverage': 2.0.4 '@types/node': 18.17.15 chalk: 4.1.2 @@ -8374,56 +8528,56 @@ packages: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 29.6.2 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - /@jest/source-map@29.6.0: - resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==} + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 callsites: 3.1.0 graceful-fs: 4.2.11 - /@jest/test-result@29.6.2(@types/node@18.17.15): - resolution: {integrity: sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==} + /@jest/test-result@29.7.0(@types/node@18.17.15): + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.2(@types/node@18.17.15) - jest-haste-map: 29.6.2 - jest-resolve: 29.6.2 + jest-haste-map: 29.7.0 + jest-resolve: 29.7.0 transitivePeerDependencies: - '@types/node' - /@jest/test-sequencer@29.6.2(@types/node@18.17.15): - resolution: {integrity: sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==} + /@jest/test-sequencer@29.7.0(@types/node@18.17.15): + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/test-result': 29.7.0(@types/node@18.17.15) graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 + jest-haste-map: 29.7.0 slash: 3.0.0 transitivePeerDependencies: - '@types/node' @@ -8457,15 +8611,15 @@ packages: dependencies: '@babel/core': 7.20.12 '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -8473,21 +8627,21 @@ packages: transitivePeerDependencies: - supports-color - /@jest/transform@29.6.2: - resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@jest/types': 29.6.1 - '@jridgewell/trace-mapping': 0.3.19 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.22 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -8499,10 +8653,10 @@ packages: resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} engines: {node: '>= 10.14.2'} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 18.17.15 - '@types/yargs': 15.0.15 + '@types/yargs': 15.0.19 chalk: 4.1.2 dev: true @@ -8510,22 +8664,22 @@ packages: resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 18.17.15 - '@types/yargs': 17.0.24 + '@types/yargs': 17.0.32 chalk: 4.1.2 - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 18.17.15 - '@types/yargs': 17.0.24 + '@types/yargs': 17.0.32 chalk: 4.1.2 /@jridgewell/gen-mapping@0.3.3: @@ -8534,7 +8688,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -8548,13 +8702,13 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -8646,7 +8800,7 @@ packages: '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.4 + resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 typescript: 5.3.3 @@ -8658,6 +8812,55 @@ packages: resolution: {integrity: sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==} dev: false + /@microsoft/rush-lib@5.110.2: + resolution: {integrity: sha512-ziDevrCA9Sn6tYpYfIBeJKy/5npTlL+4caXQ2BGrENQ/JPR/zIpSZprOPJxG4b2XTCdljE6CByOvgbjNel7pWQ==} + engines: {node: '>=5.6.0'} + dependencies: + '@pnpm/dependency-path': 2.1.7 + '@pnpm/link-bins': 5.3.25 + '@rushstack/heft-config-file': 0.14.2 + '@rushstack/node-core-library': 3.61.0 + '@rushstack/package-deps-hash': 4.1.12 + '@rushstack/package-extractor': 0.6.14 + '@rushstack/rig-package': 0.5.1 + '@rushstack/rush-amazon-s3-build-cache-plugin': 5.110.2 + '@rushstack/rush-azure-storage-build-cache-plugin': 5.110.2 + '@rushstack/rush-http-build-cache-plugin': 5.110.2 + '@rushstack/stream-collator': 4.1.13 + '@rushstack/terminal': 0.7.12 + '@rushstack/ts-command-line': 4.17.1 + '@types/node-fetch': 2.6.2 + '@yarnpkg/lockfile': 1.0.2 + builtin-modules: 3.1.0 + cli-table: 0.3.11 + colors: 1.2.5 + dependency-path: 9.2.8 + fast-glob: 3.3.2 + figures: 3.0.0 + git-repo-info: 2.1.1 + glob-escape: 0.0.2 + https-proxy-agent: 5.0.1 + ignore: 5.1.9 + inquirer: 7.3.3 + js-yaml: 3.13.1 + node-fetch: 2.6.7 + npm-check: 6.0.1 + npm-package-arg: 6.1.1 + read-package-tree: 5.1.6 + rxjs: 6.6.7 + semver: 7.5.4 + ssri: 8.0.1 + strict-uri-encode: 2.0.0 + tapable: 2.2.1 + tar: 6.1.15 + true-case-path: 2.2.1 + uuid: 8.3.2 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + /@microsoft/teams-js@1.3.0-beta.4: resolution: {integrity: sha512-AxDfMpiVqh3hsqTxMEYtQoz866WB/sw/Jl0pgTLh6sMHHmIBNMd+E0pVcP9WNk8zTkr9LCphJ5SziU1C8BgZMA==} dev: true @@ -8702,7 +8905,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.16.0 /@npmcli/fs@1.1.1: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -8720,19 +8923,19 @@ packages: rimraf: 3.0.2 dev: true - /@opentelemetry/api@1.4.1: - resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} + /@opentelemetry/api@1.7.0: + resolution: {integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==} engines: {node: '>=8.0.0'} dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(webpack@4.47.0): - resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} + /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack@4.47.0): + resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <4.0.0' + type-fest: '>=0.17.0 <5.0.0' webpack: '>=4.43.0 <6.0.0 || ^4 || ^5' webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x @@ -8753,7 +8956,7 @@ packages: dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 - core-js-pure: 3.32.0 + core-js-pure: 3.35.1 error-stack-parser: 2.1.4 find-up: 5.0.0 html-entities: 2.4.0 @@ -8764,33 +8967,52 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true + /@pnpm/constants@7.1.1: + resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} + engines: {node: '>=16.14'} + dev: false + /@pnpm/crypto.base32-hash@1.0.1: resolution: {integrity: sha512-pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==} engines: {node: '>=14.6'} dependencies: - rfc4648: 1.5.2 + rfc4648: 1.5.3 dev: false /@pnpm/crypto.base32-hash@2.0.0: resolution: {integrity: sha512-3ttOeHBpmWRbgJrpDQ8Nwd3W8s8iuiP5YZM0JRyKWaMtX8lu9d7/AKyxPmhYsMJuN+q/1dwHa7QFeDZJ53b0oA==} engines: {node: '>=16.14'} dependencies: - rfc4648: 1.5.2 + rfc4648: 1.5.3 dev: false - /@pnpm/dependency-path@2.1.3: - resolution: {integrity: sha512-OKuLDqRZfAJAb4fnPZyPyrR827ISL1WV5YBs0q4BitPAz8ORUPSXSCFVailLhoyZWLE0Ag6hROy42Jkw/WnCUw==} + /@pnpm/dependency-path@2.1.7: + resolution: {integrity: sha512-/q3xNNgAEKkG0FvU8o/6B06nrBhSl1i34ZMEQDOhHFMDzS0mWqnIogb54seVKySNxfdJdyqfedjNnNIzKrPbkg==} engines: {node: '>=16.14'} dependencies: '@pnpm/crypto.base32-hash': 2.0.0 - '@pnpm/types': 9.2.0 - encode-registry: 3.0.0 + '@pnpm/types': 9.4.2 + encode-registry: 3.0.1 semver: 7.5.4 dev: false - /@pnpm/error@1.4.0: - resolution: {integrity: sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA==} - engines: {node: '>=10.16'} + /@pnpm/error@1.4.0: + resolution: {integrity: sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA==} + engines: {node: '>=10.16'} + dev: false + + /@pnpm/error@5.0.2: + resolution: {integrity: sha512-0TEm+tWNYm+9uh6DSKyRbv8pv/6b4NL0PastLvMxIoqZbBZ5Zj1cYi332R9xsSUi31ZOsu2wpgn/bC7DA9hrjg==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/constants': 7.1.1 + dev: false + + /@pnpm/git-utils@1.0.0: + resolution: {integrity: sha512-lUI+XrzOJN4zdPGOGnFUrmtXAXpXi8wD8OI0nWOZmlh+raqbLzC3VkXu1zgaduOK6YonOcnQW88O+ojav1rAdA==} + engines: {node: '>=16.14'} + dependencies: + execa: /safe-execa@0.1.2 dev: false /@pnpm/link-bins@5.3.25: @@ -8812,6 +9034,39 @@ packages: ramda: 0.27.2 dev: false + /@pnpm/lockfile-file@8.1.6(@pnpm/logger@5.0.0): + resolution: {integrity: sha512-ObCi2cONJ5DXqWu+h5TxlRvHTlGN9E63zGW/kghqiJFG562OxIS1pDndqwtSvqPyCt7DuoKSR/LVd/+XkpZwiw==} + engines: {node: '>=16.14'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + dependencies: + '@pnpm/constants': 7.1.1 + '@pnpm/dependency-path': 2.1.7 + '@pnpm/error': 5.0.2 + '@pnpm/git-utils': 1.0.0 + '@pnpm/lockfile-types': 5.1.5 + '@pnpm/logger': 5.0.0 + '@pnpm/merge-lockfile-changes': 5.0.7 + '@pnpm/types': 9.4.2 + '@pnpm/util.lex-comparator': 1.0.0 + '@zkochan/rimraf': 2.1.3 + comver-to-semver: 1.0.0 + js-yaml: /@zkochan/js-yaml@0.0.6 + normalize-path: 3.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.5.4 + sort-keys: 4.2.0 + strip-bom: 4.0.0 + write-file-atomic: 5.0.1 + dev: false + + /@pnpm/lockfile-types@5.1.5: + resolution: {integrity: sha512-02FP0HynzX+2DcuPtuMy7PH+kLIC0pevAydAOK+zug2bwdlSLErlvSkc+4+3dw60eRWgUXUqyfO2eR/Ansdbng==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/types': 9.4.2 + dev: false + /@pnpm/logger@4.0.0: resolution: {integrity: sha512-SIShw+k556e7S7tLZFVSIHjCdiVog1qWzcKW2RbLEHPItdisAFVNIe34kYd9fMSswTlSRLS/qRjw3ZblzWmJ9Q==} engines: {node: '>=12.17'} @@ -8820,15 +9075,37 @@ packages: ndjson: 2.0.0 dev: true + /@pnpm/logger@5.0.0: + resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} + engines: {node: '>=12.17'} + dependencies: + bole: 5.0.10 + ndjson: 2.0.0 + dev: false + + /@pnpm/merge-lockfile-changes@5.0.7: + resolution: {integrity: sha512-fYmX1+EHv3wg7l4A9FCEkjgEBIHaY6JosknkLk3pL8dbB9k6unjIrF9f2onNtpj3XUlWxZ3aBw9THk/Bf6hKow==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/lockfile-types': 5.1.5 + comver-to-semver: 1.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.5.4 + dev: false + /@pnpm/package-bins@4.1.0: resolution: {integrity: sha512-57/ioGYLBbVRR80Ux9/q2i3y8Q+uQADc3c+Yse8jr/60YLOi3jcWz13e2Jy+ANYtZI258Qc5wk2X077rp0Ly/Q==} engines: {node: '>=10.16'} dependencies: '@pnpm/types': 6.4.0 - fast-glob: 3.3.1 + fast-glob: 3.3.2 is-subdir: 1.2.0 dev: false + /@pnpm/ramda@0.28.1: + resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==} + dev: false + /@pnpm/read-modules-dir@2.0.3: resolution: {integrity: sha512-i9OgRvSlxrTS9a2oXokhDxvQzDtfqtsooJ9jaGoHkznue5aFCTSrNZFQ6M18o8hC03QWfnxaKi0BtOvNkKu2+A==} engines: {node: '>=10.13'} @@ -8874,11 +9151,16 @@ packages: engines: {node: '>=14.6'} dev: false - /@pnpm/types@9.2.0: - resolution: {integrity: sha512-LtkHgtJ5Bjny4poUWyMhOKHc822/zm8NhPx+7VbopfDYnTrKgJwTyTbZjZEyN5KpDw3R1Fr8VYdmv5gn4eyWbw==} + /@pnpm/types@9.4.2: + resolution: {integrity: sha512-g1hcF8Nv4gd76POilz9gD4LITAPXOe5nX4ijgr8ixCbLQZfcpYiMfJ+C1RlMNRUDo8vhlNB4O3bUlxmT6EAQXA==} engines: {node: '>=16.14'} dev: false + /@pnpm/util.lex-comparator@1.0.0: + resolution: {integrity: sha512-3aBQPHntVgk5AweBWZn+1I/fqZ9krK/w01197aYVkAJQGftb+BVWgEepxY5GChjSW12j52XX+CmfynYZ/p0DFQ==} + engines: {node: '>=12.22.0'} + dev: false + /@pnpm/write-project-manifest@1.1.7: resolution: {integrity: sha512-OLkDZSqkA1mkoPNPvLFXyI6fb0enCuFji6Zfditi/CLAo9kmIhQFmEUDu4krSB8i908EljG8YwL5Xjxzm5wsWA==} engines: {node: '>=10.16'} @@ -8890,8 +9172,8 @@ packages: write-yaml-file: 4.2.0 dev: false - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -8904,13 +9186,13 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: true /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: true /@radix-ui/react-checkbox@1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): @@ -8926,7 +9208,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -8954,7 +9236,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) @@ -8975,7 +9257,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -8991,7 +9273,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9007,7 +9289,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9035,7 +9317,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9055,7 +9337,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 @@ -9077,7 +9359,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-slot': 1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9098,7 +9380,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9114,8 +9396,8 @@ packages: react-dom: 17.0.2(react@17.0.2) dev: true - /@radix-ui/react-scroll-area@1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-OIClwBkwPG+FKvC4OMTRaa/3cfD069nkKFFL/TQzRzaO42Ce5ivKU9VMKgT7UU6UIkjcQqKBrDOIzWtPGw6e6w==} + /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -9127,7 +9409,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9153,7 +9435,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9173,7 +9455,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-direction': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9198,7 +9480,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9214,7 +9496,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9231,7 +9513,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9247,7 +9529,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9263,15 +9545,15 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 dev: true - /@redis/client@1.5.8: - resolution: {integrity: sha512-xzElwHIO6rBAqzPeVnCzgvrnBEcFL1P0w8P65VNLRkdVW8rOE58f52hdj0BDgmsdOm4f1EoXPZtH4Fh7M/qUpw==} + /@redis/client@1.5.13: + resolution: {integrity: sha512-epkUM9D0Sdmt93/8Ozk43PNjLi36RZzG+d/T1Gdu5AI8jvghonTeLYV69WVWdilvFo+PYxbP0TZ0saMvr6nscQ==} engines: {node: '>=14'} dependencies: cluster-key-slot: 1.1.2 @@ -9298,9 +9580,9 @@ packages: reselect: 4.1.8 dev: false - /@remix-run/router@1.7.2: - resolution: {integrity: sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==} - engines: {node: '>=14'} + /@remix-run/router@1.14.2: + resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} + engines: {node: '>=14.0.0'} dev: true /@rushstack/eslint-config@3.6.0(eslint@8.7.0)(typescript@4.9.5): @@ -9313,10 +9595,10 @@ packages: '@rushstack/eslint-plugin': 0.14.0(eslint@8.7.0)(typescript@4.9.5) '@rushstack/eslint-plugin-packlets': 0.9.0(eslint@8.7.0)(typescript@4.9.5) '@rushstack/eslint-plugin-security': 0.8.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 eslint-plugin-promise: 6.1.1(eslint@8.7.0) eslint-plugin-react: 7.33.2(eslint@8.7.0) @@ -9336,10 +9618,10 @@ packages: '@rushstack/eslint-plugin': 0.14.0(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-packlets': 0.9.0(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-security': 0.8.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 eslint-plugin-promise: 6.1.1(eslint@8.7.0) eslint-plugin-react: 7.33.2(eslint@8.7.0) @@ -9359,7 +9641,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9372,7 +9654,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9385,7 +9667,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9398,7 +9680,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9411,7 +9693,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9424,7 +9706,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9457,6 +9739,17 @@ packages: - '@types/node' dev: true + /@rushstack/heft-config-file@0.14.2: + resolution: {integrity: sha512-X29DqXN6dyvkZm4hIewFkCCub1lxY8LPsyWSYqkuZ1E5f70ibKBp8P+nf2QzjQ7XcJzqDuq5fWrvPzi5N6M5lg==} + engines: {node: '>=10.13.0'} + dependencies: + '@rushstack/node-core-library': 3.61.0 + '@rushstack/rig-package': 0.5.1 + jsonpath-plus: 4.0.0 + transitivePeerDependencies: + - '@types/node' + dev: false + /@rushstack/heft-config-file@0.14.4(@types/node@18.17.15): resolution: {integrity: sha512-qC9xIh/zaj2g1Jp58uvsuW6FtKOQm8ETynE7DJybtBguhBf2F6f//l8BZBX7UTzW3rwoHyGsQpbp97PulPjZKg==} engines: {node: '>=10.13.0'} @@ -9647,7 +9940,7 @@ packages: '@rushstack/ts-command-line': 4.17.1 '@types/tapable': 1.0.6 chokidar: 3.4.3 - fast-glob: 3.3.1 + fast-glob: 3.3.2 git-repo-info: 2.1.1 ignore: 5.1.9 tapable: 1.1.3 @@ -9657,6 +9950,23 @@ packages: - '@types/node' dev: true + /@rushstack/node-core-library@3.61.0: + resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.6 + dev: false + /@rushstack/node-core-library@3.63.0(@types/node@18.17.15): resolution: {integrity: sha512-Q7B3dVpBQF1v+mUfxNcNZh5uHVR8ntcnkN5GYjbBLrxUYHBGKbnCM+OdcN+hzCpFlLBH6Ob0dEHhZ0spQwf24A==} peerDependencies: @@ -9670,9 +9980,26 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.4 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.6 + + /@rushstack/node-core-library@3.64.1: + resolution: {integrity: sha512-eC2OdAvH+1siC+H2gqS8QP+QWv9EUU0mfY0+84lWojl8wamYa5WIdVETIaHSc5gDlRTz4lk+sJUOoWCARpj5dw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 semver: 7.5.4 - z-schema: 5.0.5 + z-schema: 5.0.6 + dev: false /@rushstack/operation-graph@0.2.3(@types/node@18.17.15): resolution: {integrity: sha512-/GbudYBU5+4v40lPFboiVwdb8LN6+pXe/SfkI+/qUegn4mJ/5RJ9YsrwdBAXM32IwIrBoLsPiZ+1YDzhd0c5wg==} @@ -9686,12 +10013,99 @@ packages: '@types/node': 18.17.15 dev: true + /@rushstack/package-deps-hash@4.1.12: + resolution: {integrity: sha512-zSW7koJEWo+GZNnAzwbMnLglSUsXm2kysOpEvErv9Z/+HzkCadfbc0t5fpObFK5Nb3ORe4aywxKM3SioTIVINQ==} + dependencies: + '@rushstack/node-core-library': 3.61.0 + transitivePeerDependencies: + - '@types/node' + dev: false + + /@rushstack/package-extractor@0.6.14: + resolution: {integrity: sha512-x+7054WlJSfzU8ItW3rHP2R3fqMep91Rpi1DINLNv5D0LqpkoPRzAY8go+WF7/pTZdXkYvCLMae+jkST/ZiK/g==} + dependencies: + '@pnpm/link-bins': 5.3.25 + '@rushstack/node-core-library': 3.61.0 + '@rushstack/terminal': 0.7.12 + ignore: 5.1.9 + jszip: 3.8.0 + minimatch: 3.0.8 + npm-packlist: 2.1.5 + semver: 7.5.4 + transitivePeerDependencies: + - '@types/node' + dev: false + + /@rushstack/package-extractor@0.6.22: + resolution: {integrity: sha512-4oDhM82PsXNVnCz4nvNhyR/xiGo+yFym+7c9ZxBGqR2MGgXcDFfKWvbsaZFi1MjsErJV08W/GbE+RTsbH0cMdw==} + dependencies: + '@pnpm/link-bins': 5.3.25 + '@rushstack/node-core-library': 3.64.1 + '@rushstack/terminal': 0.7.19 + ignore: 5.1.9 + jszip: 3.8.0 + minimatch: 3.0.8 + npm-packlist: 2.1.5 + semver: 7.5.4 + transitivePeerDependencies: + - '@types/node' + dev: false + /@rushstack/rig-package@0.5.1: resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: - resolve: 1.22.4 + resolve: 1.22.8 strip-json-comments: 3.1.1 - dev: true + + /@rushstack/rush-amazon-s3-build-cache-plugin@5.110.2: + resolution: {integrity: sha512-+5umzm67JPjzcLqmrXtkwzu9qpZo4Ish23GZy39SnD312IF9PrdaP2WP/AtV/EdXEciFNW4P8dpmnaHYUXg3Fg==} + dependencies: + '@rushstack/node-core-library': 3.61.0 + '@rushstack/rush-sdk': 5.110.2 + https-proxy-agent: 5.0.1 + node-fetch: 2.6.7 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + + /@rushstack/rush-azure-storage-build-cache-plugin@5.110.2: + resolution: {integrity: sha512-w6YtTSzbhTUEWFlIKvoi+5Wj0jv539moPJGKFjwtE+LlZTEteNb6I024BDMhAZ4IEwGyNSV9dbT0kLeOQDhuOQ==} + dependencies: + '@azure/identity': 2.1.0 + '@azure/storage-blob': 12.11.0 + '@rushstack/node-core-library': 3.61.0 + '@rushstack/rush-sdk': 5.110.2 + '@rushstack/terminal': 0.7.12 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + + /@rushstack/rush-http-build-cache-plugin@5.110.2: + resolution: {integrity: sha512-JkOnCQkvQrGMM4h55McYKIvgAVS+z0AOl2+VKiiJd00GF1v6bq5zYaRXgbIIcnoPy53F8qrv+MUvzVjHnIzS2A==} + dependencies: + '@rushstack/node-core-library': 3.61.0 + '@rushstack/rush-sdk': 5.110.2 + https-proxy-agent: 5.0.1 + node-fetch: 2.6.7 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + + /@rushstack/rush-sdk@5.110.2: + resolution: {integrity: sha512-xvULJf7gsELXMvFMbb/9m1nvP9v9TON4LmbDUKv3kleHiV2+rJoZhtUh2UJ1PIkeVCxXmM54BKkrNN+bWGJ6Dw==} + dependencies: + '@rushstack/node-core-library': 3.61.0 + '@types/node-fetch': 2.6.2 + tapable: 2.2.1 + transitivePeerDependencies: + - '@types/node' + dev: false /@rushstack/set-webpack-public-path-plugin@4.1.16(@types/node@18.17.15)(@types/webpack@4.41.32)(webpack@4.47.0): resolution: {integrity: sha512-9YD76OHSYr3pqJwc3wcxIFL1kSxPUyw3xThaZrJDBumMRdAEx7Wj3J0xkPtri5BS06yi49fIC1Di75CxeworzA==} @@ -9708,6 +10122,37 @@ packages: - '@types/node' - webpack + /@rushstack/stream-collator@4.1.13: + resolution: {integrity: sha512-jE0MZSFtsrhYjig4XSuh3J+4R60tAUwpDt+PtD89z7OR6eQOpL19HrTuEaaPph9p0yyurGBRfafLs168wL/BIQ==} + dependencies: + '@rushstack/node-core-library': 3.61.0 + '@rushstack/terminal': 0.7.12 + transitivePeerDependencies: + - '@types/node' + dev: false + + /@rushstack/terminal@0.7.12: + resolution: {integrity: sha512-wTiQvgcdxAmw29m6+2l3P2KnXYm9AL0DwgjOnBf5+yoiFq6sRYUlEZYGicbrjC/dhILd2cXK9vqnsvk36WRHYQ==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 3.61.0 + dev: false + + /@rushstack/terminal@0.7.19: + resolution: {integrity: sha512-IWkAEnAl8ko/tZ7IRKWOiJG+ryQ1E6Vsk4FkcKbbMQx9IngeUMhvv1vCFc8ERcZucCuhaWXX2P2Ex1Z7fl1OUQ==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 3.64.1 + dev: false + /@rushstack/tree-pattern@0.3.2: resolution: {integrity: sha512-cF8gIPVDQSM9Ui2L0gRMmn63/iDA8JSgeqI575evPYAtDcIL2W65wvpWkWBTuvsEJjmecXoX9hCj7suzyIlzEA==} dev: true @@ -9719,7 +10164,6 @@ packages: argparse: 1.0.10 colors: 1.2.5 string-argv: 0.3.2 - dev: true /@rushstack/webpack-plugin-utilities@0.3.16(@types/webpack@4.41.32)(webpack@4.47.0): resolution: {integrity: sha512-0Xb0GESYEyv6Q7hzANZ8RIWa3seiJiCKBNNG83znQwMZ9l0bfnoJzZ3cYODkofoK0E8/nr4hTsn/pWKommf6Mw==} @@ -9757,10 +10201,10 @@ packages: '@serverless-stack/resources': 0.67.0 aws-cdk: 2.7.0 aws-cdk-lib: 2.7.0(constructs@10.0.130) - aws-sdk: 2.1431.0 + aws-sdk: 2.1543.0 body-parser: 1.20.2 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.4.3 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 esbuild: 0.12.29 @@ -9781,14 +10225,14 @@ packages: /@serverless-stack/core@0.67.2: resolution: {integrity: sha512-9Z7dDCWRu38EGR9XL9cD2pZBNtX1vrpij9r4mOAae5PUk3XqROfzoEqObIhkU78Qzl/N74bKMu75z0IzXqa2rA==} dependencies: - '@trpc/server': 9.27.3 + '@trpc/server': 9.27.4 async-retry: 1.3.3 aws-cdk: 2.7.0 aws-cdk-lib: 2.7.0(constructs@10.0.130) - aws-sdk: 2.1431.0 + aws-sdk: 2.1543.0 chalk: 4.1.2 chokidar: 3.5.3 - ci-info: 3.8.0 + ci-info: 3.9.0 conf: 10.2.0 constructs: 10.0.130 cross-spawn: 7.0.3 @@ -9797,7 +10241,7 @@ packages: dotenv: 10.0.0 dotenv-expand: 5.1.0 esbuild: 0.14.54 - eslint: 8.46.0 + eslint: 8.56.0 express: 4.18.1 fs-extra: 9.1.0 immer: 9.0.21 @@ -9808,7 +10252,7 @@ packages: typescript: 4.9.5 uuid: 8.3.2 xstate: 4.26.1 - zod: 3.21.4 + zod: 3.22.4 transitivePeerDependencies: - supports-color dev: true @@ -9823,12 +10267,12 @@ packages: '@graphql-tools/load-files': 6.6.1(graphql@15.8.0) '@graphql-tools/merge': 6.2.17(graphql@15.8.0) '@serverless-stack/core': 0.67.2 - archiver: 5.3.1 + archiver: 5.3.2 aws-cdk-lib: 2.7.0(constructs@10.0.130) chalk: 4.1.2 constructs: 10.0.130 cross-spawn: 7.0.3 - esbuild: 0.18.20 + esbuild: 0.19.12 fs-extra: 9.1.0 glob: 7.2.3 graphql: 15.8.0 @@ -9844,15 +10288,15 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 /@sinonjs/fake-timers@10.3.0: resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 /@storybook/addon-actions@6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-t2w3iLXFul+R/1ekYxIEzUOZZmvEa7EzUAVAuCHP4i6x0jBnTTZ7sAIUVRaxVREPguH5IqI/2OklYhKanty2Yw==} @@ -9871,7 +10315,7 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -9907,7 +10351,7 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 memoizerific: 1.11.3 react: 17.0.2 @@ -9939,7 +10383,7 @@ packages: '@storybook/node-logger': 6.4.22 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.32.0 + core-js: 3.35.1 lodash: 4.17.21 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10002,10 +10446,10 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) '@jest/transform': 26.6.2 '@mdx-js/loader': 1.6.22(react@17.0.2) '@mdx-js/mdx': 1.6.22 @@ -10029,7 +10473,7 @@ packages: acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 - core-js: 3.32.0 + core-js: 3.35.1 doctrine: 3.0.0 escodegen: 2.1.0 fast-deep-equal: 3.1.3 @@ -10038,7 +10482,7 @@ packages: js-string-escape: 1.0.1 loader-utils: 2.0.4 lodash: 4.17.21 - nanoid: 3.3.6 + nanoid: 3.3.7 p-limit: 3.1.0 prettier: 2.3.0 prop-types: 15.8.1 @@ -10104,7 +10548,7 @@ packages: '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/node-logger': 6.4.22 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) - core-js: 3.32.0 + core-js: 3.35.1 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) regenerator-runtime: 0.13.11 @@ -10149,8 +10593,8 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/router': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/qs': 6.9.7 - core-js: 3.32.0 + '@types/qs': 6.9.11 + core-js: 3.35.1 global: 4.4.0 prop-types: 15.8.1 qs: 6.11.2 @@ -10179,7 +10623,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10204,7 +10648,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10229,7 +10673,7 @@ packages: '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.32.0 + core-js: 3.35.1 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) regenerator-runtime: 0.13.11 @@ -10254,7 +10698,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.8.1 @@ -10281,7 +10725,7 @@ packages: '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@types/react': 17.0.74 '@types/webpack-env': 1.18.0 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10303,7 +10747,7 @@ packages: '@storybook/semver': 7.3.2 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@types/react': 17.0.74 - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -10329,25 +10773,25 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.20.12) + '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) - '@babel/preset-react': 7.22.5(@babel/core@7.20.12) - '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@babel/preset-react': 7.23.3(@babel/core@7.20.12) + '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/channel-postmessage': 6.4.22 @@ -10364,14 +10808,14 @@ packages: '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.59 + '@types/node': 14.18.63 '@types/webpack': 4.41.32 autoprefixer: 9.8.8 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) babel-plugin-macros: 2.8.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.20.12) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.32.0 + core-js: 3.35.1 css-loader: 3.6.0(webpack@4.47.0) file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 @@ -10397,7 +10841,7 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) webpack-dev-middleware: 3.7.3(@types/webpack@4.41.32)(webpack@4.47.0) webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0) - webpack-hot-middleware: 2.25.4 + webpack-hot-middleware: 2.26.0 webpack-virtual-modules: 0.2.2 transitivePeerDependencies: - '@types/react' @@ -10414,7 +10858,7 @@ packages: '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 qs: 6.11.2 telejson: 5.3.3 @@ -10425,7 +10869,7 @@ packages: dependencies: '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 telejson: 5.3.3 dev: true @@ -10433,7 +10877,7 @@ packages: /@storybook/channels@6.4.22: resolution: {integrity: sha512-cfR74tu7MLah1A8Rru5sak71I+kH2e/sY6gkpVmlvBj4hEmdZp4Puj9PTeaKcMXh9DgIDPNA5mb8yvQH6VcyxQ==} dependencies: - core-js: 3.32.0 + core-js: 3.35.1 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: true @@ -10445,8 +10889,8 @@ packages: jest: '*' dependencies: '@babel/core': 7.20.12 - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) - '@storybook/codemod': 6.4.22(@babel/preset-env@7.22.10) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@storybook/codemod': 6.4.22(@babel/preset-env@7.23.8) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) '@storybook/csf-tools': 6.4.22 '@storybook/node-logger': 6.4.22 @@ -10454,16 +10898,16 @@ packages: boxen: 5.1.2 chalk: 4.1.2 commander: 6.2.1 - core-js: 3.32.0 + core-js: 3.35.1 cross-spawn: 7.0.3 - envinfo: 7.10.0 + envinfo: 7.11.0 express: 4.18.1 find-up: 5.0.0 fs-extra: 9.1.0 get-port: 5.1.1 globby: 11.1.0 jest: 29.3.1(@types/node@18.17.15) - jscodeshift: 0.13.1(@babel/preset-env@7.22.10) + jscodeshift: 0.13.1(@babel/preset-env@7.23.8) json5: 2.2.3 leven: 3.1.0 prompts: 2.4.2 @@ -10497,9 +10941,9 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/qs': 6.9.7 + '@types/qs': 6.9.11 '@types/webpack-env': 1.18.0 - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -10519,22 +10963,22 @@ packages: /@storybook/client-logger@6.4.22: resolution: {integrity: sha512-LXhxh/lcDsdGnK8kimqfhu3C0+D2ylCSPPQNbU0IsLRmTfbpQYMdyl0XBjPdHiRVwlL7Gkw5OMjYemQgJ02zlw==} dependencies: - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 dev: true - /@storybook/codemod@6.4.22(@babel/preset-env@7.22.10): + /@storybook/codemod@6.4.22(@babel/preset-env@7.23.8): resolution: {integrity: sha512-xqnTKUQU2W3vS3dce9s4bYhy15tIfAHIzog37jqpKYOHnByXpPj/KkluGePtv5I6cvMxqP8IhQzn+Eh/lVjM4Q==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 '@mdx-js/mdx': 1.6.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.22 '@storybook/node-logger': 6.4.22 - core-js: 3.32.0 + core-js: 3.35.1 cross-spawn: 7.0.3 globby: 11.1.0 - jscodeshift: 0.13.1(@babel/preset-env@7.22.10) + jscodeshift: 0.13.1(@babel/preset-env@7.23.8) lodash: 4.17.21 prettier: 2.3.0 recast: 0.19.1 @@ -10554,15 +10998,15 @@ packages: '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/color-convert': 2.0.0 - '@types/overlayscrollbars': 1.12.1 + '@types/color-convert': 2.0.3 + '@types/overlayscrollbars': 1.12.5 '@types/react-syntax-highlighter': 11.0.5 color-convert: 2.0.1 - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.3.2(react@17.0.2) + markdown-to-jsx: 7.4.0(react@17.0.2) memoizerific: 1.11.3 overlayscrollbars: 1.13.3 polished: 4.2.2 @@ -10572,7 +11016,7 @@ packages: react-dom: 17.0.2(react@17.0.2) react-popper-tooltip: 3.1.1(react-dom@17.0.2)(react@17.0.2) react-syntax-highlighter: 13.5.3(react@17.0.2) - react-textarea-autosize: 8.5.2(@types/react@17.0.74)(react@17.0.2) + react-textarea-autosize: 8.5.3(@types/react@17.0.74)(react@17.0.2) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -10603,7 +11047,7 @@ packages: '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 lodash: 4.17.21 qs: 6.11.2 @@ -10631,34 +11075,34 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.20.12) + '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) - '@babel/preset-react': 7.22.5(@babel/core@7.20.12) - '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) - '@babel/register': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@babel/preset-react': 7.23.3(@babel/core@7.20.12) + '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/register': 7.23.7(@babel/core@7.20.12) '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 - '@types/node': 14.18.59 - '@types/pretty-hrtime': 1.0.1 + '@types/node': 14.18.63 + '@types/pretty-hrtime': 1.0.3 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.20.12) chalk: 4.1.2 - core-js: 3.32.0 + core-js: 3.35.1 express: 4.18.1 file-system-cache: 1.1.0 find-up: 5.0.0 @@ -10692,7 +11136,7 @@ packages: /@storybook/core-events@6.4.22: resolution: {integrity: sha512-5GYY5+1gd58Gxjqex27RVaX6qbfIQmJxcbzbNpXGNSqwqAuIIepcV1rdCVm6I4C3Yb7/AQ3cN5dVbf33QxRIwA==} dependencies: - core-js: 3.32.0 + core-js: 3.35.1 dev: true /@storybook/core-server@6.4.22(@types/react@17.0.74)(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3): @@ -10722,9 +11166,9 @@ packages: '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.59 + '@types/node': 14.18.63 '@types/node-fetch': 2.6.2 - '@types/pretty-hrtime': 1.0.1 + '@types/pretty-hrtime': 1.0.3 '@types/webpack': 4.41.32 better-opn: 2.1.1 boxen: 5.1.2 @@ -10732,7 +11176,7 @@ packages: cli-table3: 0.6.3 commander: 6.2.1 compression: 1.7.4 - core-js: 3.32.0 + core-js: 3.35.1 cpy: 8.1.2 detect-port: 1.5.1 express: 4.18.1 @@ -10755,7 +11199,7 @@ packages: util-deprecate: 1.0.2 watchpack: 2.4.0 webpack: 4.47.0(webpack-cli@3.3.12) - ws: 8.14.1 + ws: 8.14.2 transitivePeerDependencies: - '@types/react' - bufferutil @@ -10805,15 +11249,15 @@ packages: resolution: {integrity: sha512-LMu8MZAiQspJAtMBLU2zitsIkqQv7jOwX7ih5JrXlyaDticH7l2j6Q+1mCZNWUOiMTizj0ivulmUsSaYbpToSw==} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 '@mdx-js/mdx': 1.6.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.32.0 + core-js: 3.35.1 fs-extra: 9.1.0 global: 4.4.0 js-string-escape: 1.0.1 @@ -10842,20 +11286,20 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) - '@babel/preset-react': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) + '@babel/preset-react': 7.23.3(@babel/core@7.20.12) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-client': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3)(webpack@4.47.0) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) '@storybook/node-logger': 6.4.22 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.59 + '@types/node': 14.18.63 '@types/webpack': 4.41.32 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.32.0 + core-js: 3.35.1 css-loader: 3.6.0(webpack@4.47.0) express: 4.18.1 file-loader: 6.2.0(webpack@4.47.0) @@ -10893,9 +11337,9 @@ packages: /@storybook/node-logger@6.4.22: resolution: {integrity: sha512-sUXYFqPxiqM7gGH7gBXvO89YEO42nA4gBicJKZjj9e+W4QQLrftjF9l+mAw2K0mVE10Bn7r4pfs5oEZ0aruyyA==} dependencies: - '@types/npmlog': 4.1.4 + '@types/npmlog': 4.1.6 chalk: 4.1.2 - core-js: 3.32.0 + core-js: 3.35.1 npmlog: 5.0.1 pretty-hrtime: 1.0.3 dev: true @@ -10903,7 +11347,7 @@ packages: /@storybook/postinstall@6.4.22: resolution: {integrity: sha512-LdIvA+l70Mp5FSkawOC16uKocefc+MZLYRHqjTjgr7anubdi6y7W4n9A7/Yw4IstZHoknfL88qDj/uK5N+Ahzw==} dependencies: - core-js: 3.32.0 + core-js: 3.35.1 dev: true /@storybook/preview-web@6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): @@ -10919,7 +11363,7 @@ packages: '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) ansi-to-html: 0.6.15 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 lodash: 4.17.21 qs: 6.11.2 @@ -10943,7 +11387,7 @@ packages: debug: 4.3.4 endent: 2.1.0 find-cache-dir: 3.3.2 - flat-cache: 3.0.4 + flat-cache: 3.2.0 micromatch: 4.0.5 react-docgen-typescript: 2.2.2(typescript@5.3.3) tslib: 2.3.1 @@ -10971,9 +11415,9 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/preset-flow': 7.22.5(@babel/core@7.20.12) - '@babel/preset-react': 7.22.5(@babel/core@7.20.12) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack@4.47.0) + '@babel/preset-flow': 7.23.3(@babel/core@7.20.12) + '@babel/preset-react': 7.23.3(@babel/core@7.20.12) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack@4.47.0) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core': 6.4.22(@types/react@17.0.74)(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3)(webpack@4.47.0) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) @@ -10988,7 +11432,7 @@ packages: babel-plugin-add-react-displayname: 0.0.5 babel-plugin-named-asset-import: 0.3.8(@babel/core@7.20.12) babel-plugin-react-docgen: 4.2.1 - core-js: 3.32.0 + core-js: 3.35.1 global: 4.4.0 lodash: 4.17.21 prop-types: 15.8.1 @@ -11028,7 +11472,7 @@ packages: dependencies: '@storybook/client-logger': 6.4.22 '@types/react': 17.0.74 - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 history: 5.0.0 @@ -11037,8 +11481,8 @@ packages: qs: 6.11.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-router: 6.14.2(@types/react@17.0.74)(react@17.0.2) - react-router-dom: 6.14.2(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + react-router: 6.21.3(@types/react@17.0.74)(react@17.0.2) + react-router-dom: 6.21.3(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) ts-dedent: 2.2.0 dev: true @@ -11047,7 +11491,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - core-js: 3.32.0 + core-js: 3.35.1 find-up: 4.1.0 dev: true @@ -11060,7 +11504,7 @@ packages: '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.32.0 + core-js: 3.35.1 estraverse: 5.3.0 global: 4.4.0 loader-utils: 2.0.4 @@ -11083,7 +11527,7 @@ packages: '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.32.0 + core-js: 3.35.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -11108,11 +11552,11 @@ packages: dependencies: '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/is-prop-valid': 0.8.8 - '@emotion/serialize': 1.1.2 + '@emotion/serialize': 1.1.3 '@emotion/styled': 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) '@emotion/utils': 1.2.1 '@storybook/client-logger': 6.4.22 - core-js: 3.32.0 + core-js: 3.35.1 deep-object-diff: 1.1.9 emotion-theming: 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) global: 4.4.0 @@ -11143,20 +11587,20 @@ packages: '@storybook/semver': 7.3.2 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) copy-to-clipboard: 3.3.3 - core-js: 3.32.0 - core-js-pure: 3.32.0 + core-js: 3.35.1 + core-js-pure: 3.35.1 downshift: 6.1.12(react@17.0.2) emotion-theming: 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) fuse.js: 3.6.1 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.3.2(react@17.0.2) + markdown-to-jsx: 7.4.0(react@17.0.2) memoizerific: 1.11.3 polished: 4.2.2 qs: 6.11.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-draggable: 4.4.5(react-dom@17.0.2)(react@17.0.2) + react-draggable: 4.4.6(react-dom@17.0.2)(react@17.0.2) react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) react-sizeme: 3.0.2 regenerator-runtime: 0.13.11 @@ -11169,7 +11613,20 @@ packages: /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 + dev: false + + /@swc/helpers@0.4.36: + resolution: {integrity: sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==} + dependencies: + legacy-swc-helpers: /@swc/helpers@0.4.14 + tslib: 2.6.2 + dev: false + + /@swc/helpers@0.5.3: + resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} + dependencies: + tslib: 2.6.2 dev: false /@szmarczak/http-timer@4.0.6: @@ -11187,8 +11644,8 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - /@trpc/server@9.27.3: - resolution: {integrity: sha512-RHWD9xjE+A9UaQCVYkqjl0sbGaHfvlUqJH3e1I57F2ztJbMeFYoP47pVgjkg0CLYSuRDa3imtD4dVDZ4DcODjQ==} + /@trpc/server@9.27.4: + resolution: {integrity: sha512-yw0omUrxGp8+gEAuieZFeXB4bCqFvmyCDL3GOBv+Q6+cK0m5824ViHZKPgK5DYG1ijN/lbi1hP3UVKywPN7rbQ==} dev: true /@trysound/sax@0.2.0: @@ -11203,39 +11660,39 @@ packages: resolution: {integrity: sha512-Vsyi9ogDAY3REZDjYnXMRJJa62SDvxHXxJI5nGDQdZW058dDE+av/anynN2rLKbCKXDRNw3D/sQmqxVflZFi4A==} dev: true - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.6 - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: - '@types/connect': 3.4.35 + '@types/connect': 3.4.38 '@types/node': 18.17.15 - /@types/bonjour@3.5.10: - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: '@types/node': 18.17.15 dev: false @@ -11243,51 +11700,51 @@ packages: /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 '@types/node': 18.17.15 - '@types/responselike': 1.0.0 + '@types/responselike': 1.0.3 /@types/cli-table@0.3.0: resolution: {integrity: sha512-QnZUISJJXyhyD6L1e5QwXDV/A5i2W1/gl6D6YMc8u0ncPepbv/B4w3S+izVvtAg60m6h+JP09+Y/0zF2mojlFQ==} dev: true - /@types/color-convert@2.0.0: - resolution: {integrity: sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==} + /@types/color-convert@2.0.3: + resolution: {integrity: sha512-2Q6wzrNiuEvYxVQqhh7sXM2mhIhvZR/Paq4FdsQkOMgWsCIkKvSGj8Le1/XalulrmgOzPMqNa0ix+ePY4hTrfg==} dependencies: - '@types/color-name': 1.1.1 + '@types/color-name': 1.1.3 dev: true - /@types/color-name@1.1.1: - resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} + /@types/color-name@1.1.3: + resolution: {integrity: sha512-87W6MJCKZYDhLAx/J1ikW8niMvmGRyY+rpUxWpL1cO7F8Uu5CHuQoFv+R0/L5pgNdW4jTyda42kv60uwVIPjLw==} dev: true - /@types/compression@1.7.2(@types/express@4.17.13): - resolution: {integrity: sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==} + /@types/compression@1.7.5(@types/express@4.17.13): + resolution: {integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==} peerDependencies: '@types/express': '*' dependencies: '@types/express': 4.17.13 dev: true - /@types/configstore@6.0.0: - resolution: {integrity: sha512-GUvNiia85zTDDIx0iPrtF3pI8dwrQkfuokEqxqPDE55qxH0U5SZz4awVZjiJLWN2ZZRkXCUqgsMUbygXY+kytA==} + /@types/configstore@6.0.2: + resolution: {integrity: sha512-OS//b51j9uyR3zvwD04Kfs5kHpve2qalQ18JhY/ho3voGYUTPLEG90/ocfKPI48hyHH8T04f7KEEbK6Ue60oZQ==} dev: true - /@types/connect-history-api-fallback@1.5.0: - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.17.35 + '@types/express-serve-static-core': 4.17.41 '@types/node': 18.17.15 dev: false - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: '@types/node': 18.17.15 - /@types/cors@2.8.13: - resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} + /@types/cors@2.8.17: + resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: '@types/node': 18.17.15 dev: true @@ -11296,8 +11753,8 @@ packages: resolution: {integrity: sha512-XIpxU6Qdvp1ZE6Kr3yrkv1qgUab0fyf4mHYvW8N3Bx3PCsbN6or1q9/q72cv5jIFWolaGH08U9XyYoLLIykyKQ==} dev: true - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: '@types/eslint': 8.2.0 '@types/estree': 1.0.5 @@ -11306,30 +11763,30 @@ packages: resolution: {integrity: sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==} dependencies: '@types/estree': 1.0.5 - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/events@3.0.0: - resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==} + /@types/events@3.0.3: + resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} dev: true - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: '@types/node': 18.17.15 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/qs': 6.9.11 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 /@types/express@4.17.13: resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.11 + '@types/serve-static': 1.15.5 /@types/fs-extra@7.0.0: resolution: {integrity: sha512-ndoMMbGyuToTy4qB6Lex/inR98nPiNHacsgMPvy+zqMLgSxbt8VtWpDArpGp69h1fEDQHn1KB+9DWD++wgbwYA==} @@ -11340,20 +11797,20 @@ packages: /@types/glob@7.1.1: resolution: {integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==} dependencies: - '@types/events': 3.0.0 + '@types/events': 3.0.3 '@types/minimatch': 3.0.5 '@types/node': 18.17.15 dev: true - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: '@types/node': 18.17.15 - /@types/hast@2.3.5: - resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} + /@types/hast@2.3.9: + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 dev: true /@types/heft-jest@1.0.1: @@ -11361,8 +11818,8 @@ packages: dependencies: '@types/jest': 29.2.5 - /@types/hoist-non-react-statics@3.3.1: - resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} + /@types/hoist-non-react-statics@3.3.5: + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: '@types/react': 17.0.74 hoist-non-react-statics: 3.3.2 @@ -11373,40 +11830,43 @@ packages: /@types/html-minifier-terser@6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - /@types/http-proxy@1.17.11: - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: '@types/node': 18.17.15 /@types/inquirer@7.3.1: resolution: {integrity: sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==} dependencies: - '@types/through': 0.0.30 + '@types/through': 0.0.33 rxjs: 6.6.7 dev: true - /@types/is-function@1.0.1: - resolution: {integrity: sha512-A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q==} + /@types/is-function@1.0.3: + resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==} dev: true /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 /@types/jest@23.3.13: resolution: {integrity: sha512-ePl4l+7dLLmCucIwgQHAgjiepY++qcI6nb8eAwGNkB6OxmTe3Z9rQU3rSpomqu42PCCnlThZbOoxsf+qylJsLA==} @@ -11422,14 +11882,14 @@ packages: /@types/jest@29.2.5: resolution: {integrity: sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==} dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 /@types/jest@29.5.11: resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: - expect: 29.6.2 - pretty-format: 29.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 dev: true /@types/jju@1.4.1: @@ -11444,11 +11904,11 @@ packages: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: '@types/node': 18.17.15 - '@types/tough-cookie': 4.0.2 + '@types/tough-cookie': 4.0.5 parse5: 7.1.2 - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -11473,34 +11933,34 @@ packages: resolution: {integrity: sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==} dev: false - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 dev: true - /@types/mime-types@2.1.1: - resolution: {integrity: sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==} + /@types/mime-types@2.1.4: + resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} dev: true - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: false /@types/minipass@3.3.5: resolution: {integrity: sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==} deprecated: This is a stub types definition. minipass provides its own type definitions, so you do not need this installed. dependencies: - minipass: 7.0.2 + minipass: 7.0.4 dev: true /@types/mocha@9.1.1: @@ -11519,6 +11979,12 @@ packages: '@types/node': 18.17.15 dev: true + /@types/node-forge@1.3.11: + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + dependencies: + '@types/node': 18.17.15 + dev: false + /@types/node@10.17.60: resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} dev: true @@ -11527,8 +11993,8 @@ packages: resolution: {integrity: sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==} dev: true - /@types/node@14.18.59: - resolution: {integrity: sha512-NWJMpBL2Xs3MY93yrD6YrrTKep8eIA6iMnfG4oIc6LrTRlBZgiSCGiY3V/Owlp6umIBLyKb4F8Q7hxWatjYH5A==} + /@types/node@14.18.63: + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} dev: true /@types/node@17.0.41: @@ -11538,14 +12004,14 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.5: - resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + /@types/node@20.11.6: + resolution: {integrity: sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==} dependencies: undici-types: 5.26.5 dev: true - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} /@types/npm-package-arg@6.1.0: resolution: {integrity: sha512-vbt5fb0y1svMhu++1lwtKmZL76d0uPChFlw7kEzyUmTwfmpHRcFb8i0R8ElT69q/L+QLgK2hgECivIAvaEDwag==} @@ -11555,16 +12021,18 @@ packages: resolution: {integrity: sha512-9NYoEH87t90e6dkaQOuUTY/R1xUE0a67sXzJBuAB+b+/z4FysHFD19g/O154ToGjyWqKYkezVUtuBdtfd4hyfw==} dev: true - /@types/npmlog@4.1.4: - resolution: {integrity: sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==} + /@types/npmlog@4.1.6: + resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} + dependencies: + '@types/node': 18.17.15 dev: true - /@types/overlayscrollbars@1.12.1: - resolution: {integrity: sha512-V25YHbSoKQN35UasHf0EKD9U2vcmexRSp78qa8UglxFH8H3D+adEa9zGZwrqpH4TdvqeMrgMqVqsLB4woAryrQ==} + /@types/overlayscrollbars@1.12.5: + resolution: {integrity: sha512-1yMmgFrq1DQ3sCHyb3DNfXnE0dB463MjG47ugX3cyade3sOt3U8Fjxk/Com0JJguTLPtw766TSDaO4NC65Wgkw==} dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} /@types/parse5@5.0.3: resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} @@ -11573,28 +12041,28 @@ packages: /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - /@types/pretty-hrtime@1.0.1: - resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} + /@types/pretty-hrtime@1.0.3: + resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} dev: true - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + /@types/prop-types@15.7.11: + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.11: + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} /@types/react-dom@17.0.25: resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==} dependencies: '@types/react': 17.0.74 - /@types/react-redux@7.1.25: - resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} + /@types/react-redux@7.1.33: + resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} dependencies: - '@types/hoist-non-react-statics': 3.3.1 + '@types/hoist-non-react-statics': 3.3.5 '@types/react': 17.0.74 hoist-non-react-statics: 3.3.2 redux: 4.2.1 @@ -11609,9 +12077,9 @@ packages: /@types/react@17.0.74: resolution: {integrity: sha512-nBtFGaeTMzpiL/p73xbmCi00SiCQZDTJUk9ZuHOLtil3nI+y7l269LHkHIAYpav99ZwGnPJzuJsJpfLXjiQ52g==} dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.3 - csstype: 3.1.2 + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 /@types/read-package-tree@5.1.0: resolution: {integrity: sha512-QEaGDX5COe5Usog79fca6PEycs59075O/W0QcOJjVNv+ZQ26xjqxg8sWu63Lwdt4KAI08gb4Muho1EbEKs3YFw==} @@ -11621,8 +12089,8 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: '@types/node': 18.17.15 @@ -11630,52 +12098,52 @@ packages: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: false - /@types/scheduler@0.16.3: - resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + /@types/scheduler@0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: - '@types/mime': 1.3.2 + '@types/mime': 1.3.5 '@types/node': 18.17.15 /@types/serialize-javascript@5.0.2: resolution: {integrity: sha512-BRLlwZzRoZukGaBtcUxkLsZsQfWZpvog6MZk3PWQO9Q6pXmXFzjU5iGzZ+943evp6tkkbN98N1Z31KT0UG1yRw==} dev: true - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: '@types/express': 4.17.13 dev: false - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 '@types/node': 18.17.15 - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: '@types/node': 18.17.15 dev: false - /@types/source-list-map@0.1.2: - resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==} + /@types/source-list-map@0.1.6: + resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} - /@types/ssri@7.1.1: - resolution: {integrity: sha512-DPP/jkDaqGiyU75MyMURxLWyYLwKSjnAuGe9ZCsLp9QZOpXmDfuevk769F0BS86TmRuD5krnp06qw9nSoNO+0g==} + /@types/ssri@7.1.5: + resolution: {integrity: sha512-odD/56S3B51liILSk5aXJlnYt99S6Rt9EFDDqGtJM26rKHApHcwyU/UoYHrzKkdkHMAIquGWCuHtQTbes+FRQw==} dependencies: '@types/node': 18.17.15 dev: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} /@types/strict-uri-encode@2.0.0: resolution: {integrity: sha512-R6vDd7CHxcWMzv5wfVhR3qyCRVQoZKwVd6kit0rkozTThRZSXZKEW2Kz3AxfVqq9+UyJAz1g8Q+bJ3CL6NzztQ==} @@ -11691,14 +12159,14 @@ packages: '@types/node': 18.17.15 dev: true - /@types/through@0.0.30: - resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} + /@types/through@0.0.33: + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} dependencies: '@types/node': 18.17.15 dev: true - /@types/tough-cookie@4.0.2: - resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} @@ -11706,19 +12174,19 @@ packages: '@types/node': 18.17.15 dev: false - /@types/uglify-js@3.17.1: - resolution: {integrity: sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==} + /@types/uglify-js@3.17.4: + resolution: {integrity: sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==} dependencies: source-map: 0.6.1 - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true - /@types/update-notifier@6.0.4: - resolution: {integrity: sha512-CiKJPSmt/3F4sVnkQTjnP/onKtTJxRkib6Gvw4XESM8FNsHlvRnBNqU5qL0IQmqjtKnz5e9E6Y7xChOpvxFzKg==} + /@types/update-notifier@6.0.8: + resolution: {integrity: sha512-IlDFnfSVfYQD+cKIg63DEXn3RFmd7W1iYtKQsJodcHK9R1yr8aKbKaPKfBxzPpcHCq2DU8zUq4PIPmy19Thjfg==} dependencies: - '@types/configstore': 6.0.0 + '@types/configstore': 6.0.2 boxen: 7.1.1 dev: true @@ -11730,14 +12198,14 @@ packages: resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} dev: true - /@types/vscode@1.81.0: - resolution: {integrity: sha512-YIaCwpT+O2E7WOMq0eCgBEABE++SX3Yl/O02GoMIF2DO3qAtvw7m6BXFYsxnc6XyzwZgh6/s/UG78LSSombl2w==} + /@types/vscode@1.85.0: + resolution: {integrity: sha512-CF/RBon/GXwdfmnjZj0WTUMZN5H6YITOfBCP4iEZlOtVQXuzw6t7Le7+cR+7JzdMrnlm7Mfp49Oj2TuSXIWo3g==} dev: true /@types/watchpack@2.4.0: resolution: {integrity: sha512-PSAD+o9hezvfUFFzrYB/PO6Je7kwiZ2BSnB3/EZ9le+jTDKB6x5NJ96WWzQz1h/AyGJ/de3/1KpuBTkUFZm77A==} dependencies: - '@types/graceful-fs': 4.1.6 + '@types/graceful-fs': 4.1.9 '@types/node': 18.17.15 dev: true @@ -11748,7 +12216,7 @@ packages: resolution: {integrity: sha512-77T++JyKow4BQB/m9O96n9d/UUHWLQHlcqXb9Vsf4F1+wKNrrlWNFPDLKNT92RJnCSL6CieTc+NDXtCVZswdTw==} dependencies: '@types/node': 18.17.15 - '@types/source-list-map': 0.1.2 + '@types/source-list-map': 0.1.6 source-map: 0.7.4 /@types/webpack@4.41.32: @@ -11756,7 +12224,7 @@ packages: dependencies: '@types/node': 18.17.15 '@types/tapable': 1.0.6 - '@types/uglify-js': 3.17.1 + '@types/uglify-js': 3.17.4 '@types/webpack-sources': 1.4.2 anymatch: 3.1.3 source-map: 0.6.1 @@ -11770,22 +12238,22 @@ packages: resolution: {integrity: sha512-a/ONNCf9itbmzEz1ohx0Fv5TLJzXIPQTapxFu+DlYlDtn9UcAa1OhnrOOMwbU8125hFjrkJKL3qllD7vO5Bivw==} dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - /@types/yargs@15.0.15: - resolution: {integrity: sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==} + /@types/yargs@15.0.19: + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 dev: true - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 - /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} + /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -11795,16 +12263,16 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) - '@typescript-eslint/type-utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) + '@typescript-eslint/type-utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -11813,8 +12281,8 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} + /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -11824,16 +12292,16 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/type-utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.3.3) @@ -11841,8 +12309,8 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/parser@6.19.0(eslint@7.11.0)(typescript@5.3.3): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.19.1(eslint@7.11.0)(typescript@5.3.3): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11851,10 +12319,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 eslint: 7.11.0 typescript: 5.3.3 @@ -11862,8 +12330,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@7.30.0)(typescript@5.3.3): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.19.1(eslint@7.30.0)(typescript@5.3.3): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11872,10 +12340,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 eslint: 7.30.0 typescript: 5.3.3 @@ -11883,8 +12351,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@7.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.19.1(eslint@7.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11893,10 +12361,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 eslint: 7.7.0 typescript: 5.3.3 @@ -11904,8 +12372,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.19.1(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11914,10 +12382,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) - '@typescript-eslint/types': 6.19.0(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) + '@typescript-eslint/types': 6.19.1(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 typescript: 4.9.5 @@ -11925,8 +12393,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.19.1(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11935,18 +12403,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color - /@typescript-eslint/rule-tester@6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-4/nUf0k1LYIxdEoNZBIvk3k4iXecV03mzKbHZQcB2TeyFuPUOnJGDQI8rrfbP7jbE2a6K7h5zU0ai0uG1ytO6g==} + /@typescript-eslint/rule-tester@6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-1qvOSO9kjtjP66UimQ06tnZC/XVhb2s5hVi2Cn33efnzM3m+j8rwcGJJ9xwKacUWe7U50iHrY9xrakmF7SPWbg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@eslint/eslintrc': '>=2' @@ -11954,8 +12422,8 @@ packages: dependencies: '@eslint/eslintrc': 3.0.0 '@types/semver': 7.5.0 - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) ajv: 6.12.6 eslint: 8.7.0 lodash.merge: 4.6.2 @@ -11965,27 +12433,27 @@ packages: - typescript dev: true - /@typescript-eslint/scope-manager@6.19.0(typescript@4.9.5): - resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} + /@typescript-eslint/scope-manager@6.19.1(typescript@4.9.5): + resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) + '@typescript-eslint/types': 6.19.1(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) transitivePeerDependencies: - typescript dev: true - /@typescript-eslint/scope-manager@6.19.0(typescript@5.3.3): - resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} + /@typescript-eslint/scope-manager@6.19.1(typescript@5.3.3): + resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) transitivePeerDependencies: - typescript - /@typescript-eslint/type-utils@6.19.0(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} + /@typescript-eslint/type-utils@6.19.1(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -11994,8 +12462,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -12004,8 +12472,8 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.19.0(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} + /@typescript-eslint/type-utils@6.19.1(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12014,8 +12482,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 ts-api-utils: 1.0.3(typescript@5.3.3) @@ -12032,8 +12500,8 @@ packages: typescript: 5.3.3 dev: true - /@typescript-eslint/types@6.19.0(typescript@4.9.5): - resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} + /@typescript-eslint/types@6.19.1(typescript@4.9.5): + resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12041,16 +12509,16 @@ packages: typescript: 4.9.5 dev: true - /@typescript-eslint/types@6.19.0(typescript@5.3.3): - resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} + /@typescript-eslint/types@6.19.1(typescript@5.3.3): + resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' dependencies: typescript: 5.3.3 - /@typescript-eslint/typescript-estree@6.19.0(typescript@4.9.5): - resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} + /@typescript-eslint/typescript-estree@6.19.1(typescript@4.9.5): + resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12058,8 +12526,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.0(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) + '@typescript-eslint/types': 6.19.1(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -12071,8 +12539,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3): - resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} + /@typescript-eslint/typescript-estree@6.19.1(typescript@5.3.3): + resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12080,8 +12548,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -12092,18 +12560,18 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@6.19.0(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} + /@typescript-eslint/utils@6.19.1(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.7.0) - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) - '@typescript-eslint/types': 6.19.0(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) + '@typescript-eslint/types': 6.19.1(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) eslint: 8.7.0 semver: 7.5.4 transitivePeerDependencies: @@ -12111,40 +12579,40 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.19.0(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} + /@typescript-eslint/utils@6.19.1(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.7.0) - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) eslint: 8.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - /@typescript-eslint/visitor-keys@6.19.0(typescript@4.9.5): - resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} + /@typescript-eslint/visitor-keys@6.19.1(typescript@4.9.5): + resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0(typescript@4.9.5) - eslint-visitor-keys: 3.4.2 + '@typescript-eslint/types': 6.19.1(typescript@4.9.5) + eslint-visitor-keys: 3.4.3 transitivePeerDependencies: - typescript dev: true - /@typescript-eslint/visitor-keys@6.19.0(typescript@5.3.3): - resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} + /@typescript-eslint/visitor-keys@6.19.1(typescript@5.3.3): + resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0(typescript@5.3.3) - eslint-visitor-keys: 3.4.2 + '@typescript-eslint/types': 6.19.1(typescript@5.3.3) + eslint-visitor-keys: 3.4.3 transitivePeerDependencies: - typescript @@ -12152,6 +12620,10 @@ packages: resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@vscode/test-electron@1.6.2: resolution: {integrity: sha512-W01ajJEMx6223Y7J5yaajGjVs1QfW3YGkkOJHVKfAMEqNB1ZHN9wCcViehv5ZwVSSJnjhu6lYEYgwBdHtCxqhQ==} engines: {node: '>=8.9.3'} @@ -12164,56 +12636,46 @@ packages: - supports-color dev: true - /@vue/compiler-core@3.3.4: - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + /@vue/compiler-core@3.4.15: + resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} dependencies: - '@babel/parser': 7.22.10 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.6 + '@vue/shared': 3.4.15 + entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: false - /@vue/compiler-dom@3.3.4: - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + /@vue/compiler-dom@3.4.15: + resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==} dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-core': 3.4.15 + '@vue/shared': 3.4.15 dev: false - /@vue/compiler-sfc@3.3.4: - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + /@vue/compiler-sfc@3.4.15: + resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.4.15 + '@vue/compiler-dom': 3.4.15 + '@vue/compiler-ssr': 3.4.15 + '@vue/shared': 3.4.15 estree-walker: 2.0.2 - magic-string: 0.30.2 - postcss: 8.4.27 + magic-string: 0.30.5 + postcss: 8.4.33 source-map-js: 1.0.2 dev: false - /@vue/compiler-ssr@3.3.4: - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + /@vue/compiler-ssr@3.4.15: + resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==} dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 - dev: false - - /@vue/reactivity-transform@3.3.4: - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} - dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.2 + '@vue/compiler-dom': 3.4.15 + '@vue/shared': 3.4.15 dev: false - /@vue/shared@3.3.4: - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + /@vue/shared@3.4.15: + resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} dev: false /@webassemblyjs/ast@1.11.6: @@ -12435,8 +12897,31 @@ packages: is-windows: 1.0.2 dev: false + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /@zkochan/rimraf@2.1.3: + resolution: {integrity: sha512-mCfR3gylCzPC+iqdxEA6z5SxJeOgzgbwmyxanKriIne5qZLswDe/M43aD3p5MNzwzXRhbZg/OX+MpES6Zk1a6A==} + engines: {node: '>=12.10'} + dependencies: + rimraf: 3.0.2 + dev: false + + /@zkochan/which@2.0.3: + resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -12456,15 +12941,15 @@ packages: /acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 8.10.0 - acorn-walk: 8.2.0 + acorn: 8.11.3 + acorn-walk: 8.3.2 - /acorn-import-assertions@1.9.0(acorn@8.10.0): + /acorn-import-assertions@1.9.0(acorn@8.11.3): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -12474,20 +12959,20 @@ packages: acorn: 7.4.1 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.3 /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: true - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} /acorn@6.4.2: @@ -12501,8 +12986,8 @@ packages: hasBin: true dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true @@ -12542,22 +13027,22 @@ packages: /airbnb-js-shims@2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 es5-shim: 4.6.7 es6-shim: 0.35.8 - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 globalthis: 1.0.3 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.getownpropertydescriptors: 2.1.6 - object.values: 1.1.6 - promise.allsettled: 1.0.6 - promise.prototype.finally: 3.1.4 - string.prototype.matchall: 4.0.8 - string.prototype.padend: 3.1.4 - string.prototype.padstart: 3.1.4 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.getownpropertydescriptors: 2.1.7 + object.values: 1.1.7 + promise.allsettled: 1.0.7 + promise.prototype.finally: 3.1.7 + string.prototype.matchall: 4.0.10 + string.prototype.padend: 3.1.5 + string.prototype.padstart: 3.1.5 symbol.prototype.description: 1.0.5 dev: true @@ -12729,17 +13214,33 @@ packages: readable-stream: 2.3.8 dev: true - /archiver@5.3.1: - resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} + /archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + dev: true + + /archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 - async: 3.2.4 + async: 3.2.5 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 tar-stream: 2.2.0 - zip-stream: 4.1.0 + zip-stream: 4.1.1 dev: true /archy@1.0.0: @@ -12784,7 +13285,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 is-array-buffer: 3.0.2 /array-differ@3.0.0: @@ -12795,18 +13296,14 @@ packages: /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - /array-flatten@2.1.2: - resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - dev: false - - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-string: 1.0.7 /array-union@1.0.2: @@ -12829,62 +13326,63 @@ packages: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 - /array.prototype.map@1.0.5: - resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} + /array.prototype.map@1.0.6: + resolution: {integrity: sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true - /array.prototype.reduce@1.0.5: - resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} + /array.prototype.reduce@1.0.6: + resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 /array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.0 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -12909,11 +13407,11 @@ packages: minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - /assert@1.5.0: - resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} + /assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} dependencies: - object-assign: 4.1.1 - util: 0.10.3 + object.assign: 4.1.5 + util: 0.10.4 /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} @@ -12967,8 +13465,8 @@ packages: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} dev: true - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: true /asynciterator.prototype@1.0.0: @@ -12999,27 +13497,27 @@ packages: engines: {node: '>=10.12.0'} dev: true - /autoprefixer@10.4.14(postcss@8.4.27): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + /autoprefixer@10.4.17(postcss@8.4.33): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.10 - caniuse-lite: 1.0.30001519 - fraction.js: 4.2.0 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001579 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 /autoprefixer@9.8.8: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.21.10 - caniuse-lite: 1.0.30001519 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001579 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -13036,7 +13534,7 @@ packages: dependencies: archy: 1.0.0 debug: 4.3.4 - fastq: 1.15.0 + fastq: 1.16.0 queue-microtask: 1.2.3 transitivePeerDependencies: - supports-color @@ -13048,16 +13546,7 @@ packages: peerDependencies: constructs: ^10.0.0 dependencies: - '@balena/dockerignore': 1.0.2 - case: 1.6.3 constructs: 10.0.130 - fs-extra: 9.1.0 - ignore: 5.2.4 - jsonschema: 1.4.1 - minimatch: 3.0.8 - punycode: 2.3.0 - semver: 7.5.4 - yaml: 1.10.2 dev: true bundledDependencies: - '@balena/dockerignore' @@ -13080,8 +13569,8 @@ packages: '@aws-cdk/cx-api': 2.7.0 '@aws-cdk/region-info': 2.7.0 '@jsii/check-node': 1.50.0 - archiver: 5.3.1 - aws-sdk: 2.1431.0 + archiver: 5.3.2 + aws-sdk: 2.1543.0 camelcase: 6.3.0 cdk-assets: 2.7.0 chalk: 4.1.2 @@ -13105,8 +13594,8 @@ packages: - supports-color dev: true - /aws-sdk@2.1431.0: - resolution: {integrity: sha512-p6NGyI6+BgojiGn6uW2If6v7uxRPO5C+aGy/M+9/Rhdk8a5n7l0123v9ZUnEJgAy0tsNkazL2ifzV33nc0aGNA==} + /aws-sdk@2.1543.0: + resolution: {integrity: sha512-sC8VwfdlauX7AYYm6Ed4SkONjt7cLr63AdkSL0MS+lwoy1fJwVRb2Kwylv+an1uAdQavRltWnEg2LVo2jzRQuA==} engines: {node: '>= 10.0.0'} dependencies: buffer: 4.9.2 @@ -13118,7 +13607,7 @@ packages: url: 0.10.3 util: 0.12.5 uuid: 8.0.0 - xml2js: 0.5.0 + xml2js: 0.6.2 dev: true /azure-devops-node-api@11.2.0: @@ -13136,17 +13625,17 @@ packages: '@babel/core': 7.20.12 dev: true - /babel-jest@29.6.2(@babel/core@7.20.12): - resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==} + /babel-jest@29.7.0(@babel/core@7.20.12): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.20.12 - '@jest/transform': 29.6.2 - '@types/babel__core': 7.20.1 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.5.0(@babel/core@7.20.12) + babel-preset-jest: 29.6.3(@babel/core@7.20.12) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -13185,7 +13674,7 @@ packages: /babel-plugin-emotion@10.2.2: resolution: {integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==} dependencies: - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@emotion/hash': 0.8.0 '@emotion/memoize': 0.7.4 '@emotion/serialize': 0.11.16 @@ -13215,30 +13704,30 @@ packages: transitivePeerDependencies: - supports-color - /babel-plugin-jest-hoist@29.5.0: - resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.5 /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 cosmiconfig: 6.0.0 - resolve: 1.22.4 + resolve: 1.22.8 dev: true /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 cosmiconfig: 7.1.0 - resolve: 1.22.4 + resolve: 1.22.8 dev: true /babel-plugin-named-asset-import@0.3.8(@babel/core@7.20.12): @@ -13249,14 +13738,14 @@ packages: '@babel/core': 7.20.12 dev: true - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.20.12): - resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.20.12): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.9 + '@babel/compat-data': 7.23.5 '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.20.12) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -13269,30 +13758,30 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.20.12) - core-js-compat: 3.32.0 + core-js-compat: 3.35.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.20.12): - resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} + /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.20.12): + resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) - core-js-compat: 3.32.0 + '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.20.12) + core-js-compat: 3.35.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.20.12): - resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.20.12): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.20.12) transitivePeerDependencies: - supports-color dev: true @@ -13330,14 +13819,14 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) - /babel-preset-jest@29.5.0(@babel/core@7.20.12): - resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} + /babel-preset-jest@29.6.3(@babel/core@7.20.12): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - babel-plugin-jest-hoist: 29.5.0 + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) /bail@1.0.5: @@ -13356,7 +13845,7 @@ packages: dependencies: cache-base: 1.0.1 class-utils: 0.3.6 - component-emitter: 1.3.0 + component-emitter: 1.3.1 define-property: 1.0.0 isobject: 3.0.1 mixin-deep: 1.3.2 @@ -13384,8 +13873,8 @@ packages: is-windows: 1.0.2 dev: false - /big-integer@1.6.51: - resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} dev: true @@ -13478,11 +13967,16 @@ packages: individual: 3.0.0 dev: true - /bonjour-service@1.1.1: - resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + /bole@5.0.10: + resolution: {integrity: sha512-5IiUWQ8QRQ8yHf46VPQ7GH3nj0Jy7P4heaENBVmsGfHP1Gtd0wqkvK6C3iHLUMdG3SMFx2DD8FqoIQcnMpdIdQ==} + dependencies: + fast-safe-stringify: 2.1.1 + individual: 3.0.0 + dev: false + + /bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} dependencies: - array-flatten: 2.1.2 - dns-equal: 1.0.0 fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 dev: false @@ -13587,8 +14081,9 @@ packages: bn.js: 5.2.1 randombytes: 2.1.0 - /browserify-sign@4.2.1: - resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + /browserify-sign@4.2.2: + resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} + engines: {node: '>= 4'} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -13605,15 +14100,15 @@ packages: dependencies: pako: 1.0.11 - /browserslist@4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.487 - node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + caniuse-lite: 1.0.30001579 + electron-to-chromium: 1.4.645 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -13647,7 +14142,7 @@ packages: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.2.1 + ieee754: 1.1.13 isarray: 1.0.0 /buffer@5.7.1: @@ -13699,12 +14194,12 @@ packages: '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 foreground-child: 2.0.0 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.1.6 rimraf: 3.0.2 test-exclude: 6.0.0 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.2.0 yargs: 16.2.0 yargs-parser: 20.2.9 dev: true @@ -13757,7 +14252,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: collection-visit: 1.0.0 - component-emitter: 1.3.0 + component-emitter: 1.3.1 get-value: 2.0.6 has-value: 1.0.0 isobject: 3.0.1 @@ -13777,17 +14272,11 @@ packages: clone-response: 1.0.3 get-stream: 5.2.0 http-cache-semantics: 4.1.1 - keyv: 4.5.3 + keyv: 4.5.4 lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: @@ -13855,14 +14344,14 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.10 - caniuse-lite: 1.0.30001519 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001579 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001519: - resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + /caniuse-lite@1.0.30001579: + resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} /capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -13876,11 +14365,6 @@ packages: engines: {node: '>=4'} dev: true - /case@1.6.3: - resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} - engines: {node: '>= 0.8.0'} - dev: true - /ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true @@ -13892,8 +14376,8 @@ packages: dependencies: '@aws-cdk/cloud-assembly-schema': 2.7.0 '@aws-cdk/cx-api': 2.7.0 - archiver: 5.3.1 - aws-sdk: 2.1431.0 + archiver: 5.3.2 + aws-sdk: 2.1543.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 @@ -14027,7 +14511,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -14043,8 +14527,8 @@ packages: /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} /cipher-base@1.0.4: @@ -14071,8 +14555,8 @@ packages: dependencies: source-map: 0.6.1 - /clean-css@5.3.2: - resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + /clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -14109,8 +14593,8 @@ packages: restore-cursor: 3.1.0 dev: false - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} dev: false @@ -14275,6 +14759,12 @@ packages: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} dev: true + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + requiresBuild: true + optional: true + /commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -14300,12 +14790,6 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - optional: true - /comment-parser@1.3.0: resolution: {integrity: sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==} engines: {node: '>= 12.0.0'} @@ -14318,15 +14802,15 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /component-emitter@1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + /component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - /compress-commons@4.1.1: - resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} + /compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 - crc32-stream: 4.0.2 + crc32-stream: 4.0.3 normalize-path: 3.0.0 readable-stream: 3.6.2 dev: true @@ -14353,6 +14837,11 @@ packages: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: true + /comver-to-semver@1.0.0: + resolution: {integrity: sha512-gcGtbRxjwROQOdXLUWH1fQAXqThUVRZ219aAwgtX3KfYw429/Zv6EIJRf5TBSzWdAGwePmqH7w70WTaX4MDqag==} + engines: {node: '>=12.17'} + dev: false + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -14455,19 +14944,19 @@ packages: toggle-selection: 1.0.6 dev: true - /core-js-compat@3.32.0: - resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} + /core-js-compat@3.35.1: + resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} dependencies: - browserslist: 4.21.10 + browserslist: 4.22.2 dev: true - /core-js-pure@3.32.0: - resolution: {integrity: sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==} + /core-js-pure@3.35.1: + resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} requiresBuild: true dev: true - /core-js@3.32.0: - resolution: {integrity: sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==} + /core-js@3.35.1: + resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} requiresBuild: true dev: true @@ -14486,7 +14975,7 @@ packages: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.2 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -14497,7 +14986,7 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.2 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -14534,8 +15023,8 @@ packages: hasBin: true dev: true - /crc32-stream@4.0.2: - resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} + /crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 @@ -14567,6 +15056,25 @@ packages: safe-buffer: 5.2.1 sha.js: 2.4.11 + /create-jest@29.7.0(@types/node@18.17.15): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.17.15) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -14593,7 +15101,7 @@ packages: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.1 + browserify-sign: 4.2.2 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -14608,13 +15116,13 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - /css-declaration-sorter@6.4.1(postcss@8.4.27): + /css-declaration-sorter@6.4.1(postcss@8.4.33): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false /css-loader@3.6.0(webpack@4.47.0): @@ -14645,13 +15153,13 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 || ^4 || ^5 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) + icss-utils: 5.1.0(postcss@8.4.33) loader-utils: 2.0.4 - postcss: 8.4.27 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) - postcss-modules-scope: 3.0.0(postcss@8.4.27) - postcss-modules-values: 4.0.0(postcss@8.4.27) + postcss: 8.4.33 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) + postcss-modules-scope: 3.1.1(postcss@8.4.33) + postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.5.4 @@ -14664,12 +15172,12 @@ packages: peerDependencies: webpack: ^5.0.0 || ^4 || ^5 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) - postcss-modules-scope: 3.0.0(postcss@8.4.27) - postcss-modules-values: 4.0.0(postcss@8.4.27) + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) + postcss-modules-scope: 3.1.1(postcss@8.4.33) + postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.82.1 @@ -14693,9 +15201,9 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.1.15(postcss@8.4.27) + cssnano: 5.1.15(postcss@8.4.33) jest-worker: 27.5.1 - postcss: 8.4.27 + postcss: 8.4.33 schema-utils: 4.2.0 serialize-javascript: 6.0.0 source-map: 0.6.1 @@ -14738,62 +15246,62 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@5.2.14(postcss@8.4.27): + /cssnano-preset-default@5.2.14(postcss@8.4.33): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.27) - cssnano-utils: 3.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-calc: 8.2.4(postcss@8.4.27) - postcss-colormin: 5.3.1(postcss@8.4.27) - postcss-convert-values: 5.1.3(postcss@8.4.27) - postcss-discard-comments: 5.1.2(postcss@8.4.27) - postcss-discard-duplicates: 5.1.0(postcss@8.4.27) - postcss-discard-empty: 5.1.1(postcss@8.4.27) - postcss-discard-overridden: 5.1.0(postcss@8.4.27) - postcss-merge-longhand: 5.1.7(postcss@8.4.27) - postcss-merge-rules: 5.1.4(postcss@8.4.27) - postcss-minify-font-values: 5.1.0(postcss@8.4.27) - postcss-minify-gradients: 5.1.1(postcss@8.4.27) - postcss-minify-params: 5.1.4(postcss@8.4.27) - postcss-minify-selectors: 5.2.1(postcss@8.4.27) - postcss-normalize-charset: 5.1.0(postcss@8.4.27) - postcss-normalize-display-values: 5.1.0(postcss@8.4.27) - postcss-normalize-positions: 5.1.1(postcss@8.4.27) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.27) - postcss-normalize-string: 5.1.0(postcss@8.4.27) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.27) - postcss-normalize-unicode: 5.1.1(postcss@8.4.27) - postcss-normalize-url: 5.1.0(postcss@8.4.27) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.27) - postcss-ordered-values: 5.1.3(postcss@8.4.27) - postcss-reduce-initial: 5.1.2(postcss@8.4.27) - postcss-reduce-transforms: 5.1.0(postcss@8.4.27) - postcss-svgo: 5.1.0(postcss@8.4.27) - postcss-unique-selectors: 5.1.1(postcss@8.4.27) - dev: false - - /cssnano-utils@3.1.0(postcss@8.4.27): + css-declaration-sorter: 6.4.1(postcss@8.4.33) + cssnano-utils: 3.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-calc: 8.2.4(postcss@8.4.33) + postcss-colormin: 5.3.1(postcss@8.4.33) + postcss-convert-values: 5.1.3(postcss@8.4.33) + postcss-discard-comments: 5.1.2(postcss@8.4.33) + postcss-discard-duplicates: 5.1.0(postcss@8.4.33) + postcss-discard-empty: 5.1.1(postcss@8.4.33) + postcss-discard-overridden: 5.1.0(postcss@8.4.33) + postcss-merge-longhand: 5.1.7(postcss@8.4.33) + postcss-merge-rules: 5.1.4(postcss@8.4.33) + postcss-minify-font-values: 5.1.0(postcss@8.4.33) + postcss-minify-gradients: 5.1.1(postcss@8.4.33) + postcss-minify-params: 5.1.4(postcss@8.4.33) + postcss-minify-selectors: 5.2.1(postcss@8.4.33) + postcss-normalize-charset: 5.1.0(postcss@8.4.33) + postcss-normalize-display-values: 5.1.0(postcss@8.4.33) + postcss-normalize-positions: 5.1.1(postcss@8.4.33) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.33) + postcss-normalize-string: 5.1.0(postcss@8.4.33) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.33) + postcss-normalize-unicode: 5.1.1(postcss@8.4.33) + postcss-normalize-url: 5.1.0(postcss@8.4.33) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.33) + postcss-ordered-values: 5.1.3(postcss@8.4.33) + postcss-reduce-initial: 5.1.2(postcss@8.4.33) + postcss-reduce-transforms: 5.1.0(postcss@8.4.33) + postcss-svgo: 5.1.0(postcss@8.4.33) + postcss-unique-selectors: 5.1.1(postcss@8.4.33) + dev: false + + /cssnano-utils@3.1.0(postcss@8.4.33): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /cssnano@5.1.15(postcss@8.4.27): + /cssnano@5.1.15(postcss@8.4.33): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.27) + cssnano-preset-default: 5.2.14(postcss@8.4.33) lilconfig: 2.1.0 - postcss: 8.4.27 + postcss: 8.4.33 yaml: 1.10.2 dev: false @@ -14820,8 +15328,8 @@ packages: resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /cyclist@1.0.2: resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==} @@ -14984,47 +15492,40 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 gopd: 1.0.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: false - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 object-keys: 1.1.1 /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 0.1.6 + is-descriptor: 0.1.7 /define-property@1.0.0: resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 1.0.2 + is-descriptor: 1.0.3 /define-property@2.0.2: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 1.0.2 + is-descriptor: 1.0.3 isobject: 3.0.1 /degenerator@3.0.4: @@ -15054,32 +15555,32 @@ packages: immer: 9.0.21 dev: true - /depcheck@1.4.3: - resolution: {integrity: sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==} + /depcheck@1.4.7: + resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==} engines: {node: '>=10'} hasBin: true dependencies: - '@babel/parser': 7.16.4 - '@babel/traverse': 7.22.10 - '@vue/compiler-sfc': 3.3.4 + '@babel/parser': 7.23.6 + '@babel/traverse': 7.23.7 + '@vue/compiler-sfc': 3.4.15 + callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 debug: 4.3.4 - deps-regex: 0.1.4 - ignore: 5.1.9 - is-core-module: 2.13.0 + deps-regex: 0.2.0 + findup-sync: 5.0.0 + ignore: 5.3.0 + is-core-module: 2.13.1 js-yaml: 3.14.1 json5: 2.2.3 lodash: 4.17.21 - minimatch: 3.0.8 + minimatch: 7.4.6 multimatch: 5.0.0 please-upgrade-node: 3.2.0 - query-ast: 1.0.5 readdirp: 3.6.0 require-package-name: 2.0.1 - resolve: 1.22.4 - sass: 1.49.11 - scss-parser: 1.0.6 + resolve: 1.22.8 + resolve-from: 5.0.0 semver: 7.5.4 yargs: 16.2.0 transitivePeerDependencies: @@ -15101,12 +15602,12 @@ packages: dependencies: '@pnpm/crypto.base32-hash': 1.0.1 '@pnpm/types': 8.9.0 - encode-registry: 3.0.0 + encode-registry: 3.0.1 semver: 7.5.4 dev: false - /deps-regex@0.1.4: - resolution: {integrity: sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==} + /deps-regex@0.2.0: + resolution: {integrity: sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==} dev: false /des.js@1.1.0: @@ -15182,8 +15683,8 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} /diff@4.0.2: @@ -15221,12 +15722,8 @@ packages: dependencies: path-type: 4.0.0 - /dns-equal@1.0.0: - resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - dev: false - - /dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -15252,8 +15749,8 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.22.10 - csstype: 3.1.2 + '@babel/runtime': 7.23.8 + csstype: 3.1.3 dev: false /dom-serializer@1.4.1: @@ -15285,6 +15782,7 @@ packages: /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 7.0.0 @@ -15354,7 +15852,7 @@ packages: peerDependencies: react: '>=16.12.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 compute-scroll-into-view: 1.0.20 prop-types: 15.8.1 react: 17.0.2 @@ -15384,7 +15882,7 @@ packages: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 - stream-shift: 1.0.1 + stream-shift: 1.0.3 /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -15399,8 +15897,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.487: - resolution: {integrity: sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==} + /electron-to-chromium@1.4.645: + resolution: {integrity: sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==} /element-resize-detector@1.2.4: resolution: {integrity: sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==} @@ -15444,7 +15942,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/weak-memoize': 0.2.5 '@types/react': 17.0.74 @@ -15452,8 +15950,8 @@ packages: react: 17.0.2 dev: true - /encode-registry@3.0.0: - resolution: {integrity: sha512-2fRYji8K6FwYuQ6EPBKR/J9mcqb7kIoNqt1vGvJr3NrvKfncRiNm00Oxo6gi/YJF8R5Sp2bNFSFdGKTG0rje1Q==} + /encode-registry@3.0.1: + resolution: {integrity: sha512-6qOwkl1g0fv0DN3Y3ggr2EaZXN71aoAqPp3p/pVaWSBSIo+YjLOWN61Fva43oVyQNPf7kgm8lkudzlzojwE2jw==} engines: {node: '>=10'} dependencies: mem: 8.1.1 @@ -15523,8 +16021,8 @@ packages: engines: {node: '>=6'} dev: true - /envinfo@7.10.0: - resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} + /envinfo@7.11.0: + resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} engines: {node: '>=4'} hasBin: true dev: true @@ -15550,26 +16048,26 @@ packages: stackframe: 1.3.4 dev: true - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 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-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + hasown: 2.0.0 + internal-slot: 1.0.6 is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 @@ -15578,21 +16076,21 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.2 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} @@ -15600,8 +16098,8 @@ packages: /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -15615,35 +16113,35 @@ packages: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.1 - es-set-tostringtag: 2.0.1 - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 globalthis: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 + hasown: 2.0.0 - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.3 + hasown: 2.0.0 /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -15922,34 +16420,35 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 dev: true /escalade@3.1.1: @@ -16003,8 +16502,8 @@ packages: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.13.0 - resolve: 1.22.4 + is-core-module: 2.13.1 + resolve: 1.22.8 dev: false /eslint-module-utils@2.8.0(eslint@8.7.0): @@ -16026,7 +16525,7 @@ packages: eslint: ^7.0.0 || ^8.0.0 typescript: ^4.2.4 || ^5.0.0 dependencies: - '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 tslib: 2.3.1 tsutils: 3.21.0(typescript@5.3.3) @@ -16049,20 +16548,20 @@ packages: peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 debug: 2.6.9 doctrine: 2.1.0 eslint: 8.7.0 eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.0(eslint@8.7.0) - has: 1.0.3 - is-core-module: 2.13.0 + has: 1.0.4 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.0.8 - object.values: 1.1.6 - resolve: 1.22.4 - tsconfig-paths: 3.14.2 + object.values: 1.1.7 + resolve: 1.22.8 + tsconfig-paths: 3.15.0 dev: false /eslint-plugin-jsdoc@37.6.1(eslint@8.7.0): @@ -16107,8 +16606,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 @@ -16116,14 +16615,14 @@ packages: estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.10 /eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} @@ -16177,8 +16676,8 @@ packages: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} - /eslint-visitor-keys@3.4.2: - resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint@7.11.0: @@ -16186,7 +16685,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 '@eslint/eslintrc': 0.1.3 ajv: 6.12.6 chalk: 4.1.2 @@ -16222,7 +16721,7 @@ packages: strip-json-comments: 3.1.1 table: 5.4.6 text-table: 0.2.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color dev: true @@ -16252,7 +16751,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 - globals: 13.20.0 + globals: 13.24.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -16261,7 +16760,7 @@ packages: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.0.8 natural-compare: 1.4.0 optionator: 0.9.3 progress: 2.0.3 @@ -16271,7 +16770,7 @@ packages: strip-json-comments: 3.1.1 table: 6.8.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color dev: true @@ -16281,7 +16780,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -16316,23 +16815,24 @@ packages: strip-json-comments: 3.1.1 table: 5.4.6 text-table: 0.2.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color dev: true - /eslint@8.46.0: - resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.1 - '@eslint/js': 8.46.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -16340,7 +16840,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -16348,9 +16848,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -16382,7 +16882,7 @@ packages: escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-utils: 3.0.0(eslint@8.7.0) - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -16390,8 +16890,8 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.20.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -16406,7 +16906,7 @@ packages: strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 transitivePeerDependencies: - supports-color @@ -16423,9 +16923,9 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.2 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -16456,8 +16956,8 @@ packages: resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==} engines: {node: '>=8.3.0'} dependencies: - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -16558,16 +17058,15 @@ packages: dependencies: homedir-polyfill: 1.0.3 - /expect@29.6.2: - resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.6.2 - '@types/node': 18.17.15 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 /express@4.18.1: resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} @@ -16679,8 +17178,8 @@ packages: micromatch: 3.1.10 dev: true - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -16702,7 +17201,7 @@ packages: dependencies: ajv: 6.12.6 deepmerge: 4.3.1 - rfdc: 1.3.0 + rfdc: 1.3.1 string-similarity: 4.0.4 dev: false @@ -16742,7 +17241,7 @@ packages: light-my-request: 4.12.0 pino: 6.14.0 readable-stream: 3.6.2 - rfdc: 1.3.0 + rfdc: 1.3.1 secure-json-parse: 2.7.0 semver: 7.5.4 tiny-lru: 7.0.6 @@ -16750,8 +17249,8 @@ packages: - supports-color dev: false - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} dependencies: reusify: 1.0.4 @@ -16781,6 +17280,7 @@ packages: /figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} + deprecated: This module is no longer supported. /figures@3.0.0: resolution: {integrity: sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==} @@ -16800,7 +17300,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 /file-loader@6.0.0(webpack@4.47.0): resolution: {integrity: sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==} @@ -16935,6 +17435,16 @@ packages: micromatch: 3.1.10 resolve-dir: 1.0.1 + /findup-sync@5.0.0: + resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} + engines: {node: '>= 10.13.0'} + dependencies: + detect-file: 1.0.0 + is-glob: 4.0.3 + micromatch: 4.0.5 + resolve-dir: 1.0.1 + dev: false + /flat-cache@2.0.1: resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} engines: {node: '>=4'} @@ -16944,11 +17454,12 @@ packages: write: 1.0.3 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 /flat@5.0.2: @@ -16964,11 +17475,11 @@ packages: resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - /flow-parser@0.214.0: - resolution: {integrity: sha512-RW1Dh6BuT14DA7+gtNRKzgzvG3GTPdrceHCi4ddZ9VFGQ9HtO5L8wzxMGsor7XtInIrbWZZCSak0oxnBF7tApw==} + /flow-parser@0.227.0: + resolution: {integrity: sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA==} engines: {node: '>=0.4.0'} dev: true @@ -16978,8 +17489,8 @@ packages: inherits: 2.0.4 readable-stream: 2.3.8 - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -17008,7 +17519,7 @@ packages: resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} engines: {node: '>=6.11.5', yarn: '>=1.0.0'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 chalk: 2.4.2 micromatch: 3.1.10 minimatch: 3.0.8 @@ -17031,8 +17542,8 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.22.10 - '@types/json-schema': 7.0.12 + '@babel/code-frame': 7.23.5 + '@types/json-schema': 7.0.15 chalk: 4.1.2 chokidar: 3.4.3 cosmiconfig: 6.0.0 @@ -17074,8 +17585,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} /fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} @@ -17103,7 +17614,7 @@ packages: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: @@ -17130,7 +17641,7 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-minipass@2.1.0: @@ -17161,7 +17672,7 @@ packages: requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.17.0 + nan: 2.18.0 optional: true /fsevents@2.1.3: @@ -17172,8 +17683,8 @@ packages: requiresBuild: true optional: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -17197,19 +17708,16 @@ packages: xregexp: 2.0.0 dev: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 functions-have-names: 1.2.3 /functional-red-black-tree@1.0.1: @@ -17270,14 +17778,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -17316,8 +17816,8 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 /get-uri@3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} @@ -17482,8 +17982,8 @@ packages: type-fest: 0.8.1 dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -17492,7 +17992,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -17500,8 +18000,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 @@ -17522,7 +18022,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} @@ -17531,7 +18031,7 @@ packages: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.0 + '@types/responselike': 1.0.3 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -17606,11 +18106,6 @@ packages: is-glob: 3.1.0 dev: true - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.1 - /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: @@ -17665,11 +18160,10 @@ packages: resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} engines: {node: '>=8'} - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 + dev: false /hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} @@ -17694,7 +18188,7 @@ packages: /hast-to-hyperscript@9.0.1: resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 comma-separated-tokens: 1.0.8 property-information: 5.6.0 space-separated-tokens: 1.1.5 @@ -17721,7 +18215,7 @@ packages: /hast-util-raw@6.0.1: resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.9 hast-util-from-parse5: 6.0.1 hast-util-to-parse5: 6.0.0 html-void-elements: 1.0.5 @@ -17746,7 +18240,7 @@ packages: /hastscript@6.0.0: resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.9 comma-separated-tokens: 1.0.8 hast-util-parse-selector: 2.2.5 property-information: 5.6.0 @@ -17776,7 +18270,7 @@ packages: /history@5.0.0: resolution: {integrity: sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: true /hmac-drbg@1.0.1: @@ -17846,12 +18340,12 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.2 + clean-css: 5.3.3 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.19.2 + terser: 5.27.0 /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} @@ -17879,8 +18373,8 @@ packages: util.promisify: 1.0.0 webpack: 4.47.0(webpack-cli@3.3.12) - /html-webpack-plugin@5.5.3(webpack@5.82.1): - resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} + /html-webpack-plugin@5.5.4(webpack@5.82.1): + resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==} engines: {node: '>=10.13.0'} peerDependencies: webpack: ^5.20.0 || ^4 || ^5 @@ -17980,7 +18474,7 @@ packages: optional: true dependencies: '@types/express': 4.17.13 - '@types/http-proxy': 1.17.11 + '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -17994,7 +18488,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.5 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -18006,7 +18500,7 @@ packages: '@types/express': '*' dependencies: '@types/express': 4.17.13 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 send: 0.17.2 setprototypeof: 1.2.0 dev: false @@ -18069,17 +18563,16 @@ packages: postcss: 7.0.39 dev: true - /icss-utils@5.1.0(postcss@8.4.27): + /icss-utils@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 /ieee754@1.1.13: resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} - dev: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -18102,8 +18595,8 @@ packages: resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} engines: {node: '>= 4'} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} /immediate@3.0.6: @@ -18113,8 +18606,8 @@ packages: /immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - /immutable@4.3.2: - resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: false /import-fresh@3.3.0: @@ -18159,7 +18652,6 @@ packages: /individual@3.0.0: resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} - dev: true /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -18170,9 +18662,6 @@ packages: once: 1.4.0 wrappy: 1.0.2 - /inherits@2.0.1: - resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} - /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -18213,12 +18702,12 @@ packages: through: 2.3.8 dev: false - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 + get-intrinsic: 1.2.2 + hasown: 2.0.0 side-channel: 1.0.4 /interpret@1.4.0: @@ -18234,6 +18723,7 @@ packages: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 + dev: true /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} @@ -18257,17 +18747,11 @@ packages: engines: {node: '>=8'} dev: true - /is-accessor-descriptor@0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - - /is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} + /is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} dependencies: - kind-of: 6.0.3 + hasown: 2.0.0 /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -18284,15 +18768,15 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 dev: true /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-typed-array: 1.1.12 /is-arrayish@0.2.1: @@ -18327,7 +18811,7 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 /is-buffer@1.1.6: @@ -18348,22 +18832,16 @@ packages: dependencies: ci-info: 2.0.0 - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - - /is-data-descriptor@0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - kind-of: 3.2.2 + hasown: 2.0.0 - /is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} + /is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} dependencies: - kind-of: 6.0.3 + hasown: 2.0.0 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -18375,21 +18853,19 @@ packages: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true - /is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} + /is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 - /is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} + /is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} @@ -18424,7 +18900,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 /is-fullwidth-code-point@1.0.0: resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} @@ -18562,7 +19038,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 /is-set@2.0.2: @@ -18571,7 +19047,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} @@ -18605,7 +19081,7 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -18620,13 +19096,13 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 /is-whitespace-character@1.0.4: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} @@ -18685,8 +19161,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} /istanbul-lib-instrument@5.2.1: @@ -18694,18 +19170,31 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.20.12 - '@babel/parser': 7.22.10 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.20.12 + '@babel/parser': 7.23.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 @@ -18714,7 +19203,7 @@ packages: engines: {node: '>=10'} dependencies: debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color @@ -18741,48 +19230,49 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 - /jest-changed-files@29.5.0: - resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 + jest-util: 29.7.0 p-limit: 3.1.0 - /jest-circus@29.6.2: - resolution: {integrity: sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==} + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/expect': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/types': 29.6.3 '@types/node': 18.17.15 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 is-generator-fn: 2.1.0 - jest-each: 29.6.2 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-runtime: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 29.6.2 - pure-rand: 6.0.2 + pretty-format: 29.7.0 + pure-rand: 6.0.4 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: - babel-plugin-macros - supports-color - /jest-cli@29.6.2(@types/node@18.17.15): - resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==} + /jest-cli@29.7.0(@types/node@18.17.15): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -18791,17 +19281,16 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/types': 29.6.1 + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/types': 29.6.3 chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.17.15) exit: 0.1.2 - graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.6.2(@types/node@18.17.15) - jest-util: 29.6.2 - jest-validate: 29.6.2 - prompts: 2.4.2 + jest-config: 29.7.0(@types/node@18.17.15) + jest-util: 29.7.0 + jest-validate: 29.7.0 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -18823,34 +19312,34 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@jest/test-sequencer': 29.6.2(@types/node@18.17.15) + '@jest/test-sequencer': 29.7.0(@types/node@18.17.15) '@jest/types': 29.5.0 '@types/node': 18.17.15 - babel-jest: 29.6.2(@babel/core@7.20.12) + babel-jest: 29.7.0(@babel/core@7.20.12) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.6.2 + jest-circus: 29.7.0 jest-environment-node: 29.5.0 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 jest-resolve: 29.5.0 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: - babel-plugin-macros - supports-color - /jest-config@29.6.2(@types/node@18.17.15): - resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} + /jest-config@29.7.0(@types/node@18.17.15): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' @@ -18862,26 +19351,26 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@jest/test-sequencer': 29.6.2(@types/node@18.17.15) - '@jest/types': 29.6.1 + '@jest/test-sequencer': 29.7.0(@types/node@18.17.15) + '@jest/types': 29.6.3 '@types/node': 18.17.15 - babel-jest: 29.6.2(@babel/core@7.20.12) + babel-jest: 29.7.0(@babel/core@7.20.12) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.6.2 - jest-environment-node: 29.6.2 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -18899,30 +19388,30 @@ packages: pretty-format: 27.5.1 dev: true - /jest-diff@29.6.2: - resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - /jest-docblock@29.4.3: - resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 - /jest-each@29.6.2: - resolution: {integrity: sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==} + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 chalk: 4.1.2 - jest-get-type: 29.4.3 - jest-util: 29.6.2 - pretty-format: 29.6.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 /jest-environment-jsdom@29.5.0: resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} @@ -18933,13 +19422,13 @@ packages: canvas: optional: true dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 '@jest/types': 29.5.0 '@types/jsdom': 20.0.1 '@types/node': 18.17.15 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 jsdom: 20.0.3 transitivePeerDependencies: - bufferutil @@ -18950,31 +19439,31 @@ packages: resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 '@jest/types': 29.5.0 '@types/node': 18.17.15 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 - /jest-environment-node@29.6.2: - resolution: {integrity: sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==} + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.15 - jest-mock: 29.6.2 - jest-util: 29.6.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 /jest-get-type@27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} /jest-haste-map@26.6.2: @@ -18982,7 +19471,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.6 + '@types/graceful-fs': 4.1.9 '@types/node': 18.17.15 anymatch: 3.1.3 fb-watchman: 2.0.2 @@ -18995,26 +19484,26 @@ packages: sane: 4.1.0 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /jest-haste-map@29.6.2: - resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 - '@types/graceful-fs': 4.1.6 + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 '@types/node': 18.17.15 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 29.4.3 - jest-util: 29.6.2 - jest-worker: 29.6.2 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 /jest-junit@12.3.0: resolution: {integrity: sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g==} @@ -19026,12 +19515,12 @@ packages: xml: 1.0.1 dev: false - /jest-leak-detector@29.6.2: - resolution: {integrity: sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==} + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 /jest-matcher-utils@27.5.1: resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} @@ -19043,36 +19532,36 @@ packages: pretty-format: 27.5.1 dev: true - /jest-matcher-utils@29.6.2: - resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - pretty-format: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - /jest-message-util@29.6.2: - resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.10 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 + '@babel/code-frame': 7.23.5 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.6.2 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - /jest-mock@29.6.2: - resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.17.15 - jest-util: 29.6.2 + jest-util: 29.7.0 /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -19085,7 +19574,7 @@ packages: dependencies: jest-resolve: 29.5.0 - /jest-pnp-resolver@1.2.3(jest-resolve@29.6.2): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -19094,23 +19583,23 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.6.2 + jest-resolve: 29.7.0 /jest-regex-util@26.0.0: resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} engines: {node: '>= 10.14.2'} dev: true - /jest-regex-util@29.4.3: - resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - /jest-resolve-dependencies@29.6.2: - resolution: {integrity: sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==} + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 29.4.3 - jest-snapshot: 29.6.2 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color @@ -19120,80 +19609,80 @@ packages: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 + jest-haste-map: 29.7.0 jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) - jest-util: 29.6.2 - jest-validate: 29.6.2 - resolve: 1.22.4 + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - /jest-resolve@29.6.2: - resolution: {integrity: sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==} + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-pnp-resolver: 1.2.3(jest-resolve@29.6.2) - jest-util: 29.6.2 - jest-validate: 29.6.2 - resolve: 1.22.4 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - /jest-runner@29.6.2: - resolution: {integrity: sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==} + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.6.2 - '@jest/environment': 29.6.2 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.15 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 - jest-docblock: 29.4.3 - jest-environment-node: 29.6.2 - jest-haste-map: 29.6.2 - jest-leak-detector: 29.6.2 - jest-message-util: 29.6.2 - jest-resolve: 29.6.2 - jest-runtime: 29.6.2 - jest-util: 29.6.2 - jest-watcher: 29.6.2 - jest-worker: 29.6.2 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - /jest-runtime@29.6.2: - resolution: {integrity: sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==} + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.6.2 - '@jest/fake-timers': 29.6.2 - '@jest/globals': 29.6.2 - '@jest/source-map': 29.6.0 - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.17.15 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2(@types/node@18.17.15) glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 29.6.2 - jest-message-util: 29.6.2 - jest-mock: 29.6.2 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-snapshot: 29.6.2 - jest-util: 29.6.2 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: @@ -19212,54 +19701,54 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.2 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + '@jest/expect-utils': 29.7.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/babel__traverse': 7.20.1 + '@types/babel__traverse': 7.20.5 '@types/prettier': 2.7.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) chalk: 4.1.2 - expect: 29.6.2 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - /jest-snapshot@29.6.2: - resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.22.10 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) - '@babel/types': 7.22.10 - '@jest/expect-utils': 29.6.2 - '@jest/transform': 29.6.2 - '@jest/types': 29.6.1 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/types': 7.23.6 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) chalk: 4.1.2 - expect: 29.6.2 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 29.6.2 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.2 - jest-message-util: 29.6.2 - jest-util: 29.6.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -19276,27 +19765,27 @@ packages: micromatch: 4.0.5 dev: true - /jest-util@29.6.2: - resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 '@types/node': 18.17.15 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - /jest-validate@29.6.2: - resolution: {integrity: sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==} + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.1 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 29.4.3 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 29.6.2 + pretty-format: 29.7.0 /jest-watch-select-projects@2.0.0: resolution: {integrity: sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w==} @@ -19306,17 +19795,17 @@ packages: prompts: 2.4.2 dev: true - /jest-watcher@29.6.2: - resolution: {integrity: sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==} + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.6.2(@types/node@18.17.15) - '@jest/types': 29.6.1 + '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/types': 29.6.3 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.6.2 + jest-util: 29.7.0 string-length: 4.0.2 /jest-worker@26.6.2: @@ -19336,12 +19825,12 @@ packages: merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.6.2: - resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.17.15 - jest-util: 29.6.2 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -19358,7 +19847,7 @@ packages: '@jest/core': 29.5.0 '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@18.17.15) + jest-cli: 29.7.0(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -19407,25 +19896,25 @@ packages: dependencies: argparse: 2.0.1 - /jscodeshift@0.13.1(@babel/preset-env@7.22.10): + /jscodeshift@0.13.1(@babel/preset-env@7.23.8): resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: '@babel/core': 7.20.12 - '@babel/parser': 7.22.10 + '@babel/parser': 7.23.6 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) - '@babel/preset-env': 7.22.10(@babel/core@7.20.12) - '@babel/preset-flow': 7.22.5(@babel/core@7.20.12) - '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) - '@babel/register': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) + '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@babel/preset-flow': 7.23.3(@babel/core@7.20.12) + '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/register': 7.23.7(@babel/core@7.20.12) babel-core: 7.0.0-bridge.0(@babel/core@7.20.12) chalk: 4.1.2 - flow-parser: 0.214.0 + flow-parser: 0.227.0 graceful-fs: 4.2.11 micromatch: 3.1.10 neo-async: 2.6.2 @@ -19452,7 +19941,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.10.0 + acorn: 8.11.3 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -19475,7 +19964,7 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.14.1 + ws: 8.14.2 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -19525,7 +20014,6 @@ packages: /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} @@ -19546,7 +20034,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: true @@ -19555,16 +20043,18 @@ packages: resolution: {integrity: sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==} engines: {node: '>=10.0'} - /jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} - dev: true - - /jsonwebtoken@9.0.1: - resolution: {integrity: sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==} + /jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} dependencies: jws: 3.2.2 - lodash: 4.17.21 + 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.1.1 ms: 2.1.3 semver: 7.5.4 dev: false @@ -19573,10 +20063,10 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - object.assign: 4.1.4 - object.values: 1.1.6 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.1.7 /jszip@2.7.0: resolution: {integrity: sha512-JIsRKRVC3gTRo2vM4Wy9WBC3TRcfnIZU8k65Phi3izkvPH975FowRYtKGT6PxevA0XnJ/yO8b0QwV0ydVyQwfw==} @@ -19628,8 +20118,8 @@ packages: safe-buffer: 5.2.1 dev: false - /keyborg@2.0.0: - resolution: {integrity: sha512-RWY8nWrzRkwTQLaKyDtbTu5SOb5L4B20UzAsBHlQDFZqVY/+Mid0bQ7MVTC8vbOTrWY2xkkzj8gZF9Ua7re4xA==} + /keyborg@2.4.1: + resolution: {integrity: sha512-B9EZwDd36WKlIq6JmimaTsTDx5E0aUqZcxtgTfK66ut1FbRXYhBmiB7Al2qKzB7CCX9C49sTBiiyVzsXCA6J4Q==} dev: false /keytar@7.9.0: @@ -19640,8 +20130,8 @@ packages: prebuild-install: 7.1.1 dev: true - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 @@ -19657,10 +20147,6 @@ packages: dependencies: is-buffer: 1.1.6 - /kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -19684,9 +20170,9 @@ packages: resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==} engines: {node: '>=6.0.0', npm: '>=6.0.0', yarn: '>=1.0.0'} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 app-root-dir: 1.0.2 - core-js: 3.32.0 + core-js: 3.35.1 dotenv: 8.6.0 dotenv-expand: 5.1.0 dev: true @@ -19850,12 +20336,31 @@ packages: /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + /lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false + + /lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + /lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false + + /lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + + /lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: false /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -19864,6 +20369,10 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false + /lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: true @@ -19891,8 +20400,8 @@ packages: dependencies: date-format: 4.0.14 debug: 4.3.4 - flatted: 3.2.7 - rfdc: 1.3.0 + flatted: 3.2.9 + rfdc: 1.3.1 streamroller: 3.1.5 transitivePeerDependencies: - supports-color @@ -19941,8 +20450,8 @@ packages: es5-ext: 0.10.62 dev: true - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -20041,8 +20550,8 @@ packages: uc.micro: 1.0.6 dev: true - /markdown-to-jsx@7.3.2(react@17.0.2): - resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==} + /markdown-to-jsx@7.4.0(react@17.0.2): + resolution: {integrity: sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -20080,8 +20589,8 @@ packages: /mdast-util-to-hast@10.0.1: resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 mdast-util-definitions: 4.0.0 mdurl: 1.0.1 unist-builder: 2.0.3 @@ -20156,7 +20665,7 @@ packages: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize: 1.2.0 decamelize-keys: 1.1.1 @@ -20173,6 +20682,10 @@ packages: /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + dev: false + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -20307,6 +20820,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -20374,8 +20894,8 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - /minipass@7.0.2: - resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==} + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -20485,7 +21005,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.0 + dns-packet: 5.6.1 thunky: 1.1.0 dev: false @@ -20511,8 +21031,8 @@ packages: thenify-all: 1.6.0 dev: false - /nan@2.17.0: - resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + /nan@2.18.0: + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true optional: true @@ -20522,8 +21042,8 @@ packages: hasBin: true dev: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -20560,7 +21080,6 @@ packages: readable-stream: 3.6.2 split2: 3.2.2 through2: 4.0.2 - dev: true /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} @@ -20591,8 +21110,8 @@ packages: lower-case: 2.0.2 tslib: 2.3.1 - /node-abi@3.45.0: - resolution: {integrity: sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==} + /node-abi@3.54.0: + resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} engines: {node: '>=10'} dependencies: semver: 7.5.4 @@ -20660,7 +21179,7 @@ packages: /node-libs-browser@2.2.1: resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} dependencies: - assert: 1.5.0 + assert: 1.5.1 browserify-zlib: 0.2.0 buffer: 4.9.2 console-browserify: 1.2.0 @@ -20680,12 +21199,12 @@ packages: string_decoder: 1.3.0 timers-browserify: 2.0.12 tty-browserify: 0.0.0 - url: 0.11.1 + url: 0.11.3 util: 0.11.1 vm-browserify: 1.1.2 - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -20699,7 +21218,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -20708,7 +21227,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.13.0 + is-core-module: 2.13.1 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: false @@ -20745,7 +21264,7 @@ packages: callsite-record: 4.1.5 chalk: 4.1.2 co: 4.6.0 - depcheck: 1.4.3 + depcheck: 1.4.7 execa: 5.1.1 giturl: 1.0.3 global-modules: 2.0.0 @@ -20760,7 +21279,7 @@ packages: package-json: 7.0.0 path-exists: 4.0.0 pkg-dir: 5.0.0 - preferred-pm: 3.0.3 + preferred-pm: 3.1.2 rc-config-loader: 4.1.3 semver: 7.5.4 semver-diff: 3.1.1 @@ -20857,8 +21376,8 @@ packages: define-property: 0.2.5 kind-of: 3.2.2 - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -20870,46 +21389,46 @@ packages: dependencies: isobject: 3.0.1 - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.5 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 - /object.getownpropertydescriptors@2.1.6: - resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} + /object.getownpropertydescriptors@2.1.7: + resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} engines: {node: '>= 0.8'} dependencies: - array.prototype.reduce: 1.0.5 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - safe-array-concat: 1.0.0 + array.prototype.reduce: 1.0.6 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + safe-array-concat: 1.1.0 - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + /object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: - define-properties: 1.2.0 - es-abstract: 1.22.1 + define-properties: 1.2.1 + es-abstract: 1.22.3 /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} @@ -20917,13 +21436,13 @@ packages: dependencies: isobject: 3.0.1 - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 /objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} @@ -21012,7 +21531,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -21241,7 +21760,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -21313,6 +21832,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + /path-name@1.0.0: + resolution: {integrity: sha512-/dcAb5vMXH0f51yvMuSUqFpxUcA8JelbRmE5mW/p4CUJxrNgK24IkstnV7ENtg2IDGBOu6izKTG6eilbnbNKWQ==} + dev: false + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -21441,85 +21964,99 @@ packages: - typescript dev: true + /pnpm-sync-lib@0.0.1: + resolution: {integrity: sha512-ZLAq7Dnt2PXKSv0R50nbxGgbK3pliMVYct5fAbAL36ukxLKwcMEEdv4WmzJVGfptmf9Ww/x4Gv61o7EUnFrHQQ==} + dependencies: + '@microsoft/rush-lib': 5.110.2 + '@pnpm/lockfile-file': 8.1.6(@pnpm/logger@5.0.0) + '@pnpm/logger': 5.0.0 + '@rushstack/node-core-library': 3.64.1 + '@rushstack/package-extractor': 0.6.22 + transitivePeerDependencies: + - '@types/node' + - encoding + - supports-color + dev: false + /polished@4.2.2: resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: true /posix-character-classes@0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} - /postcss-calc@8.2.4(postcss@8.4.27): + /postcss-calc@8.2.4(postcss@8.4.33): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@5.3.1(postcss@8.4.27): + /postcss-colormin@5.3.1(postcss@8.4.33): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@5.1.3(postcss@8.4.27): + /postcss-convert-values@5.1.3(postcss@8.4.33): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.27 + browserslist: 4.22.2 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.27): + /postcss-discard-comments@5.1.2(postcss@8.4.33): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.27): + /postcss-discard-duplicates@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.27): + /postcss-discard-empty@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.27): + /postcss-discard-overridden@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false /postcss-flexbugs-fixes@4.2.1: @@ -21528,7 +22065,7 @@ packages: postcss: 7.0.39 dev: true - /postcss-loader@4.1.0(postcss@8.4.27)(webpack@4.47.0): + /postcss-loader@4.1.0(postcss@8.4.33)(webpack@4.47.0): resolution: {integrity: sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -21538,7 +22075,7 @@ packages: cosmiconfig: 7.1.0 klona: 2.0.6 loader-utils: 2.0.4 - postcss: 8.4.27 + postcss: 8.4.33 schema-utils: 3.3.0 semver: 7.5.4 webpack: 4.47.0(webpack-cli@3.3.12) @@ -21560,7 +22097,7 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /postcss-loader@6.2.1(postcss@8.4.27)(webpack@5.82.1): + /postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.82.1): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -21569,77 +22106,77 @@ packages: dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.27 + postcss: 8.4.33 semver: 7.5.4 webpack: 5.82.1 dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.27): + /postcss-merge-longhand@5.1.7(postcss@8.4.33): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.27) + stylehacks: 5.1.1(postcss@8.4.33) dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.27): + /postcss-merge-rules@5.1.4(postcss@8.4.33): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.2 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + cssnano-utils: 3.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.27): + /postcss-minify-font-values@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.27): + /postcss-minify-gradients@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 3.1.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@5.1.4(postcss@8.4.27): + /postcss-minify-params@5.1.4(postcss@8.4.33): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - cssnano-utils: 3.1.0(postcss@8.4.27) - postcss: 8.4.27 + browserslist: 4.22.2 + cssnano-utils: 3.1.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.27): + /postcss-minify-selectors@5.2.1(postcss@8.4.33): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: false /postcss-modules-extract-imports@2.0.0: @@ -21649,13 +22186,13 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.27): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 /postcss-modules-local-by-default@3.0.3: resolution: {integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==} @@ -21663,19 +22200,19 @@ packages: dependencies: icss-utils: 4.1.1 postcss: 7.0.39 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.27): - resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + /postcss-modules-local-by-default@4.0.4(postcss@8.4.33): + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 /postcss-modules-scope@2.2.0: @@ -21683,17 +22220,17 @@ packages: engines: {node: '>= 6'} dependencies: postcss: 7.0.39 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.27): - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + /postcss-modules-scope@3.1.1(postcss@8.4.33): + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 /postcss-modules-values@3.0.0: resolution: {integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==} @@ -21702,180 +22239,180 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.27): + /postcss-modules-values@4.0.0(postcss@8.4.33): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 - /postcss-modules@6.0.0(postcss@8.4.27): + /postcss-modules@6.0.0(postcss@8.4.33): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.27) + icss-utils: 5.1.0(postcss@8.4.33) lodash.camelcase: 4.3.0 - postcss: 8.4.27 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) - postcss-modules-scope: 3.0.0(postcss@8.4.27) - postcss-modules-values: 4.0.0(postcss@8.4.27) + postcss: 8.4.33 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) + postcss-modules-scope: 3.1.1(postcss@8.4.33) + postcss-modules-values: 4.0.0(postcss@8.4.33) string-hash: 1.1.3 dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.27): + /postcss-normalize-charset@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.27): + /postcss-normalize-display-values@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.27): + /postcss-normalize-positions@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.27): + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.27): + /postcss-normalize-string@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.27): + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.27): + /postcss-normalize-unicode@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.27 + browserslist: 4.22.2 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.27): + /postcss-normalize-url@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.27): + /postcss-normalize-whitespace@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.27): + /postcss-ordered-values@5.1.3(postcss@8.4.33): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.27) - postcss: 8.4.27 + cssnano-utils: 3.1.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.27): + /postcss-reduce-initial@5.1.2(postcss@8.4.33): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 + browserslist: 4.22.2 caniuse-api: 3.0.0 - postcss: 8.4.27 + postcss: 8.4.33 dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.27): + /postcss-reduce-transforms@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: false - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@5.1.0(postcss@8.4.27): + /postcss-svgo@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 + postcss: 8.4.33 postcss-value-parser: 4.2.0 svgo: 2.8.0 dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.27): + /postcss-unique-selectors@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: false /postcss-value-parser@4.2.0: @@ -21889,11 +22426,11 @@ packages: source-map: 0.6.1 dev: true - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -21908,7 +22445,7 @@ packages: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.45.0 + node-abi: 3.54.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -21916,8 +22453,8 @@ packages: tunnel-agent: 0.6.0 dev: true - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + /preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 @@ -21962,11 +22499,11 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 @@ -22017,25 +22554,27 @@ packages: retry: 0.12.0 dev: true - /promise.allsettled@1.0.6: - resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} + /promise.allsettled@1.0.7: + resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.5 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + array.prototype.map: 1.0.6 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 iterate-value: 1.0.2 dev: true - /promise.prototype.finally@3.1.4: - resolution: {integrity: sha512-nNc3YbgMfLzqtqvO/q5DP6RR0SiHI9pUPGzyDf1q+usTwCN2kjvAnJkBb7bHe3o+fFSBPpsGMoYtaSi+LTNqng==} + /promise.prototype.finally@3.1.7: + resolution: {integrity: sha512-iL9OcJRUZcCE5xn6IwhZxO+eMM0VEXjkETHy+Nk+d9q3s7kxVtPg+mBlMO+ZGxNKNMODyKmy/bOyt/yhxTnvEw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + set-function-name: 2.0.1 dev: true /promptly@3.2.0: @@ -22140,8 +22679,8 @@ packages: /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /pupa@2.1.1: @@ -22154,7 +22693,7 @@ packages: resolution: {integrity: sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==} engines: {node: '>=8.16.0'} dependencies: - '@types/mime-types': 2.1.1 + '@types/mime-types': 2.1.4 debug: 4.3.4 extract-zip: 1.7.0 https-proxy-agent: 4.0.0 @@ -22168,8 +22707,8 @@ packages: - supports-color dev: true - /pure-rand@6.0.2: - resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -22195,13 +22734,6 @@ packages: dependencies: side-channel: 1.0.4 - /query-ast@1.0.5: - resolution: {integrity: sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==} - dependencies: - invariant: 2.2.4 - lodash: 4.17.21 - dev: false - /querystring-es3@0.2.1: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} @@ -22328,8 +22860,8 @@ packages: hasBin: true dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.22.10 - '@babel/runtime': 7.22.10 + '@babel/generator': 7.23.6 + '@babel/runtime': 7.23.8 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -22351,8 +22883,8 @@ packages: react: 17.0.2 scheduler: 0.20.2 - /react-draggable@4.4.5(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==} + /react-draggable@4.4.6(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==} peerDependencies: react: '>= 16.3.0' react-dom: '>= 16.3.0' @@ -22386,7 +22918,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 invariant: 2.2.4 prop-types: 15.8.1 react: 17.0.2 @@ -22409,7 +22941,7 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 is-dom: 1.1.0 prop-types: 15.8.1 react: 17.0.2 @@ -22420,7 +22952,6 @@ packages: /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -22431,7 +22962,7 @@ packages: react: ^16.6.0 || ^17.0.0 react-dom: ^16.6.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@popperjs/core': 2.11.8 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -22476,9 +23007,9 @@ packages: redux: optional: true dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 '@reduxjs/toolkit': 1.8.6(react-redux@8.0.7)(react@17.0.2) - '@types/hoist-non-react-statics': 3.3.1 + '@types/hoist-non-react-statics': 3.3.5 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 '@types/use-sync-external-store': 0.0.3 @@ -22495,29 +23026,29 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom@6.14.2(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-5pWX0jdKR48XFZBuJqHosX3AAHjRAzygouMTyimnBPOLdY3WjzUSKhus2FVMihUFWzeLebDgr4r8UeQFAct7Bg==} - engines: {node: '>=14'} + /react-router-dom@6.21.3(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==} + engines: {node: '>=14.0.0'} peerDependencies: '@types/react': '>=16' react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.7.2 + '@remix-run/router': 1.14.2 '@types/react': 17.0.74 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-router: 6.14.2(@types/react@17.0.74)(react@17.0.2) + react-router: 6.21.3(@types/react@17.0.74)(react@17.0.2) dev: true - /react-router@6.14.2(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-09Zss2dE2z+T1D03IheqAFtK4UzQyX8nFPWx6jkwdYzGLXd5ie06A6ezS2fO6zJfEb/SpG6UocN2O1hfD+2urQ==} - engines: {node: '>=14'} + /react-router@6.21.3(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==} + engines: {node: '>=14.0.0'} peerDependencies: '@types/react': '>=16' react: '>=16.8' dependencies: - '@remix-run/router': 1.7.2 + '@remix-run/router': 1.14.2 '@types/react': 17.0.74 react: 17.0.2 dev: true @@ -22536,7 +23067,7 @@ packages: peerDependencies: react: '>= 0.14.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.29.0 @@ -22544,13 +23075,13 @@ packages: refractor: 3.6.0 dev: true - /react-textarea-autosize@8.5.2(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-uOkyjkEl0ByEK21eCJMHDGBAAd/BoFQBawYK5XItjAmCTeSbjxghd8qnt7nzsLYzidjnoObu6M26xts0YGKsGg==} + /react-textarea-autosize@8.5.3(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 react: 17.0.2 use-composed-ref: 1.3.0(react@17.0.2) use-latest: 1.2.1(@types/react@17.0.74)(react@17.0.2) @@ -22564,7 +23095,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -22611,7 +23142,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -22720,7 +23251,7 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.4 + resolve: 1.22.8 dev: true /redent@3.0.0: @@ -22742,16 +23273,16 @@ packages: /redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 /reflect.getprototypeof@1.0.4: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 globalthis: 1.0.3 which-builtin-type: 1.1.3 @@ -22763,8 +23294,8 @@ packages: prismjs: 1.27.0 dev: true - /regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -22778,13 +23309,13 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: true /regex-not@1.0.2: @@ -22794,13 +23325,13 @@ packages: extend-shallow: 3.0.2 safe-regex: 1.1.0 - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} @@ -22812,7 +23343,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -23011,22 +23542,22 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -23065,12 +23596,12 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfc4648@1.5.2: - resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==} + /rfc4648@1.5.3: + resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==} dev: false - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -23105,7 +23636,7 @@ packages: /rtl-css-js@1.16.1: resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.23.8 dev: false /run-async@2.4.1: @@ -23135,15 +23666,6 @@ packages: tslib: 2.3.1 dev: false - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - isarray: 2.0.5 - /safe-array-concat@1.1.0: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} @@ -23163,11 +23685,21 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-execa@0.1.2: + resolution: {integrity: sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==} + engines: {node: '>=12'} + dependencies: + '@zkochan/which': 2.0.3 + execa: 5.1.1 + path-name: 1.0.0 + dev: false + + /safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-regex: 1.1.4 /safe-regex2@2.0.0: @@ -23277,9 +23809,9 @@ packages: resolution: {integrity: sha512-SwTIG6UmrMiT94/v8G+2pPf6i+XwY4hOQxm8HZl0ld0st2KdGDj/SBXDznFl7+sJ6tFq6hvVvrB9rW5Nj7EhuQ==} engines: {node: '>=14.0.0'} dependencies: - '@bufbuild/protobuf': 1.3.0 + '@bufbuild/protobuf': 1.7.0 buffer-builder: 0.2.0 - immutable: 4.3.2 + immutable: 4.3.4 rxjs: 7.8.1 supports-color: 8.1.1 optionalDependencies: @@ -23352,7 +23884,7 @@ packages: hasBin: true dependencies: chokidar: 3.4.3 - immutable: 4.3.2 + immutable: 4.3.4 source-map-js: 1.0.2 dev: false @@ -23360,8 +23892,8 @@ packages: resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} dev: true - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -23394,7 +23926,7 @@ packages: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true @@ -23403,7 +23935,7 @@ packages: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true @@ -23412,7 +23944,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -23420,20 +23952,12 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.12 + '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.12.0) dev: false - /scss-parser@1.0.6: - resolution: {integrity: sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==} - engines: {node: '>=6.0.0'} - dependencies: - invariant: 2.2.4 - lodash: 4.17.21 - dev: false - /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false @@ -23442,10 +23966,11 @@ packages: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: false - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} dependencies: + '@types/node-forge': 1.3.11 node-forge: 1.3.1 dev: false @@ -23531,8 +24056,8 @@ packages: dependencies: randombytes: 2.1.0 - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 @@ -23592,7 +24117,7 @@ packages: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 /set-immediate-shim@1.0.1: resolution: {integrity: sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==} @@ -23668,13 +24193,18 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: true @@ -23691,7 +24221,7 @@ packages: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.21 + '@polka/url': 1.0.0-next.24 mrmime: 1.0.1 totalist: 1.1.0 @@ -23878,19 +24408,19 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.16 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.4.0: + resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-exceptions: 2.4.0 + spdx-license-ids: 3.0.16 - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -23928,7 +24458,6 @@ packages: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.2 - dev: true /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -23981,7 +24510,7 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.5 + internal-slot: 1.0.6 dev: true /stoppable@1.1.0: @@ -24003,7 +24532,7 @@ packages: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} dependencies: end-of-stream: 1.4.4 - stream-shift: 1.0.1 + stream-shift: 1.0.3 /stream-http@2.8.3: resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} @@ -24014,8 +24543,8 @@ packages: to-arraybuffer: 1.0.1 xtend: 4.0.2 - /stream-shift@1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + /stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} /streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} @@ -24087,57 +24616,58 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 side-channel: 1.0.4 - /string.prototype.padend@3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} + /string.prototype.padend@3.1.5: + resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /string.prototype.padstart@3.1.4: - resolution: {integrity: sha512-XqOHj8horGsF+zwxraBvMTkBFM28sS/jHBJajh17JtJKA92qazidiQbLosV4UA18azvLOVKYo/E3g3T9Y5826w==} + /string.prototype.padstart@3.1.5: + resolution: {integrity: sha512-R57IsE3JIfModQWrVXYZ8ZHWMBNDpIoniDwhYCR1nx+iHwDkjjk26a8xM9BYgf7SAXJO7sdNPng5J+0ccr5LFQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 dev: true - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 /string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -24232,8 +24762,8 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /style-loader@3.3.3(webpack@5.82.1): - resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} + /style-loader@3.3.4(webpack@5.82.1): + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 || ^4 || ^5 @@ -24246,19 +24776,19 @@ packages: inline-style-parser: 0.1.1 dev: true - /stylehacks@5.1.1(postcss@8.4.27): + /stylehacks@5.1.1(postcss@8.4.33): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.10 - postcss: 8.4.27 - postcss-selector-parser: 6.0.13 + browserslist: 4.22.2 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: false - /stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + /stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} dev: false /sudo@1.0.3: @@ -24319,10 +24849,10 @@ packages: resolution: {integrity: sha512-x738iXRYsrAt9WBhRCVG5BtIC3B7CUkFwbHW2zOvGtwM33s7JjrCDyq8V0zgMYVb5ymsL8+qkzzpANH63CPQaQ==} engines: {node: '>= 0.11.15'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 get-symbol-description: 1.0.0 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.6 + object.getownpropertydescriptors: 2.1.7 dev: true /synchronous-promise@2.0.17: @@ -24350,10 +24880,10 @@ packages: strip-ansi: 6.0.1 dev: true - /tabster@4.7.2: - resolution: {integrity: sha512-wRFOnje3CxqUVgdDiY7spipDWXee4PatHE5e3XoVXN51fOxu0/QlI/7EVURIyg2jGDFPL4ZffLMpX3pvTVbVVQ==} + /tabster@5.2.1: + resolution: {integrity: sha512-UGl95j5YHbn9wpNA3hX/mTfH7n+y/HFSHVGPkj9Nx06+CXT3mRwTR2/ub1dqii5pG83LJ6xn2F4jSFrUgOwhuA==} dependencies: - keyborg: 2.0.0 + keyborg: 2.4.1 tslib: 2.3.1 dev: false @@ -24399,7 +24929,7 @@ packages: /telejson@5.3.3: resolution: {integrity: sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA==} dependencies: - '@types/is-function': 1.0.1 + '@types/is-function': 1.0.3 global: 4.4.0 is-function: 1.0.2 is-regex: 1.1.4 @@ -24464,13 +24994,13 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.19.2 + terser: 5.27.0 webpack: 4.47.0(webpack-cli@3.3.12) webpack-sources: 1.4.3 dev: true - /terser-webpack-plugin@5.3.9(webpack@5.82.1): - resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + /terser-webpack-plugin@5.3.10(webpack@5.82.1): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -24485,11 +25015,11 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.1 - terser: 5.19.2 + serialize-javascript: 6.0.2 + terser: 5.27.0 webpack: 5.82.1 /terser@4.8.1: @@ -24501,13 +25031,13 @@ packages: source-map: 0.6.1 source-map-support: 0.5.21 - /terser@5.19.2: - resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + /terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.10.0 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -24554,7 +25084,6 @@ packages: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: readable-stream: 3.6.2 - dev: true /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -24651,7 +25180,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 @@ -24662,7 +25191,7 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /traverse@0.3.9: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} @@ -24737,8 +25266,8 @@ packages: typescript: 5.3.3 dev: true - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -24756,8 +25285,8 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tslint-microsoft-contrib@6.2.0(tslint@5.20.1)(typescript@2.9.2): resolution: {integrity: sha512-6tfi/2tHqV/3CL77pULBcK+foty11Rr0idRDxKnteTaKm6gWF9qmaCNU17HVssOuwlYNyOmd9Jsmjd+1t3a3qw==} @@ -24814,16 +25343,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.1.2 + minimatch: 3.0.8 mkdirp: 0.5.6 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@2.9.2) @@ -24837,16 +25366,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.1.2 + minimatch: 3.0.8 mkdirp: 0.5.6 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@3.9.10) @@ -24860,16 +25389,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.1.2 + minimatch: 3.0.8 mkdirp: 0.5.6 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@4.9.5) @@ -24883,16 +25412,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.22.10 + '@babel/code-frame': 7.23.5 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.1.2 + minimatch: 3.0.8 mkdirp: 0.5.6 - resolve: 1.22.4 + resolve: 1.22.8 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@5.3.3) @@ -25056,15 +25585,15 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-typed-array: 1.1.12 /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -25074,7 +25603,7 @@ packages: engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -25082,7 +25611,7 @@ packages: /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 @@ -25140,7 +25669,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -25254,20 +25783,20 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 dev: true /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 dev: true /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: true @@ -25280,8 +25809,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true @@ -25306,7 +25835,7 @@ packages: /unzipper@0.10.14: resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} dependencies: - big-integer: 1.6.51 + big-integer: 1.6.52 binary: 0.3.0 bluebird: 3.4.7 buffer-indexof-polyfill: 1.0.2 @@ -25324,13 +25853,13 @@ packages: requiresBuild: true optional: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 @@ -25356,7 +25885,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} @@ -25412,8 +25941,8 @@ packages: querystring: 0.2.0 dev: true - /url@0.11.1: - resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==} + /url@0.11.3: + resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} dependencies: punycode: 1.4.1 qs: 6.11.2 @@ -25426,8 +25955,8 @@ packages: react: 17.0.2 dev: true - /use-disposable@1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-5Sle1XEmK3lw3xyGqeIY7UKkiUgF+TxwUty7fTsqM5D5AxfQfo2ft+LY9xKCA+W5YbaBFbOkWfQsZY/y5JhInA==} + /use-disposable@1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-UMaXVlV77dWOu4GqAFNjRzHzowYKUKbJBQfCexvahrYeIz4OkUYUjna4Tjjdf92NH8Nm8J7wEfFRgTIwYjO5jg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' @@ -25485,13 +26014,13 @@ packages: /util.promisify@1.0.0: resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} dependencies: - define-properties: 1.2.0 - object.getownpropertydescriptors: 2.1.6 + define-properties: 1.2.1 + object.getownpropertydescriptors: 2.1.7 - /util@0.10.3: - resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} + /util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} dependencies: - inherits: 2.0.1 + inherits: 2.0.3 /util@0.11.1: resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} @@ -25505,7 +26034,7 @@ packages: is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.12 - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 dev: true /utila@0.4.0: @@ -25535,16 +26064,16 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - /v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + /v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.22 '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -25578,14 +26107,14 @@ packages: /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 @@ -25600,8 +26129,8 @@ packages: deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm. hasBin: true dependencies: - acorn: 8.10.0 - acorn-walk: 8.2.0 + acorn: 8.11.3 + acorn-walk: 8.3.2 dev: true /vsce@2.14.0: @@ -25700,8 +26229,8 @@ packages: engines: {node: '>= 10.13.0'} hasBin: true dependencies: - acorn: 8.10.0 - acorn-walk: 8.2.0 + acorn: 8.11.3 + acorn-walk: 8.3.2 chalk: 4.1.2 commander: 7.2.0 gzip-size: 6.0.0 @@ -25729,7 +26258,7 @@ packages: interpret: 1.4.0 loader-utils: 1.4.2 supports-color: 6.1.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 webpack: 4.47.0(webpack-cli@3.3.12) yargs: 13.3.2 @@ -25803,18 +26332,18 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.35 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 + '@types/express-serve-static-core': 4.17.41 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 '@types/webpack': 4.41.32 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.1.1 + bonjour-service: 1.2.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -25829,13 +26358,13 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 4.47.0(webpack-cli@3.3.12) webpack-dev-middleware: 5.3.3(@types/webpack@4.41.32)(webpack@4.47.0) - ws: 8.14.1 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -25857,17 +26386,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.35 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 + '@types/express-serve-static-core': 4.17.41 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.1.1 + bonjour-service: 1.2.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -25882,14 +26411,14 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 4.47.0(webpack-cli@3.3.12) webpack-cli: 3.3.12(webpack@4.47.0) webpack-dev-middleware: 5.3.3(@types/webpack@4.41.32)(webpack@4.47.0) - ws: 8.14.1 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -25911,17 +26440,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.35 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 + '@types/express-serve-static-core': 4.17.41 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.1.1 + bonjour-service: 1.2.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -25936,13 +26465,13 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 5.82.1 webpack-dev-middleware: 5.3.3(webpack@5.82.1) - ws: 8.14.1 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - debug @@ -25959,8 +26488,8 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /webpack-hot-middleware@2.25.4: - resolution: {integrity: sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w==} + /webpack-hot-middleware@2.26.0: + resolution: {integrity: sha512-okzjec5sAEy4t+7rzdT8eRyxsk0FDSmBPN2KwX4Qd+6+oQCfe5Ve07+u7cJvofgB+B4w5/4dO4Pz0jhhHyyPLQ==} dependencies: ansi-html-community: 0.0.8 html-entities: 2.4.0 @@ -26046,17 +26575,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.4 + '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.10.0 - acorn-import-assertions: 1.9.0(acorn@8.10.0) - browserslist: 4.21.10 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.22.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.0 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -26067,7 +26596,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(webpack@5.82.1) + terser-webpack-plugin: 5.3.10(webpack@5.82.1) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -26129,7 +26658,7 @@ packages: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} dependencies: - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 has-tostringtag: 1.0.0 is-async-function: 2.0.0 is-date-object: 1.0.5 @@ -26140,7 +26669,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} @@ -26161,12 +26690,12 @@ packages: path-exists: 4.0.0 dev: false - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 @@ -26187,7 +26716,7 @@ packages: /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 4.2.3 + string-width: 1.0.2 dev: true /widest-line@3.1.0: @@ -26290,6 +26819,14 @@ packages: imurmurhash: 0.1.4 signal-exit: 3.0.7 + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + dev: false + /write-yaml-file@4.2.0: resolution: {integrity: sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==} engines: {node: '>=10.13'} @@ -26323,8 +26860,8 @@ packages: utf-8-validate: optional: true - /ws@8.14.1: - resolution: {integrity: sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -26347,7 +26884,7 @@ packages: resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.2.4 + sax: 1.3.0 xmlbuilder: 11.0.1 dev: true @@ -26355,8 +26892,17 @@ packages: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.2.4 + sax: 1.3.0 xmlbuilder: 11.0.1 + dev: false + + /xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.2.1 + xmlbuilder: 11.0.1 + dev: true /xml@1.0.1: resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} @@ -26372,7 +26918,7 @@ packages: /xmldoc@1.1.4: resolution: {integrity: sha512-rQshsBGR5s7pUNENTEncpI2LTCuzicri0DyE4SCV5XmS0q81JS8j1iPijP0Q5c4WLGbKh3W92hlOwY6N9ssW1w==} dependencies: - sax: 1.2.4 + sax: 1.3.0 dev: false /xregexp@2.0.0: @@ -26514,16 +27060,17 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + /z-schema@5.0.6: + resolution: {integrity: sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg==} engines: {node: '>=8.0.0'} + deprecated: has issues with node 14 hasBin: true dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 validator: 13.11.0 optionalDependencies: - commander: 9.5.0 + commander: 10.0.1 /zip-local@0.3.5: resolution: {integrity: sha512-GRV3D5TJY+/PqyeRm5CYBs7xVrKTKzljBoEXvocZu0HJ7tPEcgpSOYa2zFIsCZWgKWMuc4U3yMFgFkERGFIB9w==} @@ -26534,17 +27081,17 @@ packages: q: 1.5.1 dev: true - /zip-stream@4.1.0: - resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} + /zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} engines: {node: '>= 10'} dependencies: - archiver-utils: 2.1.0 - compress-commons: 4.1.1 + archiver-utils: 3.0.4 + compress-commons: 4.1.2 readable-stream: 3.6.2 dev: true - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} dev: true /zwitch@1.0.5: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 2f5157a3cab..26c533a3a56 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "4c17c55360a1f1c707f1aa08e0089c7563d471c0", + "pnpmShrinkwrapHash": "d868556ffb45eacfb9073a54fe191121e7153ed4", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index 7e4e65cb00c..d33c363c4e2 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -452,6 +452,7 @@ export interface IExperimentsJson { buildCacheWithAllowWarningsInSuccessfulBuild?: boolean; buildSkipWithAllowWarningsInSuccessfulBuild?: boolean; cleanInstallAfterNpmrcChanges?: boolean; + enablePnpmSyncForInjectedDependenciesMeta?: boolean; forbidPhantomResolvableNodeModulesFolders?: boolean; noChmodFieldInTarHeaderNormalization?: boolean; omitImportersFromPreventManualShrinkwrapChanges?: boolean; diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 3fc8e6aa043..a81cefab0a3 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -57,7 +57,8 @@ "tapable": "2.2.1", "tar": "~6.1.11", "true-case-path": "~2.2.1", - "uuid": "~8.3.2" + "uuid": "~8.3.2", + "pnpm-sync-lib": "~0.0.1" }, "devDependencies": { "@pnpm/logger": "4.0.0", diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index b15ff0655e9..29073114c91 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -76,6 +76,10 @@ export interface IExperimentsJson { * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ forbidPhantomResolvableNodeModulesFolders?: boolean; + /** + * If true, Rush will use pnpm-sync to manage the injected dependenciesMeta in PNPM. + */ + enablePnpmSyncForInjectedDependenciesMeta?: boolean; } /** diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index eaf9f3dcae2..630b41b8d8c 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -35,6 +35,7 @@ import { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile'; import { type CustomTipId, type ICustomTipInfo, PNPM_CUSTOM_TIPS } from '../../api/CustomTipsConfiguration'; import type { PnpmShrinkwrapFile } from '../pnpm/PnpmShrinkwrapFile'; import { objectsAreDeepEqual } from '../../utilities/objectUtilities'; +import { pnpmSyncPrepare } from 'pnpm-sync-lib'; /** * This class implements common logic between "rush install" and "rush update". @@ -495,6 +496,17 @@ export class WorkspaceInstallManager extends BaseInstallManager { await doInstallInternalAsync(this.options); } + // if enablePnpmSyncForInjectedDependenciesMeta is true + // the pnpm-sync will generate the pnpm-sync.json based on lockfile + if ( + this.rushConfiguration.packageManager === 'pnpm' && + experiments?.enablePnpmSyncForInjectedDependenciesMeta + ) { + const pnpmLockfilePath: string = this.rushConfiguration.tempShrinkwrapFilename; + const dotPnpmFolderPath: string = this.rushConfiguration.commonTempFolder + '/node_modules/.pnpm'; + await pnpmSyncPrepare(pnpmLockfilePath, dotPnpmFolderPath); + } + // If all attempts fail we just terminate. No special handling needed. // Ensure that node_modules folders exist after install, since the timestamps on these folders are used diff --git a/libraries/rush-lib/src/schemas/experiments.schema.json b/libraries/rush-lib/src/schemas/experiments.schema.json index d14fc18534d..a826e287882 100644 --- a/libraries/rush-lib/src/schemas/experiments.schema.json +++ b/libraries/rush-lib/src/schemas/experiments.schema.json @@ -53,6 +53,10 @@ "forbidPhantomResolvableNodeModulesFolders": { "description": "If true, Rush will not allow node_modules in the repo folder or in parent folders.", "type": "boolean" + }, + "enablePnpmSyncForInjectedDependenciesMeta": { + "description": "If true, Rush will use pnpm-sync to manage injected dependenciesMeta in PNPM.", + "type": "boolean" } }, "additionalProperties": false From 45bc3c229c5490539126f41d2b6943098c23ec46 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 22 Jan 2024 13:34:40 -0800 Subject: [PATCH 002/180] chore: add changelog --- .../rush/chao-enable-pnpm-sync_2024-01-22-21-34.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json new file mode 100644 index 00000000000..6d2c396a6e5 --- /dev/null +++ b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Integrate pnpmSyncPrepare whenever rush calls `pnpm install` ", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From 994ef95ecac5d1a4cee322294c805db3b02a22a1 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Wed, 24 Jan 2024 15:24:36 -0800 Subject: [PATCH 003/180] feat: switch to pnpm-sync-lib --- common/config/rush/pnpm-lock.yaml | 3 ++- common/config/rush/repo-state.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 79ddd1acfe0..3cbcc0137c1 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14142,7 +14142,7 @@ packages: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.1.13 + ieee754: 1.2.1 isarray: 1.0.0 /buffer@5.7.1: @@ -18573,6 +18573,7 @@ packages: /ieee754@1.1.13: resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} + dev: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 26c533a3a56..f9496fe2103 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "d868556ffb45eacfb9073a54fe191121e7153ed4", + "pnpmShrinkwrapHash": "fc800b7ef06b6c81d96c191b852a505770beecf1", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } From a9d8c9a28eb28fb0cdabb815ec0cc69a12b4c3b5 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Mon, 29 Jan 2024 14:14:38 +0000 Subject: [PATCH 004/180] [node-core-library] Gracefully handle irregular LockFile.tryAcquire fail on macOS/Linux Fixes #4491 --- ...e-failure-gracefully_2024-01-29-14-13.json | 10 ++++++++ libraries/node-core-library/src/LockFile.ts | 23 +++++++++++++------ .../src/test/LockFile.test.ts | 14 +++++++++++ 3 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json diff --git a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json new file mode 100644 index 00000000000..9c82e3f685b --- /dev/null +++ b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Gracefully handle irregular LockFile.tryAcquire fail on macOS/Linux when multiple processes try to acquire the same lock", + "type": "patch" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/libraries/node-core-library/src/LockFile.ts b/libraries/node-core-library/src/LockFile.ts index 6684f945893..ca291482118 100644 --- a/libraries/node-core-library/src/LockFile.ts +++ b/libraries/node-core-library/src/LockFile.ts @@ -257,14 +257,23 @@ export class LockFile { let lockFile: LockFile; - try { - // open in write mode since if this file exists, it cannot be from the current process - // TODO: This will malfunction if the same process tries to acquire two locks on the same file. - // We should ideally maintain a dictionary of normalized acquired filenames - lockFileHandle = FileWriter.open(pidLockFilePath); - lockFileHandle.write(startTime); + let currentBirthTimeMs: number; - const currentBirthTimeMs: number = FileSystem.getStatistics(pidLockFilePath).birthtime.getTime(); + try { + try { + // open in write mode since if this file exists, it cannot be from the current process + // TODO: This will malfunction if the same process tries to acquire two locks on the same file. + // We should ideally maintain a dictionary of normalized acquired filenames + lockFileHandle = FileWriter.open(pidLockFilePath); + lockFileHandle.write(startTime); + currentBirthTimeMs = FileSystem.getStatistics(pidLockFilePath).birthtime.getTime(); + } catch (error) { + // sometimes FileSystem.getStatistics leads to failure when multiple processes try to acquire + // lock for the same resource, so if we get an error, gracefully exit. + // see https://github.com/microsoft/rushstack/issues/4491 + lockFileHandle?.close(); + return undefined; + } let smallestBirthTimeMs: number = currentBirthTimeMs; let smallestBirthTimePid: string = pid.toString(); diff --git a/libraries/node-core-library/src/test/LockFile.test.ts b/libraries/node-core-library/src/test/LockFile.test.ts index 34c5dd48736..f5a8b81abcc 100644 --- a/libraries/node-core-library/src/test/LockFile.test.ts +++ b/libraries/node-core-library/src/test/LockFile.test.ts @@ -201,6 +201,20 @@ describe(LockFile.name, () => { // this lock should be undefined since there is an existing lock expect(lock).toBeUndefined(); }); + + test('gracefully handles failure to read lock file statistics', () => { + const testFolder: string = path.join(libTestFolder, '4'); + const resourceName: string = 'test'; + + // simulate failure; see https://github.com/microsoft/rushstack/issues/4491 + jest.spyOn(FileSystem, 'getStatistics').mockImplementation(() => { + throw new Error(); + }); + + const lock: LockFile | undefined = LockFile.tryAcquire(testFolder, resourceName); + + expect(lock).toBeUndefined(); + }); }); } From 169037b0983cc28d5407dcf20b21dae78ba02114 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Mon, 29 Jan 2024 16:44:19 +0000 Subject: [PATCH 005/180] Restore mocks after each test --- libraries/node-core-library/src/test/LockFile.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/node-core-library/src/test/LockFile.test.ts b/libraries/node-core-library/src/test/LockFile.test.ts index f5a8b81abcc..138f39707bb 100644 --- a/libraries/node-core-library/src/test/LockFile.test.ts +++ b/libraries/node-core-library/src/test/LockFile.test.ts @@ -16,6 +16,7 @@ const libTestFolder: string = path.resolve(__dirname, '../../lib/test'); describe(LockFile.name, () => { afterEach(() => { + jest.restoreAllMocks(); setLockFileGetProcessStartTime(getProcessStartTime); }); From eb1297add0bbfa2777d156854cabefa9fea269ab Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Mon, 29 Jan 2024 21:14:00 +0000 Subject: [PATCH 006/180] [node-core-library] Add getStatistics() to FileWriter, reuse lockFileHandle for getting stats --- ...e-failure-gracefully_2024-01-29-21-11.json | 10 +++++++++ common/reviews/api/node-core-library.api.md | 4 ++++ libraries/node-core-library/src/FileWriter.ts | 22 +++++++++++++++++++ libraries/node-core-library/src/LockFile.ts | 2 +- libraries/node-core-library/src/index.ts | 2 +- .../src/test/LockFile.test.ts | 2 +- 6 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json diff --git a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json new file mode 100644 index 00000000000..35170aba73a --- /dev/null +++ b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Add getStatistics() method to FileWriter instances", + "type": "minor" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 8c0d2cbf518..d18ea9b1429 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -304,10 +304,14 @@ export type FileSystemStats = fs.Stats; export class FileWriter { close(): void; readonly filePath: string; + getStatistics(): FileWriterStats; static open(filePath: string, flags?: IFileWriterFlags): FileWriter; write(text: string): void; } +// @public +export type FileWriterStats = fs.Stats; + // @public export enum FolderConstants { Git = ".git", diff --git a/libraries/node-core-library/src/FileWriter.ts b/libraries/node-core-library/src/FileWriter.ts index 988c4c7a480..98a6c942917 100644 --- a/libraries/node-core-library/src/FileWriter.ts +++ b/libraries/node-core-library/src/FileWriter.ts @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import type * as fs from 'fs'; import { Import } from './Import'; const fsx: typeof import('fs-extra') = Import.lazy('fs-extra', require); @@ -33,6 +34,15 @@ export interface IFileWriterFlags { exclusive?: boolean; } +/** + * An alias for the Node.js `fs.Stats` object. + * + * @remarks + * This avoids the need to import the `fs` package when using the {@link FileWriter} API. + * @public + */ +export type FileWriterStats = fs.Stats; + /** * API for interacting with file handles. * @public @@ -102,4 +112,16 @@ export class FileWriter { fsx.closeSync(fd); } } + + /** + * Gets the statistics for the given file handle. Throws if the file handle has been closed. + * Behind the scenes it uses `fs.statSync()`. + */ + public getStatistics(): FileWriterStats { + if (!this._fileDescriptor) { + throw new Error(`Cannot get file statistics, file descriptor has already been released.`); + } + + return fsx.fstatSync(this._fileDescriptor); + } } diff --git a/libraries/node-core-library/src/LockFile.ts b/libraries/node-core-library/src/LockFile.ts index ca291482118..e95cc03b81a 100644 --- a/libraries/node-core-library/src/LockFile.ts +++ b/libraries/node-core-library/src/LockFile.ts @@ -266,7 +266,7 @@ export class LockFile { // We should ideally maintain a dictionary of normalized acquired filenames lockFileHandle = FileWriter.open(pidLockFilePath); lockFileHandle.write(startTime); - currentBirthTimeMs = FileSystem.getStatistics(pidLockFilePath).birthtime.getTime(); + currentBirthTimeMs = lockFileHandle.getStatistics().birthtime.getTime(); } catch (error) { // sometimes FileSystem.getStatistics leads to failure when multiple processes try to acquire // lock for the same resource, so if we get an error, gracefully exit. diff --git a/libraries/node-core-library/src/index.ts b/libraries/node-core-library/src/index.ts index 66589e27de1..e5cb4924cbf 100644 --- a/libraries/node-core-library/src/index.ts +++ b/libraries/node-core-library/src/index.ts @@ -98,7 +98,7 @@ export { IFileSystemUpdateTimeParameters, IFileSystemWriteFileOptions } from './FileSystem'; -export { FileWriter, IFileWriterFlags } from './FileWriter'; +export { FileWriter, FileWriterStats, IFileWriterFlags } from './FileWriter'; export { LegacyAdapters, LegacyCallback } from './LegacyAdapters'; export { StringBuilder, IStringBuilder } from './StringBuilder'; export { ISubprocessOptions, SubprocessTerminator } from './SubprocessTerminator'; diff --git a/libraries/node-core-library/src/test/LockFile.test.ts b/libraries/node-core-library/src/test/LockFile.test.ts index 138f39707bb..029670cff9b 100644 --- a/libraries/node-core-library/src/test/LockFile.test.ts +++ b/libraries/node-core-library/src/test/LockFile.test.ts @@ -208,7 +208,7 @@ describe(LockFile.name, () => { const resourceName: string = 'test'; // simulate failure; see https://github.com/microsoft/rushstack/issues/4491 - jest.spyOn(FileSystem, 'getStatistics').mockImplementation(() => { + jest.spyOn(FileWriter.prototype, 'getStatistics').mockImplementation(() => { throw new Error(); }); From 3d495be15412da9d5c2ab6de61948991197d8bb8 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 29 Jan 2024 14:16:10 -0800 Subject: [PATCH 007/180] fix: minor fixes --- ...hao-enable-pnpm-sync_2024-01-22-21-34.json | 2 +- common/config/rush/pnpm-lock.yaml | 40 +++++++++++++++---- common/config/rush/repo-state.json | 2 +- common/reviews/api/rush-lib.api.md | 2 +- .../common/config/rush/experiments.json | 15 ++++++- libraries/rush-lib/package.json | 2 +- .../src/api/ExperimentsConfiguration.ts | 13 +++++- .../installManager/WorkspaceInstallManager.ts | 7 +--- .../src/schemas/experiments.schema.json | 4 +- 9 files changed, 66 insertions(+), 21 deletions(-) diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json index 6d2c396a6e5..8d9956f391f 100644 --- a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json +++ b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Integrate pnpmSyncPrepare whenever rush calls `pnpm install` ", + "comment": "(EXPERIMENTAL) Add `enablePnpmSyncForInjectedDependenciesMeta` to experiments.json; it is part of an upcoming feature for managing PNPM \"injected\" dependencies: https://www.npmjs.com/package/pnpm-sync", "type": "none" } ], diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 3cbcc0137c1..140ccc89b63 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1777,7 +1777,7 @@ importers: version: 29.5.11 '@types/node': specifier: ts4.9 - version: 20.11.6 + version: 20.11.10 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -3208,8 +3208,8 @@ importers: specifier: ~6.1.0 version: 6.1.1 pnpm-sync-lib: - specifier: ~0.0.1 - version: 0.0.1 + specifier: 0.0.2 + version: 0.0.2 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -4432,6 +4432,9 @@ packages: /@aws-cdk/cloud-assembly-schema@2.7.0: resolution: {integrity: sha512-vKTKLMPvzUhsYo3c4/EbMJq+bwIgHkwK0lV9fc5mQlnTUTyHe6nGIvyzmWWMd5BVEkgNzw+QdecxeeYJNu/doA==} engines: {node: '>= 14.15.0'} + dependencies: + jsonschema: 1.4.1 + semver: 7.5.4 dev: true bundledDependencies: - jsonschema @@ -4455,6 +4458,7 @@ packages: engines: {node: '>= 14.15.0'} dependencies: '@aws-cdk/cloud-assembly-schema': 2.7.0 + semver: 7.5.4 dev: true bundledDependencies: - semver @@ -6247,6 +6251,10 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@balena/dockerignore@1.0.2: + resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} + dev: true + /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true @@ -12004,8 +12012,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.6: - resolution: {integrity: sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==} + /@types/node@20.11.10: + resolution: {integrity: sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==} dependencies: undici-types: 5.26.5 dev: true @@ -13546,7 +13554,16 @@ packages: peerDependencies: constructs: ^10.0.0 dependencies: + '@balena/dockerignore': 1.0.2 + case: 1.6.3 constructs: 10.0.130 + fs-extra: 9.1.0 + ignore: 5.3.0 + jsonschema: 1.4.1 + minimatch: 3.0.8 + punycode: 2.3.1 + semver: 7.5.4 + yaml: 1.10.2 dev: true bundledDependencies: - '@balena/dockerignore' @@ -14365,6 +14382,11 @@ packages: engines: {node: '>=4'} dev: true + /case@1.6.3: + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} + dev: true + /ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} dev: true @@ -20044,6 +20066,10 @@ packages: resolution: {integrity: sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==} engines: {node: '>=10.0'} + /jsonschema@1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + dev: true + /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} @@ -21965,8 +21991,8 @@ packages: - typescript dev: true - /pnpm-sync-lib@0.0.1: - resolution: {integrity: sha512-ZLAq7Dnt2PXKSv0R50nbxGgbK3pliMVYct5fAbAL36ukxLKwcMEEdv4WmzJVGfptmf9Ww/x4Gv61o7EUnFrHQQ==} + /pnpm-sync-lib@0.0.2: + resolution: {integrity: sha512-RcZfh6xmM4cKaDOAcOj/K9McJJXIyFs/lbSniZWfHEGyPzESHZ34Y2XiGPh1Z0Tx5yVD1UFjXt9ITsa3wefRmQ==} dependencies: '@microsoft/rush-lib': 5.110.2 '@pnpm/lockfile-file': 8.1.6(@pnpm/logger@5.0.0) diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index f9496fe2103..07d482c982f 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "fc800b7ef06b6c81d96c191b852a505770beecf1", + "pnpmShrinkwrapHash": "3a21c18118e869a0a382afaa1858b9f20313f1bc", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index d33c363c4e2..67d32eb3f74 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -452,7 +452,6 @@ export interface IExperimentsJson { buildCacheWithAllowWarningsInSuccessfulBuild?: boolean; buildSkipWithAllowWarningsInSuccessfulBuild?: boolean; cleanInstallAfterNpmrcChanges?: boolean; - enablePnpmSyncForInjectedDependenciesMeta?: boolean; forbidPhantomResolvableNodeModulesFolders?: boolean; noChmodFieldInTarHeaderNormalization?: boolean; omitImportersFromPreventManualShrinkwrapChanges?: boolean; @@ -461,6 +460,7 @@ export interface IExperimentsJson { usePnpmFrozenLockfileForRushInstall?: boolean; usePnpmLockfileOnlyThenFrozenLockfileForRushUpdate?: boolean; usePnpmPreferFrozenLockfileForRushUpdate?: boolean; + usePnpmSyncForInjectedDependencies?: boolean; } // @beta diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index db23def61a0..ed64fd0ad89 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -69,5 +69,18 @@ /** * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ - /*[LINE "HYPOTHETICAL"]*/ "forbidPhantomResolvableNodeModulesFolders": true + /*[LINE "HYPOTHETICAL"]*/ "forbidPhantomResolvableNodeModulesFolders": true, + + /** + * (UNDER DEVELOPMENT) For certain installation problems involving peer dependencies, PNPM cannot + * correctly satisfy versioning requirements without installing duplicate copies of a package inside the + * node_modules folder. This poses a problem for "workspace:*" dependencies, as they are normally + * installed by making a symlink to the local project source folder. PNPM's "injected dependencies" + * feature provides a model for copying the local project folder into node_modules, however copying + * must occur AFTER the dependency project is built and BEFORE the consuming project starts to build. + * The "pnpm-sync" tool manages this operation; see its documentation for details. + * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies + * by invoking "pnpm-sync" during the build. + */ + /*[LINE "HYPOTHETICAL"]*/ "usePnpmSyncForInjectedDependencies": false } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index a81cefab0a3..66b7469424f 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -58,7 +58,7 @@ "tar": "~6.1.11", "true-case-path": "~2.2.1", "uuid": "~8.3.2", - "pnpm-sync-lib": "~0.0.1" + "pnpm-sync-lib": "0.0.2" }, "devDependencies": { "@pnpm/logger": "4.0.0", diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index 29073114c91..9b60d8a0f26 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -76,10 +76,19 @@ export interface IExperimentsJson { * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ forbidPhantomResolvableNodeModulesFolders?: boolean; + /** - * If true, Rush will use pnpm-sync to manage the injected dependenciesMeta in PNPM. + * (UNDER DEVELOPMENT) For certain installation problems involving peer dependencies, PNPM cannot + * correctly satisfy versioning requirements without installing duplicate copies of a package inside the + * node_modules folder. This poses a problem for "workspace:*" dependencies, as they are normally + * installed by making a symlink to the local project source folder. PNPM's "injected dependencies" + * feature provides a model for copying the local project folder into node_modules, however copying + * must occur AFTER the dependency project is built and BEFORE the consuming project starts to build. + * The "pnpm-sync" tool manages this operation; see its documentation for details. + * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies + * by invoking "pnpm-sync" during the build. */ - enablePnpmSyncForInjectedDependenciesMeta?: boolean; + usePnpmSyncForInjectedDependencies?: boolean; } /** diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index 630b41b8d8c..5148c4a9885 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -496,12 +496,9 @@ export class WorkspaceInstallManager extends BaseInstallManager { await doInstallInternalAsync(this.options); } - // if enablePnpmSyncForInjectedDependenciesMeta is true + // if usePnpmSyncForInjectedDependencies is true // the pnpm-sync will generate the pnpm-sync.json based on lockfile - if ( - this.rushConfiguration.packageManager === 'pnpm' && - experiments?.enablePnpmSyncForInjectedDependenciesMeta - ) { + if (this.rushConfiguration.packageManager === 'pnpm' && experiments?.usePnpmSyncForInjectedDependencies) { const pnpmLockfilePath: string = this.rushConfiguration.tempShrinkwrapFilename; const dotPnpmFolderPath: string = this.rushConfiguration.commonTempFolder + '/node_modules/.pnpm'; await pnpmSyncPrepare(pnpmLockfilePath, dotPnpmFolderPath); diff --git a/libraries/rush-lib/src/schemas/experiments.schema.json b/libraries/rush-lib/src/schemas/experiments.schema.json index a826e287882..44a0fa113d5 100644 --- a/libraries/rush-lib/src/schemas/experiments.schema.json +++ b/libraries/rush-lib/src/schemas/experiments.schema.json @@ -54,8 +54,8 @@ "description": "If true, Rush will not allow node_modules in the repo folder or in parent folders.", "type": "boolean" }, - "enablePnpmSyncForInjectedDependenciesMeta": { - "description": "If true, Rush will use pnpm-sync to manage injected dependenciesMeta in PNPM.", + "usePnpmSyncForInjectedDependencies": { + "description": "(UNDER DEVELOPMENT) For certain installation problems involving peer dependencies, PNPM cannot correctly satisfy versioning requirements without installing duplicate copies of a package inside the node_modules folder. This poses a problem for 'workspace:*' dependencies, as they are normally installed by making a symlink to the local project source folder. PNPM's 'injected dependencies' feature provides a model for copying the local project folder into node_modules, however copying must occur AFTER the dependency project is built and BEFORE the consuming project starts to build. The 'pnpm-sync' tool manages this operation; see its documentation for details. Enable this experiment if you want 'rush' and 'rushx' commands to resync injected dependencies by invoking 'pnpm-sync' during the build.", "type": "boolean" } }, From 9ef1f31728207eb90a27f2a850341bc181e6fcbf Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 29 Jan 2024 15:07:12 -0800 Subject: [PATCH 008/180] fix: update pnpm-lock --- common/config/rush/pnpm-lock.yaml | 6575 ++++++++++++++-------------- common/config/rush/repo-state.json | 2 +- 2 files changed, 3239 insertions(+), 3338 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 140ccc89b63..bd81c2d173a 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -35,7 +35,7 @@ importers: version: 3.13.1 resolve: specifier: ~1.22.1 - version: 1.22.8 + version: 1.22.4 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -78,7 +78,7 @@ importers: version: 4.17.21 resolve: specifier: ~1.22.1 - version: 1.22.8 + version: 1.22.4 semver: specifier: ~7.5.4 version: 7.5.4 @@ -139,7 +139,7 @@ importers: version: 3.4.3 fast-glob: specifier: ~3.3.1 - version: 3.3.2 + version: 3.3.1 git-repo-info: specifier: ~2.1.0 version: 2.1.1 @@ -219,13 +219,13 @@ importers: version: link:../lockfile-explorer-web '@types/cors': specifier: ~2.8.12 - version: 2.8.17 + version: 2.8.13 '@types/js-yaml': specifier: 3.12.1 version: 3.12.1 '@types/update-notifier': specifier: ~6.0.1 - version: 6.0.8 + version: 6.0.4 local-node-rig: specifier: workspace:* version: link:../../rigs/local-node-rig @@ -234,7 +234,7 @@ importers: dependencies: '@fluentui/react': specifier: ^8.96.1 - version: 8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@lifaon/path': specifier: ~2.1.0 version: 2.1.0 @@ -339,7 +339,7 @@ importers: version: 1.2.5 resolve: specifier: ~1.22.1 - version: 1.22.8 + version: 1.22.4 semver: specifier: ~7.5.4 version: 7.5.4 @@ -777,7 +777,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) local-eslint-config: specifier: workspace:* version: link:../../eslint/local-eslint-config @@ -786,7 +786,7 @@ importers: version: 3.0.2(webpack@5.82.1) style-loader: specifier: ~3.3.1 - version: 3.3.4(webpack@5.82.1) + version: 3.3.3(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -1080,7 +1080,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@7.11.0)(typescript@5.3.3) + version: 6.19.0(eslint@7.11.0)(typescript@5.3.3) eslint: specifier: 7.11.0 version: 7.11.0 @@ -1101,7 +1101,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@7.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@7.7.0)(typescript@5.3.3) eslint: specifier: 7.7.0 version: 7.7.0 @@ -1122,7 +1122,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@7.30.0)(typescript@5.3.3) + version: 6.19.0(eslint@7.30.0)(typescript@5.3.3) eslint: specifier: ~7.30.0 version: 7.30.0 @@ -1143,7 +1143,7 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1161,7 +1161,7 @@ importers: version: link:../../apps/heft '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1194,7 +1194,7 @@ importers: version: 1.18.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -1594,7 +1594,7 @@ importers: version: 1.18.0 autoprefixer: specifier: ~10.4.2 - version: 10.4.17(postcss@8.4.33) + version: 10.4.14(postcss@8.4.27) css-loader: specifier: ~5.2.7 version: 5.2.7(webpack@4.47.0) @@ -1609,10 +1609,10 @@ importers: version: link:../../eslint/local-eslint-config postcss: specifier: ~8.4.6 - version: 8.4.33 + version: 8.4.27 postcss-loader: specifier: ~4.1.0 - version: 4.1.0(postcss@8.4.33)(webpack@4.47.0) + version: 4.1.0(postcss@8.4.27)(webpack@4.47.0) react: specifier: ~17.0.2 version: 17.0.2 @@ -1885,7 +1885,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) local-eslint-config: specifier: workspace:* version: link:../../eslint/local-eslint-config @@ -2081,7 +2081,7 @@ importers: version: link:../../rush-plugins/rush-amazon-s3-build-cache-plugin '@types/http-proxy': specifier: ~1.17.8 - version: 1.17.14 + version: 1.17.11 '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -2152,7 +2152,7 @@ importers: version: link:../../rush-plugins/rush-redis-cobuild-plugin '@types/http-proxy': specifier: ~1.17.8 - version: 1.17.14 + version: 1.17.11 '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -2200,7 +2200,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -2251,16 +2251,16 @@ importers: version: link:../eslint-plugin-security '@typescript-eslint/eslint-plugin': specifier: ~6.19.0 - version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.1(typescript@5.3.3) + version: 6.19.0(typescript@5.3.3) '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint-plugin-promise: specifier: ~6.1.1 version: 6.1.1(eslint@8.7.0) @@ -2303,7 +2303,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@eslint/eslintrc': specifier: ~3.0.0 @@ -2328,13 +2328,13 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/rule-tester': specifier: ~6.19.0 - version: 6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.1(typescript@5.3.3) + version: 6.19.0(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2349,7 +2349,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -2371,10 +2371,10 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.1(typescript@5.3.3) + version: 6.19.0(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2389,7 +2389,7 @@ importers: version: link:../../libraries/tree-pattern '@typescript-eslint/utils': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) devDependencies: '@eslint/eslintrc': specifier: ~3.0.0 @@ -2414,13 +2414,13 @@ importers: version: 18.17.15 '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/rule-tester': specifier: ~6.19.0 - version: 6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': specifier: ~6.19.0 - version: 6.19.1(typescript@5.3.3) + version: 6.19.0(typescript@5.3.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2438,7 +2438,7 @@ importers: version: link:../eslint-patch '@typescript-eslint/parser': specifier: ~6.19.0 - version: 6.19.1(eslint@8.7.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint-plugin-deprecation: specifier: 2.0.0 version: 2.0.0(eslint@8.7.0)(typescript@5.3.3) @@ -2644,10 +2644,10 @@ importers: version: link:../../libraries/typings-generator postcss: specifier: ~8.4.6 - version: 8.4.33 + version: 8.4.27 postcss-modules: specifier: ~6.0.0 - version: 6.0.0(postcss@8.4.33) + version: 6.0.0(postcss@8.4.27) sass-embedded: specifier: ~1.62.0 version: 1.62.0 @@ -2936,7 +2936,7 @@ importers: version: 0.7.4 terser: specifier: ^5.9.0 - version: 5.27.0 + version: 5.19.2 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -2964,13 +2964,13 @@ importers: version: 1.4.0 resolve: specifier: ~1.22.1 - version: 1.22.8 + version: 1.22.4 semver: specifier: ~7.5.4 version: 7.5.4 z-schema: specifier: ~5.0.2 - version: 5.0.6 + version: 5.0.5 devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -3097,7 +3097,7 @@ importers: dependencies: resolve: specifier: ~1.22.1 - version: 1.22.8 + version: 1.22.4 strip-json-comments: specifier: ~3.1.1 version: 3.1.1 @@ -3128,7 +3128,7 @@ importers: dependencies: '@pnpm/dependency-path': specifier: ~2.1.2 - version: 2.1.7 + version: 2.1.3 '@pnpm/link-bins': specifier: ~5.3.7 version: 5.3.25 @@ -3176,7 +3176,7 @@ importers: version: 9.2.8 fast-glob: specifier: ~3.3.1 - version: 3.3.2 + version: 3.3.1 figures: specifier: 3.0.0 version: 3.0.0 @@ -3273,7 +3273,7 @@ importers: version: 7.5.0 '@types/ssri': specifier: ~7.1.0 - version: 7.1.5 + version: 7.1.1 '@types/strict-uri-encode': specifier: 2.0.0 version: 2.0.0 @@ -3350,7 +3350,7 @@ importers: version: 1.1.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-scroll-area': specifier: ~1.0.2 - version: 1.0.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-tabs': specifier: ~1.0.1 version: 1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) @@ -3477,7 +3477,7 @@ importers: version: 3.4.3 fast-glob: specifier: ~3.3.1 - version: 3.3.2 + version: 3.3.1 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -3628,7 +3628,7 @@ importers: version: 1.0.1 autoprefixer: specifier: ~10.4.2 - version: 10.4.17(postcss@8.4.33) + version: 10.4.14(postcss@8.4.27) css-loader: specifier: ~6.6.0 version: 6.6.0(webpack@5.82.1) @@ -3640,7 +3640,7 @@ importers: version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) jest-environment-jsdom: specifier: ~29.5.0 version: 29.5.0 @@ -3649,10 +3649,10 @@ importers: version: 2.5.3(webpack@5.82.1) postcss: specifier: ~8.4.6 - version: 8.4.33 + version: 8.4.27 postcss-loader: specifier: ~6.2.1 - version: 6.2.1(postcss@8.4.33)(webpack@5.82.1) + version: 6.2.1(postcss@8.4.27)(webpack@5.82.1) sass: specifier: ~1.49.7 version: 1.49.11 @@ -3664,10 +3664,10 @@ importers: version: 3.0.2(webpack@5.82.1) style-loader: specifier: ~3.3.1 - version: 3.3.4(webpack@5.82.1) + version: 3.3.3(webpack@5.82.1) terser-webpack-plugin: specifier: ~5.3.1 - version: 5.3.10(webpack@5.82.1) + version: 5.3.9(webpack@5.82.1) typescript: specifier: ~5.3.3 version: 5.3.3 @@ -3780,7 +3780,7 @@ importers: dependencies: '@azure/identity': specifier: ~4.0.0 - version: 4.0.1 + version: 4.0.0 '@azure/storage-blob': specifier: ~12.17.0 version: 12.17.0 @@ -3852,7 +3852,7 @@ importers: dependencies: '@redis/client': specifier: ~1.5.5 - version: 1.5.13 + version: 1.5.8 '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library @@ -3904,17 +3904,17 @@ importers: version: 1.0.7(@types/express@4.17.13) ws: specifier: ~8.14.1 - version: 8.14.2 + version: 8.14.1 devDependencies: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft '@types/compression': specifier: ~1.7.2 - version: 1.7.5(@types/express@4.17.13) + version: 1.7.2(@types/express@4.17.13) '@types/cors': specifier: ~2.8.12 - version: 2.8.17 + version: 2.8.13 '@types/express': specifier: 4.17.13 version: 4.17.13 @@ -3929,7 +3929,7 @@ importers: dependencies: '@fluentui/react': specifier: ^8.96.1 - version: 8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + version: 8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-components': specifier: ~9.27.0 version: 9.27.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) @@ -3972,16 +3972,16 @@ importers: version: 17.0.25 '@types/react-redux': specifier: ~7.1.22 - version: 7.1.33 + version: 7.1.25 '@types/vscode': specifier: ^1.63.0 - version: 1.85.0 + version: 1.81.0 eslint: specifier: ~8.7.0 version: 8.7.0 html-webpack-plugin: specifier: ~5.5.0 - version: 5.5.4(webpack@5.82.1) + version: 5.5.3(webpack@5.82.1) local-web-rig: specifier: workspace:* version: link:../../rigs/local-web-rig @@ -4030,7 +4030,7 @@ importers: version: 9.1.1 '@types/vscode': specifier: ^1.63.0 - version: 1.85.0 + version: 1.81.0 '@types/webpack-env': specifier: 1.18.0 version: 1.18.0 @@ -4057,7 +4057,7 @@ importers: version: link:../../libraries/node-core-library fast-glob: specifier: ~3.3.1 - version: 3.3.2 + version: 3.3.1 devDependencies: '@rushstack/heft': specifier: workspace:* @@ -4369,12 +4369,11 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 /@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-NHm+Jet4Iz1YDEo7lik4ItfGU1w97jCqNKilET0kcPndtxynDJNVpD1O0ycOb9L6hhLtpT5I7Llutt9Dy5gjYA==} engines: {node: '>= 14.15.0'} - deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: aws-cdk-lib: ^2.7.0 constructs: ^10.0.0 @@ -4386,7 +4385,6 @@ packages: /@aws-cdk/aws-apigatewayv2-authorizers-alpha@2.7.0-alpha.0(@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0)(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-03VMs0IKvcm5xLan0PI+gczSQZfmYBJruqjB5Fn+VvH57kU7vu75Kgjs6gUc6CpoI38MH7QdamLs9eP9AvL/HQ==} engines: {node: '>= 14.15.0'} - deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: '@aws-cdk/aws-apigatewayv2-alpha': 2.7.0-alpha.0 aws-cdk-lib: ^2.7.0 @@ -4400,7 +4398,6 @@ packages: /@aws-cdk/aws-apigatewayv2-integrations-alpha@2.7.0-alpha.0(@aws-cdk/aws-apigatewayv2-alpha@2.7.0-alpha.0)(aws-cdk-lib@2.7.0)(constructs@10.0.130): resolution: {integrity: sha512-QayWlBXdnAXjDghrYHO/vHsViPx/mLb2Tx5xdGM5sgIICNAnnY3WBbZZC4WLIli3bnc22cxwFWGCWHuM/vfj5A==} engines: {node: '>= 14.15.0'} - deprecated: This package has been stabilized and moved to aws-cdk-lib peerDependencies: '@aws-cdk/aws-apigatewayv2-alpha': 2.7.0-alpha.0 aws-cdk-lib: ^2.7.0 @@ -4480,7 +4477,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 tslib: 2.3.1 dev: false @@ -4490,9 +4487,9 @@ packages: dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 - '@azure/core-rest-pipeline': 1.13.0 + '@azure/core-rest-pipeline': 1.12.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 tslib: 2.3.1 transitivePeerDependencies: @@ -4506,7 +4503,7 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 '@types/node-fetch': 2.6.2 '@types/tunnel': 0.0.3 @@ -4529,7 +4526,7 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 '@types/node-fetch': 2.6.2 '@types/tunnel': 0.0.3 @@ -4549,7 +4546,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 tslib: 2.3.1 dev: false @@ -4561,15 +4558,16 @@ packages: tslib: 2.3.1 dev: false - /@azure/core-rest-pipeline@1.13.0: - resolution: {integrity: sha512-a62aP/wppgmnfIkJLfcB4ssPBcH94WzrzPVJ3tlJt050zX4lfmtnvy95D3igDo3f31StO+9BgPrzvkj4aOxnoA==} - engines: {node: '>=18.0.0'} + /@azure/core-rest-pipeline@1.12.0: + resolution: {integrity: sha512-+MnSB0vGZjszSzr5AW8z93/9fkDu2RLtWmAN8gskURq7EW2sSwqy8jZa0V26rjuBVkwhdA3Hw8z3VWoeBUOw+A==} + engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 + form-data: 4.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 tslib: 2.3.1 @@ -4581,7 +4579,7 @@ packages: resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} engines: {node: '>=12.0.0'} dependencies: - '@opentelemetry/api': 1.7.0 + '@opentelemetry/api': 1.4.1 tslib: 2.3.1 dev: false @@ -4592,9 +4590,9 @@ packages: tslib: 2.3.1 dev: false - /@azure/core-util@1.6.1: - resolution: {integrity: sha512-h5taHeySlsV9qxuK64KZxy4iln1BtMYlNt5jbuEFN3UFSAd1EwKg/Gjl5a6tZ/W8t6li3xPnutOx7zbDyXnPmQ==} - engines: {node: '>=16.0.0'} + /@azure/core-util@1.4.0: + resolution: {integrity: sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==} + engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 tslib: 2.3.1 @@ -4607,9 +4605,9 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-client': 1.7.3 - '@azure/core-rest-pipeline': 1.13.0 + '@azure/core-rest-pipeline': 1.12.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 '@azure/msal-browser': 2.38.3 '@azure/msal-common': 7.6.0 @@ -4624,19 +4622,19 @@ packages: - supports-color dev: false - /@azure/identity@4.0.1: - resolution: {integrity: sha512-yRdgF03SFLqUMZZ1gKWt0cs0fvrDIkq2bJ6Oidqcoo5uM85YMBnXWMzYKK30XqIT76lkFyAaoAAy5knXhrG4Lw==} + /@azure/identity@4.0.0: + resolution: {integrity: sha512-gtPYxIL0kI39Dw4t3HvlbfhOdXqKD2MqDgynlklF0j728j51dcKgRo6FLX0QzpBw/1gGfLxjMXqq3nKOSQ2lmA==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 '@azure/core-auth': 1.5.0 '@azure/core-client': 1.7.3 - '@azure/core-rest-pipeline': 1.13.0 + '@azure/core-rest-pipeline': 1.12.0 '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.6.1 + '@azure/core-util': 1.4.0 '@azure/logger': 1.0.4 - '@azure/msal-browser': 3.7.1 - '@azure/msal-node': 2.6.2 + '@azure/msal-browser': 3.5.0 + '@azure/msal-node': 2.5.1 events: 3.3.0 jws: 4.0.0 open: 8.4.2 @@ -4661,11 +4659,11 @@ packages: '@azure/msal-common': 13.3.1 dev: false - /@azure/msal-browser@3.7.1: - resolution: {integrity: sha512-EZnk81zn1/5/jv/VVN2Tp+dUVchHmwbbt7pn654Eqa+ua7wtEIg1btuW/mowB13BV2nGYcvniY9Mf+3Sbe0cCg==} + /@azure/msal-browser@3.5.0: + resolution: {integrity: sha512-2NtMuel4CI3UEelCPKkNRXgKzpWEX48fvxIvPz7s0/sTcCaI08r05IOkH2GkXW+czUOtuY6+oGafJCpumnjRLg==} engines: {node: '>=0.8.0'} dependencies: - '@azure/msal-common': 14.6.1 + '@azure/msal-common': 14.4.0 dev: false /@azure/msal-common@13.3.1: @@ -4673,8 +4671,8 @@ packages: engines: {node: '>=0.8.0'} dev: false - /@azure/msal-common@14.6.1: - resolution: {integrity: sha512-yL97p2La0WrgU3MdXThOLOpdmBMvH8J69vwQ/skOqORYwOW/UYPdp9nZpvvfBO+zFZB5M3JkqA2NKtn4GfVBHw==} + /@azure/msal-common@14.4.0: + resolution: {integrity: sha512-ffCymScQuMKVj+YVfwNI52A5Tu+uiZO2eTf+c+3TXxdAssks4nokJhtr+uOOMxH0zDi6d1OjFKFKeXODK0YLSg==} engines: {node: '>=0.8.0'} dev: false @@ -4689,16 +4687,16 @@ packages: deprecated: A newer major version of this library is available. Please upgrade to the latest available version. dependencies: '@azure/msal-common': 13.3.1 - jsonwebtoken: 9.0.2 + jsonwebtoken: 9.0.1 uuid: 8.3.2 dev: false - /@azure/msal-node@2.6.2: - resolution: {integrity: sha512-XyP+5lUZxTpWpLCC2wAFGA9wXrUhHp1t4NLmQW0mQZzUdcSay3rG7kGGqxxeLf8mRdwoR0B70TCLmIGX6cfK/g==} - engines: {node: '>=16'} + /@azure/msal-node@2.5.1: + resolution: {integrity: sha512-PsPRISqCG253HQk1cAS7eJW7NWTbnBGpG+vcGGz5z4JYRdnM2EIXlj1aBpXCdozenEPtXEVvHn2ELleW1w82nQ==} + engines: {node: 16|| 18 || 20} dependencies: - '@azure/msal-common': 14.6.1 - jsonwebtoken: 9.0.2 + '@azure/msal-common': 14.4.0 + jsonwebtoken: 9.0.1 uuid: 8.3.2 dev: false @@ -4737,38 +4735,38 @@ packages: /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.23.4 + '@babel/highlight': 7.22.10 dev: true - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.23.4 + '@babel/highlight': 7.22.10 chalk: 2.4.2 - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} /@babel/core@7.12.9: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.12.9) - '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.12.9) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 source-map: 0.5.7 transitivePeerDependencies: @@ -4780,15 +4778,15 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) - '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -4797,59 +4795,59 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: + resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 dev: true - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.20.12): - resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} + /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.20.12): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.20.12): + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -4866,110 +4864,95 @@ packages: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/traverse': 7.23.7 + '@babel/traverse': 7.22.10 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.8 + resolve: 1.22.4 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.20.12): - resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.20.12): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.20.12): + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.8 + resolve: 1.22.4 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + /@babel/helper-environment-visitor@7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 - /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + /@babel/helper-member-expression-to-functions@7.22.5: + resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 dev: true - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + /@babel/helper-module-imports@7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.12.9): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/helper-module-transforms@7.22.9(@babel/core@7.12.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/helper-module-transforms@7.22.9(@babel/core@7.20.12): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.22.5 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 dev: true /@babel/helper-plugin-utils@7.10.4: @@ -4980,27 +4963,27 @@ packages: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.20.12): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.20.12): + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-wrap-function': 7.22.10 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.20.12): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + /@babel/helper-replace-supers@7.22.9(@babel/core@7.20.12): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 dev: true @@ -5008,67 +4991,73 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + /@babel/helper-validator-option@7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + /@babel/helper-wrap-function@7.22.10: + resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/helper-function-name': 7.22.5 + '@babel/template': 7.22.5 + '@babel/types': 7.22.10 dev: true - /@babel/helpers@7.23.8: - resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.16.4: + resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} engines: {node: '>=6.0.0'} hasBin: true + dev: false - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -5077,8 +5066,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 @@ -5086,59 +5075,48 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.20.12) - dev: true - - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.20.12): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.20.12) dev: true /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-decorators@7.23.7(@babel/core@7.20.12): - resolution: {integrity: sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==} + /@babel/plugin-proposal-decorators@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-KxN6TqZzcFi4uD3UifqXElBTBNLAEH1l3vzMQj6JwJZbL2sZlThxSViOKCYY+4Ah4V4JhQ95IVB7s/Y6SJSlMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.22.10(@babel/core@7.20.12) dev: true - /@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==} + /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.20.12) dev: true /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -5149,35 +5127,32 @@ packages: /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.12.9) dev: true /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.20.12): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.22.9 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) dev: true /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.20.12): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -5190,12 +5165,11 @@ packages: /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -5242,8 +5216,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} + /@babel/plugin-syntax-decorators@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5261,8 +5235,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==} + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5280,8 +5254,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5290,8 +5264,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5300,8 +5274,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5335,8 +5309,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5420,8 +5394,8 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5436,12 +5410,12 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5450,33 +5424,33 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.20.12): - resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.20.12) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.20.12) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.20.12) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5485,8 +5459,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5495,59 +5469,60 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.20.12): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + /@babel/plugin-transform-classes@7.22.6(@babel/core@7.20.12): + resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 + '@babel/template': 7.22.5 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5556,19 +5531,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5577,8 +5552,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5588,19 +5563,19 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5610,42 +5585,41 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.20.12): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5655,8 +5629,8 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5665,8 +5639,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5676,8 +5650,8 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5686,50 +5660,50 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.12) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -5740,12 +5714,12 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5754,8 +5728,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5765,8 +5739,8 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5776,33 +5750,33 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.22.9 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.20.12) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5812,8 +5786,8 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5824,8 +5798,8 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.12.9): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.12.9): + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5834,8 +5808,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5844,32 +5818,32 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5878,8 +5852,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5895,25 +5869,25 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.20.12): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) - '@babel/types': 7.23.6 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/types': 7.22.10 dev: true - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5923,8 +5897,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5934,8 +5908,8 @@ packages: regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5944,8 +5918,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5954,8 +5928,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5965,8 +5939,8 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5975,8 +5949,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5985,8 +5959,8 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5995,21 +5969,21 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.20.12): - resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.20.12) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6018,61 +5992,60 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.20.12) + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.20.12) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.23.8(@babel/core@7.20.12): - resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==} + /@babel/preset-env@7.22.10(@babel/core@7.20.12): + resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.22.9 '@babel/core': 7.20.12 - '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.20.12) '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.20.12) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.12) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.12) '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.20.12) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.20.12) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.12) @@ -6084,74 +6057,75 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.20.12) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.20.12) '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.20.12) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.20.12) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.20.12) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.20.12) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.20.12) - core-js-compat: 3.35.1 + '@babel/types': 7.22.10 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.20.12) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.20.12) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.20.12) + core-js-compat: 3.32.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-flow@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==} + /@babel/preset-flow@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.20.12) dev: true /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.20.12): @@ -6161,41 +6135,41 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 esutils: 2.0.3 dev: true - /@babel/preset-react@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + /@babel/preset-react@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.20.12) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.20.12) dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.20.12): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + /@babel/preset-typescript@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.20.12) + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.20.12) dev: true - /@babel/register@7.23.7(@babel/core@7.20.12): - resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} + /@babel/register@7.22.5(@babel/core@7.20.12): + resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6212,43 +6186,43 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.23.8: - resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} + /@babel/runtime@7.22.10: + resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.1 + regenerator-runtime: 0.14.0 - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 - /@babel/traverse@7.23.7: - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 /@balena/dockerignore@1.0.2: @@ -6262,8 +6236,8 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - /@bufbuild/protobuf@1.7.0: - resolution: {integrity: sha512-jIsRadRsyxf6ERBU1auY2c1k3doFdqh15F4HRZs4BELVuBtpN+3ipkXqcsWE+rD+EQNigeR29SfQ+ES6UX/jGg==} + /@bufbuild/protobuf@1.3.0: + resolution: {integrity: sha512-G372ods0pLt46yxVRsnP/e2btVPuuzArcMPFpIDeIwiGPuuglEs9y75iG0HMvZgncsj5TvbYRWqbVyOe3PLCWQ==} dev: false /@cnakazawa/watch@1.0.4: @@ -6308,7 +6282,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@emotion/cache': 10.0.29 '@emotion/css': 10.0.27 '@emotion/serialize': 0.11.16 @@ -6357,14 +6331,14 @@ packages: csstype: 2.6.21 dev: true - /@emotion/serialize@1.1.3: - resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} + /@emotion/serialize@1.1.2: + resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/unitless': 0.8.1 '@emotion/utils': 1.2.1 - csstype: 3.1.3 + csstype: 3.1.2 dev: true /@emotion/sheet@0.9.4: @@ -6378,7 +6352,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/is-prop-valid': 0.8.8 '@emotion/serialize': 0.11.16 @@ -6434,17 +6408,8 @@ packages: jsdoc-type-pratt-parser: 2.2.5 dev: false - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -6452,8 +6417,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -6461,8 +6426,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -6470,8 +6435,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -6479,8 +6444,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -6488,8 +6453,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -6497,8 +6462,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -6506,8 +6471,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -6515,8 +6480,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -6524,8 +6489,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -6542,8 +6507,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -6551,8 +6516,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -6560,8 +6525,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -6569,8 +6534,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -6578,8 +6543,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -6587,8 +6552,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -6596,8 +6561,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -6605,8 +6570,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -6614,8 +6579,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -6623,8 +6588,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -6632,8 +6597,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -6641,8 +6606,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -6650,14 +6615,14 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 - eslint-visitor-keys: 3.4.3 + eslint: 8.46.0 + eslint-visitor-keys: 3.4.2 dev: true /@eslint-community/eslint-utils@4.4.0(eslint@8.7.0): @@ -6667,10 +6632,10 @@ packages: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.7.0 - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.2 - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + /@eslint-community/regexpp@4.6.2: + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@0.1.3: @@ -6698,7 +6663,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 7.3.1 - globals: 13.24.0 + globals: 13.20.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.13.1 @@ -6715,8 +6680,8 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.0 + globals: 13.20.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6724,15 +6689,15 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + /@eslint/eslintrc@2.1.1: + resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.0 + globals: 13.20.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6748,8 +6713,8 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.0 + globals: 13.20.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6758,8 +6723,8 @@ packages: - supports-color dev: true - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js@8.46.0: + resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -6781,116 +6746,108 @@ packages: ipaddr.js: 2.1.0 dev: false - /@floating-ui/core@1.5.3: - resolution: {integrity: sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==} + /@floating-ui/core@1.4.1: + resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} dependencies: - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.1.1 dev: false - /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.5.4): - resolution: {integrity: sha512-8PHJLbD6VhBh+LJ1uty/Bz30qs02NXCE5u8WpOhSewlYXUWl03GNXknr9AS2yaAWJEQaY27x7eByJs44gODBcw==} - peerDependencies: - '@floating-ui/dom': '>=1.5.4' + /@floating-ui/dom@1.5.1: + resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} dependencies: - '@floating-ui/dom': 1.5.4 + '@floating-ui/core': 1.4.1 + '@floating-ui/utils': 0.1.1 dev: false - /@floating-ui/dom@1.5.4: - resolution: {integrity: sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==} - dependencies: - '@floating-ui/core': 1.5.3 - '@floating-ui/utils': 0.2.1 - dev: false - - /@floating-ui/utils@0.2.1: - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + /@floating-ui/utils@0.1.1: + resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} dev: false - /@fluentui/date-time-utilities@8.5.16: - resolution: {integrity: sha512-l+mLfJ2VhdHjBpELLLPDaWgT7GMLynm2aqR7SttbEb6Jh7hc/7ck1MWm93RTb3gYVHYai8SENqimNcvIxHt/zg==} + /@fluentui/date-time-utilities@8.5.13: + resolution: {integrity: sha512-X3clbPKh0URkDj21QoARw6SNec7dWg7Gt7SkTlkVYFzmZUdC4ZIrYk3n36xKe3U1wcGp26EVmKjhAhB262ugpw==} dependencies: - '@fluentui/set-version': 8.2.14 + '@fluentui/set-version': 8.2.11 tslib: 2.3.1 dev: false - /@fluentui/dom-utilities@2.2.14: - resolution: {integrity: sha512-+4DVm5sNfJh+l8fM+7ylpOkGNZkNr4X1z1uKQPzRJ1PRhlnvc6vLpWNNicGwpjTbgufSrVtGKXwP5sf++r81lg==} + /@fluentui/dom-utilities@2.2.11: + resolution: {integrity: sha512-2tXfg7/9PXu9nfU72/P3o3waHEFEQtHUfQbVexUaYqNNAxMj6sOfsqpUx4vd5nPgO+grSWrl+spqlLN2yej51w==} dependencies: - '@fluentui/set-version': 8.2.14 + '@fluentui/set-version': 8.2.11 tslib: 2.3.1 dev: false - /@fluentui/font-icons-mdl2@8.5.31(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-jioHZ9XUfR9vUT5XnxdCrJ+hoC9TpYim+4YdtlUE/euI8kdW1tDZ5zqlSNk1GLDR34n03R09yWj5gVDCcMJbyQ==} + /@fluentui/font-icons-mdl2@8.5.23(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-jZjUtfQm9/84jX34zhwwsoZME86xXXgKAgBYuMvRStKzXGdZcd7YSOlmuT8lbISmtFL/SWwUGOEal1nLCUNeNA==} dependencies: - '@fluentui/set-version': 8.2.14 - '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.11 + '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) tslib: 2.3.1 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/foundation-legacy@8.2.51(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-z/jrp1imV66/D2MGpN/55LGk/Istymk5tN+XUFHDENDi+9zyb2MgSxFshp774DJIrg3vVlyuS8oo+dBuTM3UbQ==} + /@fluentui/foundation-legacy@8.2.43(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-rXr71KxNcWDH2LmTsFZbP75p8HssLlVLaFAqEdLE+sKf/LNKmqkDVTNhDbHZxzxy0QnguI4aNHcyGhMZUH3MPA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.5.15 - '@fluentui/set-version': 8.2.14 - '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.12 + '@fluentui/set-version': 8.2.11 + '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/keyboard-key@0.4.14: - resolution: {integrity: sha512-XzZHcyFEM20H23h3i15UpkHi2AhRBriXPGAHq0Jm98TKFppXehedjjEFuUsh+CyU5JKBhDalWp8TAQ1ArpNzow==} + /@fluentui/keyboard-key@0.4.11: + resolution: {integrity: sha512-TVB/EloWado9AVp1niChgcdDOQAHGP5B30Dinmtfe7zi8OnstwPoxwFP6dHJDdpLQ6ZEUTaEHViSzvewl7Chag==} dependencies: tslib: 2.3.1 dev: false - /@fluentui/keyboard-keys@9.0.7: - resolution: {integrity: sha512-vaQ+lOveQTdoXJYqDQXWb30udSfTVcIuKk1rV0X0eGAgcHeSDeP1HxMy+OgHOQZH3OiBH4ZYeWxb+tmfiDiygQ==} + /@fluentui/keyboard-keys@9.0.3: + resolution: {integrity: sha512-40KBVJ9HzsvmPL3rwYaAvxCacNS0xnTmOt6TLxxrAVgVrZ1X7DLgd8OGFZcWROs0dhHdCk2D51bl4nK8Q1r3mQ==} dependencies: - '@swc/helpers': 0.5.3 + '@swc/helpers': 0.4.14 dev: false - /@fluentui/merge-styles@8.5.15: - resolution: {integrity: sha512-4CdKwo4k1Un2QLulpSVIz/KMgLNBMgin4NPyapmKDMVuO1OOxJUqfocubRGNO5x9mKgAMMYwBKGO9i0uxMMpJw==} + /@fluentui/merge-styles@8.5.12: + resolution: {integrity: sha512-ZnUo0YuMP7AYi68dkknFqVxopIAgbrUnqR/MZlemmRvBYyy1SMj1WQeHcoiLFA8mF8YKn7B+jxQgJbN2bfcrRw==} dependencies: - '@fluentui/set-version': 8.2.14 + '@fluentui/set-version': 8.2.11 tslib: 2.3.1 dev: false - /@fluentui/priority-overflow@9.1.11: - resolution: {integrity: sha512-sdrpavvKX2kepQ1d6IaI3ObLq5SAQBPRHPGx2+wiMWL7cEx9vGGM0fmeicl3soqqmM5uwCmWnZk9QZv9XOY98w==} + /@fluentui/priority-overflow@9.1.2: + resolution: {integrity: sha512-h3gzN8e0H9T3QKnOsWOUXkjvNay+3GHpy3z7+boFJSpBaJSpFgOHZVS+4HQYodJkZIgQstutWRHtEhc4mxDHAw==} dependencies: - '@swc/helpers': 0.5.3 + '@swc/helpers': 0.4.14 dev: false - /@fluentui/react-accordion@9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-5FkwvwdVyN9TcA9MeWu/673dCOTVQkwZhzGaentJFe1fMEK1cTCLKtqmYtzqjzm47xMiiVdxtDhN5Z/PU9GbtQ==} + /@fluentui/react-accordion@9.3.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-8z235o4qxfwg2ed5Z+wdeGJf8gvMkE4Sbfl3UWQHwphXsvhFStQUAYF1xj74btXcVNZwFeVjUdNpPkHWZHbpaQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6906,15 +6863,15 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.209(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6923,46 +6880,44 @@ packages: - scheduler dev: false - /@fluentui/react-aria@9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-fnnwGXpS/8oh8O4vpQjh5R1rg0dT9mTk85pSdA9F7kz4KOoLW5byREHvXTsYgpiibBhXzipFxLunx5vDzC/g6w==} + /@fluentui/react-aria@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-D9Bfql9AL5ehNvjYDrNW6vUccGvGI3CYV1dO814OO77mZ0BAe6rsDzk0pT46i2rFKt083qPcq5zw8K9kd7cQfw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-avatar@9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-D2NS5+cuWFcvFKyXnG++bKnwxmfYtV7LNL3Sh0adTF4MCGixhmrTlD6aprI5FVQnddexAWK0/Hc1asNDafm9VQ==} + /@fluentui/react-avatar@9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-LY6jx+AHucluYmNT/4O9soeixKjkwHq26oivoCE4kP1DcZbshqvV7QHOIvWNhwntaxqEgYZV4uDw9Ubsl5O+EQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-tooltip': 9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-tooltip': 9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -6970,90 +6925,90 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-badge@9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-0Fld2A7mCd3l7vKUoU0sm4EqGSkJN8GzduXwxKpl9DV+FWlMLO7K+9hU3o5MzYwHZzrkdHNGX4TwFM7+7pUN3g==} + /@fluentui/react-badge@9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-oiSG7rsnKx/Qzog5s+CVai73dKc0xGp/0DjFlEy5hoUkpzyrKy2tYFqyG9tSn9knB6e2YWb6cgBft3zcGVn1IA==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-button@9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-HOehSai3c4J1Y1KLjaP5FSzsSBeVKqI1stW2cpYkzBoxJZXHWbLAW8K9O7pvK/WJft1JfANgh0rgsfMk74jfvA==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-button@9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-8wcXJYBRU/PZn9xAHacANwAqwGpKWT0z2LPbVvCx/hP3obxJyGx4DX1w4nXGTc6PxOJuASRyjc3BjRKUnAyFog==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-card@9.0.65(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-YLRBQd3Bx5A6sXyc45Ut3Zmm752tjmETKFnB4GweHI13YRUxUpM4IpzSOpP0wwys31FwgBGZl7iOLOg/I6NwIw==} + /@fluentui/react-card@9.0.26(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-2kvdxJDPfYGexkuJ2T/tevQIKBIEEciyUpdAHW20JBLnfKN9Pu6gCTLaXi7E8vhlYpAZ6K8QS9mFUvuc8tXU4Q==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-checkbox@9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-SNLAY+3595Zg0nRa07dRxbmYN0NUIRnawqs+8Z6K1zWxQZdSdjzf2NGwCw+qAX+hBhkjRBXNiMSRezVJYAFg+g==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-checkbox@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-0uYqEI8sFZZ6DjYtVXUSL6+hDCU67zeHC7R6X/1YuEt1VTAeTrFLbvbjLmxvbMxKJ4bTsxyHwWlwFzTizSTWRw==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7062,28 +7017,27 @@ packages: - scheduler dev: false - /@fluentui/react-combobox@9.7.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-mds3Bba2IbzgJFmJfDxjtjCoIGSGDOeBcOtD7sBycl3kECGLq4oKoSdihCn95+YvYa+iNF78HO/cBIsj+Ehkdw==} + /@fluentui/react-combobox@9.5.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-beTh2hWrA1RlYS+qk/fjopX25MiMJJaC2m02EsDm3Ji0+59rtZA7Q/cSzD+DhtiYLbfYX0FRG+DNLJZcmWcqmQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7100,53 +7054,53 @@ packages: react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-accordion': 9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-accordion': 9.3.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) '@fluentui/react-alert': 9.0.0-beta.63(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-card': 9.0.65(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-combobox': 9.7.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-dialog': 9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-divider': 9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-card': 9.0.26(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-combobox': 9.5.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-dialog': 9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-divider': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-drawer': 9.0.0-beta.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-image': 9.1.56(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-image': 9.1.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-infobutton': 9.0.0-beta.47(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-input': 9.4.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-link': 9.2.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-menu': 9.12.46(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-overflow': 9.1.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-persona': 9.2.69(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-progress': 9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-provider': 9.13.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-select': 9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-skeleton': 9.0.49(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-slider': 9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-spinbutton': 9.2.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-spinner': 9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-switch': 9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-table': 9.11.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabs': 9.4.7(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-text': 9.4.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-textarea': 9.3.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-toast': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-toolbar': 9.1.67(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tooltip': 9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-input': 9.4.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-link': 9.1.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-menu': 9.12.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-overflow': 9.0.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-persona': 9.2.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-progress': 9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-provider': 9.7.14(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-select': 9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-skeleton': 9.0.13(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-slider': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-spinbutton': 9.2.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-spinner': 9.3.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-switch': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-table': 9.7.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabs': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-text': 9.3.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-textarea': 9.3.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-toast': 9.1.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-toolbar': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tooltip': 9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@fluentui/react-tree': 9.0.0-beta.30(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) '@fluentui/react-virtualizer': 9.0.0-alpha.30(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7154,17 +7108,17 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-context-selector@9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-rSUCW1ja4wp4qcLNFDGd4WjVsFzR1WYW9G5rurqlK5jbQFxsRZ4B88GamnXkUQxlfQxfLjhBLBjui5ZZQCnJQg==} + /@fluentui/react-context-selector@9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-l6YypPlNQRtGkavDJTXqdZbQCpS69L7/1mx8GU5aqzcWYyfUyfP4Y0lPpgXjlm1dvHnz/5k6gprEB0dWkfCpxA==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7172,49 +7126,48 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-dialog@9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-YOovjoFpU+PQkYLqpkWShfv14GFoCV8s1tMhI13cuZMTEPNdG7HXnGs0+Ny0y3KU+hRg7uFIPpV3D1yYJaP80Q==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-dialog@9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-n/lZSyoUvinOXmwOrMkugNGVuQ3ehJTPj4ZJ4PN87SKkDatHpl5inaYzoUfdRqH0KNlxJEi10uhJThh1mgk6ZQ==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) transitivePeerDependencies: - scheduler dev: false - /@fluentui/react-divider@9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-xT0dzJEw3UMGTkNqdNgg+lkPWbAo3FIzRhTPhy1svtOmcZlizRIESzrPnzxOylvikVYriKhMJ6/2CRkShGaMug==} + /@fluentui/react-divider@9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-MHmlmlbtdbd1zwuMrbwIp9ULhGmBW9bVvak/W0RkdJFj7aSsbPZ5kovnHwrnkRU/nZl4WQ+giXOkkEypBVqOig==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7229,13 +7182,13 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-dialog': 9.9.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-dialog': 9.5.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7244,22 +7197,22 @@ packages: - scheduler dev: false - /@fluentui/react-field@9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-Q7UxdEUGQ07qf1RntXVuS3S7qa8M/evRpia2I5td3ds96XB6V6WRGaMJqt5WILmcdEZcdDecVbURb0qCRekrng==} + /@fluentui/react-field@9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-0a5Q/caBuHnmxXt5NmpiJC0lop0qYbzAPe5UD1WBOfhfMRWGYS3wkXwkykybIzSx5xrQ8SkWDsTEJFKzhHyiUQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7268,60 +7221,60 @@ packages: - scheduler dev: false - /@fluentui/react-focus@8.8.39(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-7PnI+3e37jxt0PlWykNfbCbPdnKroJY+olOxZDHkXfI/ANr8lm4YuyLAYNAtyapfnkf+FBoO6vxU51P8hNk7tQ==} + /@fluentui/react-focus@8.8.30(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-dKQQtNTZbQOE+u/Tmh7AbtJPSpzQNI0L8o55a22y4U7s33rizUd++CIiToXsB+bPvlotcmpZswZQ8V06zM4KIw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-key': 0.4.14 - '@fluentui/merge-styles': 8.5.15 - '@fluentui/set-version': 8.2.14 - '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/keyboard-key': 0.4.11 + '@fluentui/merge-styles': 8.5.12 + '@fluentui/set-version': 8.2.11 + '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-hooks@8.6.36(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-kI0Z4Q4xHUs4SOmmI5n5OH5fPckqMSCovTRpiuxzCO2TNzLmfC861+nqf4Ygw/ChqNm2gWNZZfUADfnNAEsq+Q==} + /@fluentui/react-hooks@8.6.29(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-MeVevmGJtrYxdhoarrkVWE0Hs4XdzOc9A3tiOjMBIcwOvoOYOAoOELoHK/wuulPVwUn2R9Y+7JpJ6oCe4ImdJw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-window-provider': 2.2.18(@types/react@17.0.74)(react@17.0.2) - '@fluentui/set-version': 8.2.14 - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-window-provider': 2.2.15(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.11 + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-icons@2.0.225(react@17.0.2): - resolution: {integrity: sha512-L9phN3bAMlZCa5+/ObGjIO+5GI8M50ym766sraSq92jaJwgAXrCJDLWuDGWZRGrC63DcagtR2culptj3q7gMMg==} + /@fluentui/react-icons@2.0.209(react@17.0.2): + resolution: {integrity: sha512-9xMFMZBai0cPd9qaipDZxAZlMyt/WxD/sJnq5OT2HaitWPf5A37e423vjLaPyNaghtgiPDdfKlC5eRRx1MfoDw==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/react': 1.5.20(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react-image@9.1.56(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-yeD08kQR4MJgjETfqaFKQLhtaCxUv3tuU1EluU6kGhfPxDJ+XzbHvpzXv4PJToyF5MpkBVfycK+ignh9zbJpHg==} + /@fluentui/react-image@9.1.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-F1cK42RgN0iK6uQxrErm8NS/9NdT+nUN/+eLDJSZD0zstR4xAcQQ5PAOGrttpxQaZPyh1NO7mb9oLlcBVptSDw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7330,22 +7283,21 @@ packages: /@fluentui/react-infobutton@9.0.0-beta.47(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): resolution: {integrity: sha512-aK/DLZO6/pzvGIbqJLCHIR5ram01Dpuai+C4M77bxKYO+t6iWb1JNZhfgXmDZRuPxhfEWA2J0pwQmHiVK1Bd9g==} - deprecated: '@fluentui/react-infobutton has been deprecated, please use @fluentui/react-infolabel instead.' peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/react-icons': 2.0.209(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-popover': 9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-popover': 9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7354,21 +7306,21 @@ packages: - scheduler dev: false - /@fluentui/react-input@9.4.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-mjXEx/CMfKcOjqhqDe5imvV1ikVsxpj0ZZa6HUWZetXvYarP1jvVBeC2YViLJV/14o/IFFkBwfyDqFOBB7dXyQ==} + /@fluentui/react-input@9.4.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-TCMQZGOLwk219239eOxEvVYMPAztmAg+BqNKhZA6wtqtBt5jcXPCTCdRZn5ZRaSREfze3TYOkqIoXowV/gTO1w==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7383,89 +7335,76 @@ packages: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.4.36 - '@types/react': 17.0.74 - react: 17.0.2 - dev: false - - /@fluentui/react-jsx-runtime@9.0.28(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-0BpDtSglE/o492jfR/EgW2cjCQRqWx7pzpmFqzTtlHp0rgi23WfjuKwMV9O2d4wfHkRxhAmn7/j5zIH/IAKhew==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 react: 17.0.2 - react-is: 17.0.2 dev: false - /@fluentui/react-label@9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-3Rsle1wvuwb7PRrSIezpPfqBpO5ZLXSOFWUxKijEBh05++4LH2nSjIoVxuThlLesGT2oo144DGkh3JH5CVuCFQ==} + /@fluentui/react-label@9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-NCYcVqJLlKN2DP3nsquitg7e5ycRMG20hqbmDOCOelyRfjjX83BtHteeZv5GYbZXp4ERdWvAb2FwQwtSW9G1Xw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-link@9.2.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-pOlgUlPLXmmiCT12E/qNnKIR4ppKAq8pjEscWifON/2fcbtS2faX1YWmKK1Xs/L73iIMKTLk1ow0pFso6PbujQ==} + /@fluentui/react-link@9.1.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-n5aafZlphaTDxp0786xJOQi5OEls8w9ncdsi7QrFx+d7wdTtb8GQDsLZ4V3y7jR4CDZJxN4IfMnxJB6eQmm5GA==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-menu@9.12.46(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-kn67z1tCONXR1nfxzIuG59q+GLm2HCeu39gW9+FhrikvBS8ue/Mq2xQgdrlrc192kCATcd0iA09m1X+DgyQQMA==} + /@fluentui/react-menu@9.12.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-UcC7d0+ZfIEfUsPkWTyQ3wXF6z+hUe73y+QReD3nlvf9SL/JHKA0r+41OZxStqSZA7lITP/Tju3YSmXTuIoK6Q==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7473,21 +7412,21 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-overflow@9.1.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-MQWvslL/KQRx0LCdYU8Ewq4mqxcYs+6IyuRen+e2Q4IiylOTP4QOszTo7HS3PZYcLA2vaMa7FSecNeY86Ti60w==} + /@fluentui/react-overflow@9.0.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-Q/EctUJ9cqWBq8H9KYFFOjC0mHajiC/EmcyxcoFPkY8XGVGbD87aCz1Hx7cDv7nCDw+/zSCaMBWO7WvQ8AIL9Q==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/priority-overflow': 9.1.11 - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/priority-overflow': 9.1.2 + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7495,22 +7434,22 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-persona@9.2.69(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-9I3PppRQYGRdmytJVu4kQ/Nx124ke4yNHzMfgTqwnTzKVHzP4LvpHaY0Vb7MVppGetjUct3SdopMfThWiyVnPA==} + /@fluentui/react-persona@9.2.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-XpmzTnqBRoJ82cdi11yzwd6ABCc9V1uSCFj7I03hftVUOB0BXH3zDYOcjNfrD5jPDbpzFxXsK4QnzwwaKBOQUQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-badge': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-badge': 9.1.24(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7519,27 +7458,27 @@ packages: - scheduler dev: false - /@fluentui/react-popover@9.8.34(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-82NU4pE0uU3cBIFogFsXtJ8VH6izq7yizOKA0CUxnuxxlm8xwX5QgWHtBccARhuNm979jcHJcGwmVW2Yj2TB/A==} + /@fluentui/react-popover@9.7.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-lvnTMJwuIR8heAxSlqesrWmynK3bYhwxCRXTTsCxkLyVx4WMzWlhDC2f6SljwV7yr7i9BrG02v5TkqjlBE2OFQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7547,73 +7486,72 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-portal-compat-context@9.0.11(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-ubvW/ej0O+Pago9GH3mPaxzUgsNnBoqvghNamWjyKvZIViyaXUG6+sgcAl721R+qGAFac+A20akI5qDJz/xtdg==} + /@fluentui/react-portal-compat-context@9.0.6(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-HUt0/YXKRB4chtzlGbZ+7y7FHFyqaI0CeMFAe/QBXVOiOwA01QOr2j4Uky+30vupspIt6mjodLanuw1jMybmqQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' dependencies: - '@swc/helpers': 0.5.3 + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 react: 17.0.2 dev: false - /@fluentui/react-portal@9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-9p2zwKDCW1V7MiAfV0/fPFSAizyiQzli5C7gTenrHCnIoAQGRjSBkWkJtlmtBSBeH+3pQuqFOGOodef0qKx7QA==} + /@fluentui/react-portal@9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-BEflpuJne2RildQY2e5HrjBtMpcmsg+FKGQdkcq2Hav0CL2B++B6Wnbw+r8Zax2Hw97KuoIDQ+aJ0iQMJkYROQ==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - use-disposable: 1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + use-disposable: 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) dev: false - /@fluentui/react-positioning@9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-P01pyDxcthHeOlKv4CGlS/ll9qE/er5dGohq9/wN/FBnbb7F3c5+UYQPJwLfJXMO5fIsnH6RmfXndqRa8cKlqA==} + /@fluentui/react-positioning@9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-s5syo2kaM6eKdmRH0I9IhklOy2I6gQKZ/Vy2KnDJHBu0Wz/jQmgswFden+lnF3JOsTOj86V6O4TkI3FGFr5NZw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.5.4) - '@floating-ui/dom': 1.5.4 - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@floating-ui/dom': 1.5.1 + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-progress@9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-dCnA9Lq1j2Yr7dhHPWBaRnaRGTEHPqQ8M7kNi0UMpp77V9d5LxPa4yg0JxE1hZ+ehL3k0p+NNiNG2+445GZH+Q==} + /@fluentui/react-progress@9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-RicajpUXy1vYPn6uHh3+JCV1KLCvKXof1hTeRRjbZHKyjVUBXjSpNTqQ5Zzh0LvHobu2AyT7Fked6/4pFmQfHA==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7622,47 +7560,47 @@ packages: - scheduler dev: false - /@fluentui/react-provider@9.13.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-3ctGun9WGeeSwP/GkJjJXzNxSX9zi4IlZC9b6FTagmRYOvaeskFiCQIcJmJuBYTxSKAcYKLm4M0RvrOjEt/wbg==} + /@fluentui/react-provider@9.7.14(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-F7uWn5TM4NA/UkXMaDRfXnRKnHfVuHG9nM9BQj8ht/R8odcJsfgtI0yIiQkZO9oBreJcokjOkbAXwETGq2Rwhg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/core': 1.15.2 - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/core': 1.14.1 + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-radio@9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-E+EwdRol4hniqTfuWqe7iqECCrEF8McKotr1gjkSRYOofqUxvwlZmX7rwAwITqauhNVb1ADD1QNkN5jClc2sIg==} + /@fluentui/react-radio@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-YoXzseySLhwcWD1gj0bXf3TvmtYigYh6txm3eeciZQ4LD+ecek4lMA3u/r3xP2sYgbqSuIKXUc+ubyzpXHoMMg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7670,22 +7608,22 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-select@9.1.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-QRwzno9suuYthFLHdzb63/bLrA6w/EATbJTUKSVYPVrbQUzSjpm+NHyCf3PWXSU57+Yxujq5r1jBGua9VougrQ==} + /@fluentui/react-select@9.1.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-VPczz/vMtQLDagjNWm7aSLFhN+Y+qrVNRwmpaV7LuvsqFwjUorZvH9aBEO8ldhCD0m7i/2UkLFlWH8kjbyTQSg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7694,33 +7632,33 @@ packages: - scheduler dev: false - /@fluentui/react-shared-contexts@9.14.0(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-P9yhg31WYfB1W66/gD3+qVCLBsyIEcOzQvKVaIQvd9UhF67lNW4kMXUB6YVOk5PV0Og4hXnkH/vuHl7YMD9RHw==} + /@fluentui/react-shared-contexts@9.7.1(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-9WuIKRYM2sM6Qb/xq4fxorWWLdypjZQoeFPfaiCnVUHh+RA/cRxeDGeGTcDzjxXLlJZHgK8ARym+KN2ASrQkJw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-theme': 9.1.16 - '@swc/helpers': 0.5.3 + '@fluentui/react-theme': 9.1.10 + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 react: 17.0.2 dev: false - /@fluentui/react-skeleton@9.0.49(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-lttnYbCda9uVb8L5KqPmvjc8k3uhfyBIpTOSfFUGkl8i+DgrGfNEmfGM38/voUyJoQILUgotfY9nig+Q2IOTxw==} + /@fluentui/react-skeleton@9.0.13(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-CQwva2vcMHHzqBMavQ3Qt35LDFoojs2zTkSkhZVo8MfuSOm8VHKNPPLhB11m0OEonRb7Rsdts1HHGZdSzUg3FA==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7729,22 +7667,22 @@ packages: - scheduler dev: false - /@fluentui/react-slider@9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-gYUFU3HAqR735sUMcGOcyLaJ6iLgmoN4ZPN1G6bqQETiesyN34QpC4HqmW8i7TEerMjv2crUb/CjsvIOZfzdPw==} + /@fluentui/react-slider@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-b2WqMwCtqwEz1uP2Y/FviBRuw8lGxMnNt6z12+jvNp+udJ4H8eQZpGTzGSGn3dfnOfNoLSvB+dzgSa4ZKiZHVg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7753,23 +7691,23 @@ packages: - scheduler dev: false - /@fluentui/react-spinbutton@9.2.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-9+TBgSCvRhX78e/KPuhIvEH1bmAB9Wv6CsYhXmJdMSLdZt8R0Gx5oGvSynxCOLazIx/1/lvGi48AAnqTg0OEpQ==} + /@fluentui/react-spinbutton@9.2.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-0qadqh2A+0TaujKSGlLN78yDJNyq9Drhj4wXDnD/x+Vq+fRe4n9hGyikNPRbJ6sKr2oVmv2BKkcgSD2vydIJJw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7778,45 +7716,45 @@ packages: - scheduler dev: false - /@fluentui/react-spinner@9.3.39(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-1+MrNFFyN/Ceikan6eAAY2NWIGk3nr2TfY5RcMuG7ZVUb2Q/mYnxrRLEN+m18fqHNVUGC9UaejJ4hDuL2rmjjQ==} + /@fluentui/react-spinner@9.3.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-nBFltn4pH5Km5iN1eHp+/se/rcD+rHKrKtQtCmsV3XwWjogSZL8MdH1y3akg7Qx4I/NZsGQ4RhikAuAzJtLu9w==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-switch@9.1.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-owrQy4hhTxcRQCG/9TPPWwu2cVET0FOHKQdnQzsCfbK6BoXJmFHg6tCYBeqJ1ZLKLN6VxWrSn8CUB2n1Zr8N8Q==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-label': 9.1.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-switch@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-LVjX81pTFbr3HhzMdV7d9YcKS8bhsAPcZ40Div5URAx7tneAEhqzDHxgxJ6/Wxm/7kfBPSGE/xNFWJEKw/X96Q==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-label': 9.1.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7825,28 +7763,28 @@ packages: - scheduler dev: false - /@fluentui/react-table@9.11.6(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-fJnQxzvQt39bBVnXHKWgzwitu6ON5mR5u0H+QTmHToysv2asE2nGqZqwCtFZ6NtBHTsOIUqsZdd4ex+VXBz44w==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-table@9.7.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-s6j/p1jSzhWM975VDOmzfoZzOfIS24nV6HenJrpAr8PwVH54+45rkA7WXBCx8DIBB7sgY18JBE5nwzUgiJ7XdQ==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7855,23 +7793,23 @@ packages: - scheduler dev: false - /@fluentui/react-tabs@9.4.7(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-BZBamJCRF0eOw/lCFI1aH+FEsISBvR5g+Ck1f9m4OQf4/SxK1jsubCith/dlGVFfM5WiCwH5BSeAaKVtr8mO9A==} + /@fluentui/react-tabs@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-X4lq1bh+vVlg3U4dtWdCvLpkNmCQ5E6c0J2+cmSPDAxisLeuOC7RtrwBcxdS+gHz5TZtvDq6SEv6UhrYeUAPcg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' scheduler: ^0.19.0 || ^0.20.0 dependencies: - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7879,62 +7817,62 @@ packages: scheduler: 0.19.0 dev: false - /@fluentui/react-tabster@9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-VtRa1aWUJHKtzl9OYupohCgErioOimtSHpFNlBPQdpMvRqvLuDFMikYmvFFPxUwDpcQx3MIGc9T5++kC1uVNeQ==} + /@fluentui/react-tabster@9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-dKIJh9+nFCRt0+gSimCVwxHkdBxid2MKQ6DPtyLvVJRYiBxSNG9EJYuNCHtE9873HO06zS4GrD4KmKEQPfwP5A==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 - keyborg: 2.4.1 + keyborg: 2.0.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - tabster: 5.2.1 + tabster: 4.7.2 dev: false - /@fluentui/react-text@9.4.8(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-81Z8Zvr8hW+X13gzh7m0AjKpg7La3ktIMLNyal24HO6e5kdSabptE78oXR/zlcp09EJie5/OuuBmXrjwxqvPFA==} + /@fluentui/react-text@9.3.20(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-0tfkK/Kdqb1ILAVcHJ2elkouNWYufxdKgE7jaA+fxmt2kwiKxTc/kbB1LHmyIuZCErJmX7U8ymig0WjlG+L/cw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-textarea@9.3.61(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-5TVxGnHheB5GtEzSBQQuw88hUrVOHaUuqX0Ww7WPllQ8cfudsMPZLIjcAwqXjS0FLgBIFShDR0vr1semau7/2A==} + /@fluentui/react-textarea@9.3.25(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-z5ZgQMW3qwpKY1XgLiYQhynpSGkxPEMkpFsFmMqkhA5eFCB4wGKhD4BFHXm3mLK8PFZUwkpiJSzB2wNiTlsAZg==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.51(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/react-field': 9.1.15(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7943,32 +7881,32 @@ packages: - scheduler dev: false - /@fluentui/react-theme@9.1.16: - resolution: {integrity: sha512-QK2dGE5aQXN1UGdiEmGKpYGP3tHXIchLvFf8DEEOWnF4XBc9SiEPNFYkvLMJjHxZmDz4D670rsOPe0r5jFDEKQ==} + /@fluentui/react-theme@9.1.10: + resolution: {integrity: sha512-E6W5LB9wg7aJSzDM87FyYBOOADCSh554W81msLRTXwLzuKHPtLannyyYXKO0tP2ZJfiySQ2LWNzHnIqV8fUuxQ==} dependencies: - '@fluentui/tokens': 1.0.0-alpha.13 - '@swc/helpers': 0.5.3 + '@fluentui/tokens': 1.0.0-alpha.7 + '@swc/helpers': 0.4.14 dev: false - /@fluentui/react-toast@9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-7uyY+1edAsX7h7IT1tFSJbzXOf/Pi5202o7r4uhDJeMHXOdYjqZgBkRsumdYuaOgyx7A4NyI6xUrkRAGEkK8yw==} + /@fluentui/react-toast@9.1.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-f4A9qUSVRvrCcmcPyOvPoKGdk4bjMo+sIZe3Z63AuNs4c9wr4Zj5B58B5qMdUaMEWHcwQdaWUVGR/zmyooG1Bw==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-icons': 2.0.225(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-icons': 2.0.209(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -7976,25 +7914,25 @@ packages: react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) dev: false - /@fluentui/react-toolbar@9.1.67(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): - resolution: {integrity: sha512-5dozwUEmzdIdWOFljV6rMuqwvWaWca9/NNJ8/em6rIqt+fuK60eZ6LLMJr/6nVqDZfDuFscDsyfj2fcuYioNoQ==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-divider': 9.2.59(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-toolbar@9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0): + resolution: {integrity: sha512-VWCznC2nURa7XRMYKakIq1i1KU2WNT2Z1inaT3ZeB+4Ia6LONLyjomt067wytEwlIPjHvuxf+7dZ54wOGwisWA==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-divider': 9.2.23(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -8003,24 +7941,23 @@ packages: - scheduler dev: false - /@fluentui/react-tooltip@9.4.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-9BScDBhQV2a3DW8RBALglAoGmV4KV2ajotCAZozK6amXpxzcY4x5ht9Lakd8nAcR2ADpqNhw3Zrx+2+jMYzdAw==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - '@types/react-dom': '>=16.9.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - react-dom: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.28(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-positioning': 9.12.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.5.3 + /@fluentui/react-tooltip@9.2.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-/IWEKWtASRguOrYWCPvI0IaDmVMve6jaWrdUz4xF9ZMvCp6bD5HJFWHSy0Yg55n/7LOY4952lwJTYeziN5xZiQ==} + peerDependencies: + '@types/react': '>=16.8.0 <19.0.0' + '@types/react-dom': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' + react-dom: '>=16.8.0 <19.0.0' + dependencies: + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-positioning': 9.9.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -8035,22 +7972,22 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.8.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-avatar': 9.6.10(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-button': 9.3.66(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-checkbox': 9.2.9(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.1.50(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-icons': 2.0.225(react@17.0.2) + '@fluentui/keyboard-keys': 9.0.3 + '@fluentui/react-aria': 9.3.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-avatar': 9.5.17(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-button': 9.3.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-checkbox': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.1.27(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-icons': 2.0.209(react@17.0.2) '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal': 9.4.11(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-radio': 9.2.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-tabster': 9.17.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@fluentui/react-theme': 9.1.16 - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@fluentui/react-portal': 9.3.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-radio': 9.1.28(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(scheduler@0.19.0) + '@fluentui/react-shared-contexts': 9.7.1(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-tabster': 9.12.0(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + '@fluentui/react-theme': 9.1.10 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -8059,15 +7996,14 @@ packages: - scheduler dev: false - /@fluentui/react-utilities@9.17.0(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-ZP6+Hcsvi6XXSU8m67lC0AVg5aXTSbKRGmZEXh0LbJNkc8QxO7VuoVvlP3VozUvM6FuT42pqRYpOmBQLedBmeg==} + /@fluentui/react-utilities@9.11.0(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-+lK8OU7jX5QFNfvMPwekQk9NPStETi3rHknb7S9oSEhXAnKFvH7L8Jp9LD+/CCeKrbkoGUX4t8AyDgBhtgx40g==} peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' + '@types/react': '>=16.8.0 <19.0.0' + react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-shared-contexts': 9.14.0(@types/react@17.0.74)(react@17.0.2) - '@swc/helpers': 0.5.3 + '@fluentui/keyboard-keys': 9.0.3 + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 react: 17.0.2 dev: false @@ -8081,47 +8017,47 @@ packages: react-dom: '>=16.8.0 <19.0.0' dependencies: '@fluentui/react-jsx-runtime': 9.0.0-alpha.13(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-utilities': 9.17.0(@types/react@17.0.74)(react@17.0.2) - '@griffel/react': 1.5.20(react@17.0.2) - '@swc/helpers': 0.4.36 + '@fluentui/react-utilities': 9.11.0(@types/react@17.0.74)(react@17.0.2) + '@griffel/react': 1.5.14(react@17.0.2) + '@swc/helpers': 0.4.14 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) dev: false - /@fluentui/react-window-provider@2.2.18(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-nBKqxd0P8NmIR0qzFvka1urE2LVbUm6cse1I1T7TcOVNYa5jDf5BrO06+JRZfwbn00IJqOnIVoP0qONqceypWQ==} + /@fluentui/react-window-provider@2.2.15(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-RraWvRe7wakpPJRBX2tlCV/cybOKiqLJ1UBLPNf5xq7ZIs0T0g/hh3G3Zb5teOeipjuRnl6srkdDUT9Dy9wrBg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/set-version': 8.2.14 + '@fluentui/set-version': 8.2.11 '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/react@8.115.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-ffDEOTmP60Rwpf9Lyw7jUXDZSGWqQsR2DPhmDlBzgrOLoNgr/0QP+EZb2lOiUl62k6VQl0NO3YeNFSptIvYM2A==} + /@fluentui/react@8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-SQOUhatXtDlbfyX7Ip2aYWjUBHiCZGPk5SVnb+/jv9IhxKLcMXaxA8faps/bp2h/VlS5Fjk6RkbvQM/qoEjlvg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/date-time-utilities': 8.5.16 - '@fluentui/font-icons-mdl2': 8.5.31(@types/react@17.0.74)(react@17.0.2) - '@fluentui/foundation-legacy': 8.2.51(@types/react@17.0.74)(react@17.0.2) - '@fluentui/merge-styles': 8.5.15 - '@fluentui/react-focus': 8.8.39(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-hooks': 8.6.36(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-portal-compat-context': 9.0.11(@types/react@17.0.74)(react@17.0.2) - '@fluentui/react-window-provider': 2.2.18(@types/react@17.0.74)(react@17.0.2) - '@fluentui/set-version': 8.2.14 - '@fluentui/style-utilities': 8.10.2(@types/react@17.0.74)(react@17.0.2) - '@fluentui/theme': 2.6.41(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/date-time-utilities': 8.5.13 + '@fluentui/font-icons-mdl2': 8.5.23(@types/react@17.0.74)(react@17.0.2) + '@fluentui/foundation-legacy': 8.2.43(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.12 + '@fluentui/react-focus': 8.8.30(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-hooks': 8.6.29(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-portal-compat-context': 9.0.6(@types/react@17.0.74)(react@17.0.2) + '@fluentui/react-window-provider': 2.2.15(@types/react@17.0.74)(react@17.0.2) + '@fluentui/set-version': 8.2.11 + '@fluentui/style-utilities': 8.9.16(@types/react@17.0.74)(react@17.0.2) + '@fluentui/theme': 2.6.34(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@microsoft/load-themed-styles': 1.10.295 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -8130,19 +8066,19 @@ packages: tslib: 2.3.1 dev: false - /@fluentui/set-version@8.2.14: - resolution: {integrity: sha512-f/QWJnSeyfAjGAqq57yjMb6a5ejPlwfzdExPmzFBuEOuupi8hHbV8Yno12XJcTW4I0KXEQGw+PUaM1aOf/j7jw==} + /@fluentui/set-version@8.2.11: + resolution: {integrity: sha512-UI03tysau/adBO1a3q4uFZWQ3lfkiFcAWIFng4k5odWcCokfCm5IxA0urKqj5W5JRYdyoBUaq8QbcNGkFB4dCw==} dependencies: tslib: 2.3.1 dev: false - /@fluentui/style-utilities@8.10.2(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-ocELtMb/85nBa3rSfiAIwYx6TydN+3rQqv1P0H/L7etYNNtxOfS86JSWfn8zAsHMejbwUKJ1ZsIKs47c598XGQ==} + /@fluentui/style-utilities@8.9.16(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-8hS5HscCFYvcWjAdk37frPZJZthr7f/cu5db7gjrPy+DEhf13WAZRHsropWm17+8GhJhvKt98BQf/Kzxtt34Eg==} dependencies: - '@fluentui/merge-styles': 8.5.15 - '@fluentui/set-version': 8.2.14 - '@fluentui/theme': 2.6.41(@types/react@17.0.74)(react@17.0.2) - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.12 + '@fluentui/set-version': 8.2.11 + '@fluentui/theme': 2.6.34(@types/react@17.0.74)(react@17.0.2) + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@microsoft/load-themed-styles': 1.10.295 tslib: 2.3.1 transitivePeerDependencies: @@ -8150,35 +8086,35 @@ packages: - react dev: false - /@fluentui/theme@2.6.41(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-h9RguEzqzJ0+59ys5Kkp7JtsjhDUxBLmQunu5rpHp5Mp788OtEjI/n1a9FIcOAL/priPSQwXN7RbuDpeP7+aSw==} + /@fluentui/theme@2.6.34(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-2Ssi3sX2snnbPJ4PmxbpCDCGePRE36tvGj2qKgdKiSh/fPVsg1b+Q50YlpFl9sXmbhl1uFmxjAx6WPsVGTl7vQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.5.15 - '@fluentui/set-version': 8.2.14 - '@fluentui/utilities': 8.13.24(@types/react@17.0.74)(react@17.0.2) + '@fluentui/merge-styles': 8.5.12 + '@fluentui/set-version': 8.2.11 + '@fluentui/utilities': 8.13.18(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 dev: false - /@fluentui/tokens@1.0.0-alpha.13: - resolution: {integrity: sha512-IzYysTTBkAH7tQZxYKpzhxYnTJkvwXhjhTOpmERgnqTFifHTP8/vaQjJAAm7dI/9zlDx1oN+y/I+KzL9bDLHZQ==} + /@fluentui/tokens@1.0.0-alpha.7: + resolution: {integrity: sha512-djgLw4HVx0Jx0GYKQEu65aQ5nY59CkcV850LrLPHOERV+KhuWqoI4CdrvL2fFqrAvqLlfK940MP1mPrvy8NAow==} dependencies: - '@swc/helpers': 0.5.3 + '@swc/helpers': 0.4.14 dev: false - /@fluentui/utilities@8.13.24(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-/jo6hWCzTGCx06l2baAMwsjjBZ/dyMouls53uNaQLUGUUhUwXh/DcDDXMqLRJB3MaH9zvgfvRw61iKmm2s9fIA==} + /@fluentui/utilities@8.13.18(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-/0rX9EzltLKwU1SS14VV7agWoOzruVTU3oagZq1QgFAvoj8qi7fNqvSX/VEeRy+0gmbsCkrEViUPkmC7drKzPg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/dom-utilities': 2.2.14 - '@fluentui/merge-styles': 8.5.15 - '@fluentui/set-version': 8.2.14 + '@fluentui/dom-utilities': 2.2.11 + '@fluentui/merge-styles': 8.5.12 + '@fluentui/set-version': 8.2.11 '@types/react': 17.0.74 react: 17.0.2 tslib: 2.3.1 @@ -8195,7 +8131,7 @@ packages: dependencies: globby: 11.1.0 graphql: 15.8.0 - tslib: 2.6.2 + tslib: 2.6.1 unixify: 1.0.0 dev: true @@ -8217,7 +8153,7 @@ packages: dependencies: '@graphql-tools/utils': 8.9.0(graphql@15.8.0) graphql: 15.8.0 - tslib: 2.6.2 + tslib: 2.6.1 dev: true /@graphql-tools/schema@8.5.1(graphql@15.8.0): @@ -8228,7 +8164,7 @@ packages: '@graphql-tools/merge': 8.3.1(graphql@15.8.0) '@graphql-tools/utils': 8.9.0(graphql@15.8.0) graphql: 15.8.0 - tslib: 2.6.2 + tslib: 2.6.1 value-or-promise: 1.0.11 dev: true @@ -8247,41 +8183,41 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 15.8.0 - tslib: 2.6.2 + tslib: 2.6.1 dev: true - /@griffel/core@1.15.2: - resolution: {integrity: sha512-RlsIXoSS3gaYykUgxFpwKAs/DV9cRUKp3CW1kt3iPAtsDTWn/o+8bT1jvBws/tMM2GBu/Uc0EkaIzUPqD7uA+Q==} + /@griffel/core@1.14.1: + resolution: {integrity: sha512-KQ6yueap1zff9TJrn7MdfSAHDMDVP6Ec97gnpCi4NOeKiyCyT13MwPCmkkK0o/poaV1f9MdHhUTQZCpK0QtxzQ==} dependencies: '@emotion/hash': 0.9.1 - '@griffel/style-types': 1.0.3 - csstype: 3.1.3 + '@griffel/style-types': 1.0.1 + csstype: 3.1.2 rtl-css-js: 1.16.1 - stylis: 4.3.1 + stylis: 4.3.0 tslib: 2.3.1 dev: false - /@griffel/react@1.5.20(react@17.0.2): - resolution: {integrity: sha512-1P2yaPctENFSCwyPIYXBmgpNH68c0lc/jwSzPij1QATHDK1AASKuSeq6hW108I67RKjhRyHCcALshdZ3GcQXSg==} + /@griffel/react@1.5.14(react@17.0.2): + resolution: {integrity: sha512-/x6cy6xMtpow1r+Zrw/hMKHwo+imFAgKaZ3A/+M8GyT3L9AFxK1Kyg4JvARPjLBAn9Q2q5dkCr78jOguuVSScg==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/core': 1.15.2 + '@griffel/core': 1.14.1 react: 17.0.2 tslib: 2.3.1 dev: false - /@griffel/style-types@1.0.3: - resolution: {integrity: sha512-AzbbYV/EobNIBtfMtyu2edFin895gjVxtu1nsRhTETUAIb0/LCZoue3Jd/kFLuPwe95rv5WRUBiQpVwJsrrFcw==} + /@griffel/style-types@1.0.1: + resolution: {integrity: sha512-nhVryiNHhoBt5L93tfDYGoE4KtWvhBvY7y1yR1n6WKpRjasgw3GI2pBwiMiVt68bycnyvXIvcJjJTr0QM22VLQ==} dependencies: - csstype: 3.1.3 + csstype: 3.1.2 dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.11.10: + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.2 + '@humanwhocodes/object-schema': 1.2.1 debug: 4.3.4 minimatch: 3.0.8 transitivePeerDependencies: @@ -8317,10 +8253,6 @@ packages: /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -8335,15 +8267,15 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + /@jest/console@29.6.2: + resolution: {integrity: sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 '@types/node': 18.17.15 chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 + jest-message-util: 29.6.2 + jest-util: 29.6.2 slash: 3.0.0 /@jest/core@29.5.0: @@ -8355,32 +8287,32 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.7.0 + '@jest/console': 29.6.2 '@jest/reporters': 29.5.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/test-result': 29.6.2(@types/node@18.17.15) '@jest/transform': 29.5.0 '@jest/types': 29.5.0 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 + jest-changed-files: 29.5.0 jest-config: 29.5.0(@types/node@18.17.15) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 + jest-haste-map: 29.6.2 + jest-message-util: 29.6.2 + jest-regex-util: 29.4.3 jest-resolve: 29.5.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 + jest-resolve-dependencies: 29.6.2 + jest-runner: 29.6.2 + jest-runtime: 29.6.2 jest-snapshot: 29.5.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 + jest-util: 29.6.2 + jest-validate: 29.6.2 + jest-watcher: 29.6.2 micromatch: 4.0.5 - pretty-format: 29.7.0 + pretty-format: 29.6.2 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -8388,8 +8320,8 @@ packages: - supports-color - ts-node - /@jest/core@29.7.0: - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + /@jest/core@29.6.2: + resolution: {integrity: sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8397,32 +8329,32 @@ packages: node-notifier: optional: true dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 + '@jest/console': 29.6.2 + '@jest/reporters': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/transform': 29.6.2 + '@jest/types': 29.6.1 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.17.15) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 + jest-changed-files: 29.5.0 + jest-config: 29.6.2(@types/node@18.17.15) + jest-haste-map: 29.6.2 + jest-message-util: 29.6.2 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.2 + jest-resolve-dependencies: 29.6.2 + jest-runner: 29.6.2 + jest-runtime: 29.6.2 + jest-snapshot: 29.6.2 + jest-util: 29.6.2 + jest-validate: 29.6.2 + jest-watcher: 29.6.2 micromatch: 4.0.5 - pretty-format: 29.7.0 + pretty-format: 29.6.2 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -8431,49 +8363,49 @@ packages: - ts-node dev: true - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + /@jest/environment@29.6.2: + resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 + '@jest/fake-timers': 29.6.2 + '@jest/types': 29.6.1 '@types/node': 18.17.15 - jest-mock: 29.7.0 + jest-mock: 29.6.2 - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + /@jest/expect-utils@29.6.2: + resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.6.3 + jest-get-type: 29.4.3 - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + /@jest/expect@29.6.2: + resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 + expect: 29.6.2 + jest-snapshot: 29.6.2 transitivePeerDependencies: - supports-color - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + /@jest/fake-timers@29.6.2: + resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.17.15 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 + jest-message-util: 29.6.2 + jest-mock: 29.6.2 + jest-util: 29.6.2 - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + /@jest/globals@29.6.2: + resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 + '@jest/environment': 29.6.2 + '@jest/expect': 29.6.2 + '@jest/types': 29.6.1 + jest-mock: 29.6.2 transitivePeerDependencies: - supports-color @@ -8487,11 +8419,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/console': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 '@types/istanbul-lib-coverage': 2.0.4 '@types/node': 18.17.15 chalk: 4.1.2 @@ -8499,23 +8431,23 @@ packages: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 + istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 + jest-message-util: 29.6.2 + jest-util: 29.6.2 + jest-worker: 29.6.2 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + /@jest/reporters@29.6.2: + resolution: {integrity: sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -8524,11 +8456,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jest/console': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/transform': 29.6.2 + '@jest/types': 29.6.1 + '@jridgewell/trace-mapping': 0.3.19 '@types/istanbul-lib-coverage': 2.0.4 '@types/node': 18.17.15 chalk: 4.1.2 @@ -8536,56 +8468,56 @@ packages: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.1 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 + jest-message-util: 29.6.2 + jest-util: 29.6.2 + jest-worker: 29.6.2 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + /@jest/source-map@29.6.0: + resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 callsites: 3.1.0 graceful-fs: 4.2.11 - /@jest/test-result@29.7.0(@types/node@18.17.15): - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + /@jest/test-result@29.6.2(@types/node@18.17.15): + resolution: {integrity: sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 + '@jest/console': 29.6.2 + '@jest/types': 29.6.1 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.2(@types/node@18.17.15) - jest-haste-map: 29.7.0 - jest-resolve: 29.7.0 + jest-haste-map: 29.6.2 + jest-resolve: 29.6.2 transitivePeerDependencies: - '@types/node' - /@jest/test-sequencer@29.7.0(@types/node@18.17.15): - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + /@jest/test-sequencer@29.6.2(@types/node@18.17.15): + resolution: {integrity: sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.7.0(@types/node@18.17.15) + '@jest/test-result': 29.6.2(@types/node@18.17.15) graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 + jest-haste-map: 29.6.2 slash: 3.0.0 transitivePeerDependencies: - '@types/node' @@ -8619,15 +8551,15 @@ packages: dependencies: '@babel/core': 7.20.12 '@jest/types': 29.5.0 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 + jest-haste-map: 29.6.2 + jest-regex-util: 29.4.3 + jest-util: 29.6.2 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -8635,21 +8567,21 @@ packages: transitivePeerDependencies: - supports-color - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + /@jest/transform@29.6.2: + resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jest/types': 29.6.1 + '@jridgewell/trace-mapping': 0.3.19 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 + jest-haste-map: 29.6.2 + jest-regex-util: 29.4.3 + jest-util: 29.6.2 micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 @@ -8661,10 +8593,10 @@ packages: resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} engines: {node: '>= 10.14.2'} dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 '@types/node': 18.17.15 - '@types/yargs': 15.0.19 + '@types/yargs': 15.0.15 chalk: 4.1.2 dev: true @@ -8672,22 +8604,22 @@ packages: resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 '@types/node': 18.17.15 - '@types/yargs': 17.0.32 + '@types/yargs': 17.0.24 chalk: 4.1.2 - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + /@jest/types@29.6.1: + resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 '@types/node': 18.17.15 - '@types/yargs': 17.0.32 + '@types/yargs': 17.0.24 chalk: 4.1.2 /@jridgewell/gen-mapping@0.3.3: @@ -8696,7 +8628,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -8710,13 +8642,13 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -8808,7 +8740,7 @@ packages: '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.8 + resolve: 1.22.4 semver: 7.5.4 source-map: 0.6.1 typescript: 5.3.3 @@ -8824,7 +8756,7 @@ packages: resolution: {integrity: sha512-ziDevrCA9Sn6tYpYfIBeJKy/5npTlL+4caXQ2BGrENQ/JPR/zIpSZprOPJxG4b2XTCdljE6CByOvgbjNel7pWQ==} engines: {node: '>=5.6.0'} dependencies: - '@pnpm/dependency-path': 2.1.7 + '@pnpm/dependency-path': 2.1.3 '@pnpm/link-bins': 5.3.25 '@rushstack/heft-config-file': 0.14.2 '@rushstack/node-core-library': 3.61.0 @@ -8843,7 +8775,7 @@ packages: cli-table: 0.3.11 colors: 1.2.5 dependency-path: 9.2.8 - fast-glob: 3.3.2 + fast-glob: 3.3.1 figures: 3.0.0 git-repo-info: 2.1.1 glob-escape: 0.0.2 @@ -8913,7 +8845,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.15.0 /@npmcli/fs@1.1.1: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -8931,19 +8863,19 @@ packages: rimraf: 3.0.2 dev: true - /@opentelemetry/api@1.7.0: - resolution: {integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==} + /@opentelemetry/api@1.4.1: + resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} engines: {node: '>=8.0.0'} dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack@4.47.0): - resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} + /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(webpack@4.47.0): + resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <5.0.0' + type-fest: '>=0.17.0 <4.0.0' webpack: '>=4.43.0 <6.0.0 || ^4 || ^5' webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x @@ -8964,7 +8896,7 @@ packages: dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 - core-js-pure: 3.35.1 + core-js-pure: 3.32.0 error-stack-parser: 2.1.4 find-up: 5.0.0 html-entities: 2.4.0 @@ -8984,14 +8916,24 @@ packages: resolution: {integrity: sha512-pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==} engines: {node: '>=14.6'} dependencies: - rfc4648: 1.5.3 + rfc4648: 1.5.2 dev: false /@pnpm/crypto.base32-hash@2.0.0: resolution: {integrity: sha512-3ttOeHBpmWRbgJrpDQ8Nwd3W8s8iuiP5YZM0JRyKWaMtX8lu9d7/AKyxPmhYsMJuN+q/1dwHa7QFeDZJ53b0oA==} engines: {node: '>=16.14'} dependencies: - rfc4648: 1.5.3 + rfc4648: 1.5.2 + dev: false + + /@pnpm/dependency-path@2.1.3: + resolution: {integrity: sha512-OKuLDqRZfAJAb4fnPZyPyrR827ISL1WV5YBs0q4BitPAz8ORUPSXSCFVailLhoyZWLE0Ag6hROy42Jkw/WnCUw==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/crypto.base32-hash': 2.0.0 + '@pnpm/types': 9.2.0 + encode-registry: 3.0.0 + semver: 7.5.4 dev: false /@pnpm/dependency-path@2.1.7: @@ -9106,7 +9048,7 @@ packages: engines: {node: '>=10.16'} dependencies: '@pnpm/types': 6.4.0 - fast-glob: 3.3.2 + fast-glob: 3.3.1 is-subdir: 1.2.0 dev: false @@ -9159,6 +9101,11 @@ packages: engines: {node: '>=14.6'} dev: false + /@pnpm/types@9.2.0: + resolution: {integrity: sha512-LtkHgtJ5Bjny4poUWyMhOKHc822/zm8NhPx+7VbopfDYnTrKgJwTyTbZjZEyN5KpDw3R1Fr8VYdmv5gn4eyWbw==} + engines: {node: '>=16.14'} + dev: false + /@pnpm/types@9.4.2: resolution: {integrity: sha512-g1hcF8Nv4gd76POilz9gD4LITAPXOe5nX4ijgr8ixCbLQZfcpYiMfJ+C1RlMNRUDo8vhlNB4O3bUlxmT6EAQXA==} engines: {node: '>=16.14'} @@ -9180,8 +9127,8 @@ packages: write-yaml-file: 4.2.0 dev: false - /@polka/url@1.0.0-next.24: - resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -9194,13 +9141,13 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: true /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: true /@radix-ui/react-checkbox@1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): @@ -9216,7 +9163,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9244,7 +9191,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) @@ -9265,7 +9212,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9281,7 +9228,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9297,7 +9244,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9325,7 +9272,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9345,7 +9292,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 @@ -9367,7 +9314,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-slot': 1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9388,7 +9335,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9404,8 +9351,8 @@ packages: react-dom: 17.0.2(react@17.0.2) dev: true - /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} + /@radix-ui/react-scroll-area@1.0.4(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-OIClwBkwPG+FKvC4OMTRaa/3cfD069nkKFFL/TQzRzaO42Ce5ivKU9VMKgT7UU6UIkjcQqKBrDOIzWtPGw6e6w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -9417,7 +9364,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9443,7 +9390,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9463,7 +9410,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@radix-ui/react-direction': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) @@ -9488,7 +9435,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9504,7 +9451,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 @@ -9521,7 +9468,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9537,7 +9484,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 @@ -9553,15 +9500,15 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react@17.0.2) '@types/react': 17.0.74 '@types/react-dom': 17.0.25 react: 17.0.2 dev: true - /@redis/client@1.5.13: - resolution: {integrity: sha512-epkUM9D0Sdmt93/8Ozk43PNjLi36RZzG+d/T1Gdu5AI8jvghonTeLYV69WVWdilvFo+PYxbP0TZ0saMvr6nscQ==} + /@redis/client@1.5.8: + resolution: {integrity: sha512-xzElwHIO6rBAqzPeVnCzgvrnBEcFL1P0w8P65VNLRkdVW8rOE58f52hdj0BDgmsdOm4f1EoXPZtH4Fh7M/qUpw==} engines: {node: '>=14'} dependencies: cluster-key-slot: 1.1.2 @@ -9588,9 +9535,9 @@ packages: reselect: 4.1.8 dev: false - /@remix-run/router@1.14.2: - resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} - engines: {node: '>=14.0.0'} + /@remix-run/router@1.7.2: + resolution: {integrity: sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==} + engines: {node: '>=14'} dev: true /@rushstack/eslint-config@3.6.0(eslint@8.7.0)(typescript@4.9.5): @@ -9603,10 +9550,10 @@ packages: '@rushstack/eslint-plugin': 0.14.0(eslint@8.7.0)(typescript@4.9.5) '@rushstack/eslint-plugin-packlets': 0.9.0(eslint@8.7.0)(typescript@4.9.5) '@rushstack/eslint-plugin-security': 0.8.0(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/eslint-plugin': 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 eslint-plugin-promise: 6.1.1(eslint@8.7.0) eslint-plugin-react: 7.33.2(eslint@8.7.0) @@ -9626,10 +9573,10 @@ packages: '@rushstack/eslint-plugin': 0.14.0(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-packlets': 0.9.0(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-security': 0.8.0(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/eslint-plugin': 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 eslint-plugin-promise: 6.1.1(eslint@8.7.0) eslint-plugin-react: 7.33.2(eslint@8.7.0) @@ -9649,7 +9596,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9662,7 +9609,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9675,7 +9622,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9688,7 +9635,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9701,7 +9648,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9714,7 +9661,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@rushstack/tree-pattern': 0.3.2 - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: - supports-color @@ -9948,7 +9895,7 @@ packages: '@rushstack/ts-command-line': 4.17.1 '@types/tapable': 1.0.6 chokidar: 3.4.3 - fast-glob: 3.3.2 + fast-glob: 3.3.1 git-repo-info: 2.1.1 ignore: 5.1.9 tapable: 1.1.3 @@ -9970,9 +9917,9 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.8 + resolve: 1.22.4 semver: 7.5.4 - z-schema: 5.0.6 + z-schema: 5.0.5 dev: false /@rushstack/node-core-library@3.63.0(@types/node@18.17.15): @@ -9988,12 +9935,12 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.8 + resolve: 1.22.4 semver: 7.5.4 - z-schema: 5.0.6 + z-schema: 5.0.5 - /@rushstack/node-core-library@3.64.1: - resolution: {integrity: sha512-eC2OdAvH+1siC+H2gqS8QP+QWv9EUU0mfY0+84lWojl8wamYa5WIdVETIaHSc5gDlRTz4lk+sJUOoWCARpj5dw==} + /@rushstack/node-core-library@3.64.2: + resolution: {integrity: sha512-n1S2VYEklONiwKpUyBq/Fym6yAsfsCXrqFabuOMcCuj4C+zW+HyaspSHXJCKqkMxfjviwe/c9+DUqvRWIvSN9Q==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -10004,9 +9951,9 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.8 + resolve: 1.22.4 semver: 7.5.4 - z-schema: 5.0.6 + z-schema: 5.0.5 dev: false /@rushstack/operation-graph@0.2.3(@types/node@18.17.15): @@ -10044,12 +9991,12 @@ packages: - '@types/node' dev: false - /@rushstack/package-extractor@0.6.22: - resolution: {integrity: sha512-4oDhM82PsXNVnCz4nvNhyR/xiGo+yFym+7c9ZxBGqR2MGgXcDFfKWvbsaZFi1MjsErJV08W/GbE+RTsbH0cMdw==} + /@rushstack/package-extractor@0.6.23: + resolution: {integrity: sha512-ySRr7yLFWwibh7XPqDokMK7N6UAfT+j+34JoP+Ta6oKYcDqFRqW/lbV923wW26rrx7L8lHQOldUDskIssn39dw==} dependencies: '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': 3.64.1 - '@rushstack/terminal': 0.7.19 + '@rushstack/node-core-library': 3.64.2 + '@rushstack/terminal': 0.7.20 ignore: 5.1.9 jszip: 3.8.0 minimatch: 3.0.8 @@ -10062,7 +10009,7 @@ packages: /@rushstack/rig-package@0.5.1: resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: - resolve: 1.22.8 + resolve: 1.22.4 strip-json-comments: 3.1.1 /@rushstack/rush-amazon-s3-build-cache-plugin@5.110.2: @@ -10150,15 +10097,15 @@ packages: '@rushstack/node-core-library': 3.61.0 dev: false - /@rushstack/terminal@0.7.19: - resolution: {integrity: sha512-IWkAEnAl8ko/tZ7IRKWOiJG+ryQ1E6Vsk4FkcKbbMQx9IngeUMhvv1vCFc8ERcZucCuhaWXX2P2Ex1Z7fl1OUQ==} + /@rushstack/terminal@0.7.20: + resolution: {integrity: sha512-e23GExH43r1VSpcudhvXNlatjDn/jZiajaW3Bs/Nd9wyRPsWxs1b+6iEFdZSDoBDRwAKxrSv96no9qCszOSmkQ==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 3.64.1 + '@rushstack/node-core-library': 3.64.2 dev: false /@rushstack/tree-pattern@0.3.2: @@ -10209,10 +10156,10 @@ packages: '@serverless-stack/resources': 0.67.0 aws-cdk: 2.7.0 aws-cdk-lib: 2.7.0(constructs@10.0.130) - aws-sdk: 2.1543.0 + aws-sdk: 2.1431.0 body-parser: 1.20.2 chalk: 4.1.2 - chokidar: 3.4.3 + chokidar: 3.5.3 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 esbuild: 0.12.29 @@ -10233,14 +10180,14 @@ packages: /@serverless-stack/core@0.67.2: resolution: {integrity: sha512-9Z7dDCWRu38EGR9XL9cD2pZBNtX1vrpij9r4mOAae5PUk3XqROfzoEqObIhkU78Qzl/N74bKMu75z0IzXqa2rA==} dependencies: - '@trpc/server': 9.27.4 + '@trpc/server': 9.27.3 async-retry: 1.3.3 aws-cdk: 2.7.0 aws-cdk-lib: 2.7.0(constructs@10.0.130) - aws-sdk: 2.1543.0 + aws-sdk: 2.1431.0 chalk: 4.1.2 chokidar: 3.5.3 - ci-info: 3.9.0 + ci-info: 3.8.0 conf: 10.2.0 constructs: 10.0.130 cross-spawn: 7.0.3 @@ -10249,7 +10196,7 @@ packages: dotenv: 10.0.0 dotenv-expand: 5.1.0 esbuild: 0.14.54 - eslint: 8.56.0 + eslint: 8.46.0 express: 4.18.1 fs-extra: 9.1.0 immer: 9.0.21 @@ -10260,7 +10207,7 @@ packages: typescript: 4.9.5 uuid: 8.3.2 xstate: 4.26.1 - zod: 3.22.4 + zod: 3.21.4 transitivePeerDependencies: - supports-color dev: true @@ -10275,12 +10222,12 @@ packages: '@graphql-tools/load-files': 6.6.1(graphql@15.8.0) '@graphql-tools/merge': 6.2.17(graphql@15.8.0) '@serverless-stack/core': 0.67.2 - archiver: 5.3.2 + archiver: 5.3.1 aws-cdk-lib: 2.7.0(constructs@10.0.130) chalk: 4.1.2 constructs: 10.0.130 cross-spawn: 7.0.3 - esbuild: 0.19.12 + esbuild: 0.18.20 fs-extra: 9.1.0 glob: 7.2.3 graphql: 15.8.0 @@ -10296,15 +10243,15 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 /@sinonjs/fake-timers@10.3.0: resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 3.0.1 + '@sinonjs/commons': 3.0.0 /@storybook/addon-actions@6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-t2w3iLXFul+R/1ekYxIEzUOZZmvEa7EzUAVAuCHP4i6x0jBnTTZ7sAIUVRaxVREPguH5IqI/2OklYhKanty2Yw==} @@ -10323,7 +10270,7 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -10359,7 +10306,7 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 memoizerific: 1.11.3 react: 17.0.2 @@ -10391,7 +10338,7 @@ packages: '@storybook/node-logger': 6.4.22 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.35.1 + core-js: 3.32.0 lodash: 4.17.21 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10454,10 +10401,10 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.6 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) + '@babel/generator': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) '@jest/transform': 26.6.2 '@mdx-js/loader': 1.6.22(react@17.0.2) '@mdx-js/mdx': 1.6.22 @@ -10481,7 +10428,7 @@ packages: acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 - core-js: 3.35.1 + core-js: 3.32.0 doctrine: 3.0.0 escodegen: 2.1.0 fast-deep-equal: 3.1.3 @@ -10490,7 +10437,7 @@ packages: js-string-escape: 1.0.1 loader-utils: 2.0.4 lodash: 4.17.21 - nanoid: 3.3.7 + nanoid: 3.3.6 p-limit: 3.1.0 prettier: 2.3.0 prop-types: 15.8.1 @@ -10556,7 +10503,7 @@ packages: '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/node-logger': 6.4.22 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) - core-js: 3.35.1 + core-js: 3.32.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) regenerator-runtime: 0.13.11 @@ -10601,8 +10548,8 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/router': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/qs': 6.9.11 - core-js: 3.35.1 + '@types/qs': 6.9.7 + core-js: 3.32.0 global: 4.4.0 prop-types: 15.8.1 qs: 6.11.2 @@ -10631,7 +10578,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10656,7 +10603,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10681,7 +10628,7 @@ packages: '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.35.1 + core-js: 3.32.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) regenerator-runtime: 0.13.11 @@ -10706,7 +10653,7 @@ packages: '@storybook/components': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-events': 6.4.22 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.8.1 @@ -10733,7 +10680,7 @@ packages: '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@types/react': 17.0.74 '@types/webpack-env': 1.18.0 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -10755,7 +10702,7 @@ packages: '@storybook/semver': 7.3.2 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@types/react': 17.0.74 - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -10781,25 +10728,25 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.20.12) - '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) - '@babel/preset-react': 7.23.3(@babel/core@7.20.12) - '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@babel/preset-react': 7.22.5(@babel/core@7.20.12) + '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/api': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/channel-postmessage': 6.4.22 @@ -10816,14 +10763,14 @@ packages: '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.63 + '@types/node': 14.18.59 '@types/webpack': 4.41.32 autoprefixer: 9.8.8 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) babel-plugin-macros: 2.8.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.20.12) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.35.1 + core-js: 3.32.0 css-loader: 3.6.0(webpack@4.47.0) file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 @@ -10849,7 +10796,7 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) webpack-dev-middleware: 3.7.3(@types/webpack@4.41.32)(webpack@4.47.0) webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0) - webpack-hot-middleware: 2.26.0 + webpack-hot-middleware: 2.25.4 webpack-virtual-modules: 0.2.2 transitivePeerDependencies: - '@types/react' @@ -10866,7 +10813,7 @@ packages: '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 qs: 6.11.2 telejson: 5.3.3 @@ -10877,7 +10824,7 @@ packages: dependencies: '@storybook/channels': 6.4.22 '@storybook/client-logger': 6.4.22 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 telejson: 5.3.3 dev: true @@ -10885,7 +10832,7 @@ packages: /@storybook/channels@6.4.22: resolution: {integrity: sha512-cfR74tu7MLah1A8Rru5sak71I+kH2e/sY6gkpVmlvBj4hEmdZp4Puj9PTeaKcMXh9DgIDPNA5mb8yvQH6VcyxQ==} dependencies: - core-js: 3.35.1 + core-js: 3.32.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: true @@ -10897,8 +10844,8 @@ packages: jest: '*' dependencies: '@babel/core': 7.20.12 - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) - '@storybook/codemod': 6.4.22(@babel/preset-env@7.23.8) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@storybook/codemod': 6.4.22(@babel/preset-env@7.22.10) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) '@storybook/csf-tools': 6.4.22 '@storybook/node-logger': 6.4.22 @@ -10906,16 +10853,16 @@ packages: boxen: 5.1.2 chalk: 4.1.2 commander: 6.2.1 - core-js: 3.35.1 + core-js: 3.32.0 cross-spawn: 7.0.3 - envinfo: 7.11.0 + envinfo: 7.10.0 express: 4.18.1 find-up: 5.0.0 fs-extra: 9.1.0 get-port: 5.1.1 globby: 11.1.0 jest: 29.3.1(@types/node@18.17.15) - jscodeshift: 0.13.1(@babel/preset-env@7.23.8) + jscodeshift: 0.13.1(@babel/preset-env@7.22.10) json5: 2.2.3 leven: 3.1.0 prompts: 2.4.2 @@ -10949,9 +10896,9 @@ packages: '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/qs': 6.9.11 + '@types/qs': 6.9.7 '@types/webpack-env': 1.18.0 - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -10971,22 +10918,22 @@ packages: /@storybook/client-logger@6.4.22: resolution: {integrity: sha512-LXhxh/lcDsdGnK8kimqfhu3C0+D2ylCSPPQNbU0IsLRmTfbpQYMdyl0XBjPdHiRVwlL7Gkw5OMjYemQgJ02zlw==} dependencies: - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 dev: true - /@storybook/codemod@6.4.22(@babel/preset-env@7.23.8): + /@storybook/codemod@6.4.22(@babel/preset-env@7.22.10): resolution: {integrity: sha512-xqnTKUQU2W3vS3dce9s4bYhy15tIfAHIzog37jqpKYOHnByXpPj/KkluGePtv5I6cvMxqP8IhQzn+Eh/lVjM4Q==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 '@mdx-js/mdx': 1.6.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.22 '@storybook/node-logger': 6.4.22 - core-js: 3.35.1 + core-js: 3.32.0 cross-spawn: 7.0.3 globby: 11.1.0 - jscodeshift: 0.13.1(@babel/preset-env@7.23.8) + jscodeshift: 0.13.1(@babel/preset-env@7.22.10) lodash: 4.17.21 prettier: 2.3.0 recast: 0.19.1 @@ -11006,15 +10953,15 @@ packages: '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/color-convert': 2.0.3 - '@types/overlayscrollbars': 1.12.5 + '@types/color-convert': 2.0.0 + '@types/overlayscrollbars': 1.12.1 '@types/react-syntax-highlighter': 11.0.5 color-convert: 2.0.1 - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.4.0(react@17.0.2) + markdown-to-jsx: 7.3.2(react@17.0.2) memoizerific: 1.11.3 overlayscrollbars: 1.13.3 polished: 4.2.2 @@ -11024,7 +10971,7 @@ packages: react-dom: 17.0.2(react@17.0.2) react-popper-tooltip: 3.1.1(react-dom@17.0.2)(react@17.0.2) react-syntax-highlighter: 13.5.3(react@17.0.2) - react-textarea-autosize: 8.5.3(@types/react@17.0.74)(react@17.0.2) + react-textarea-autosize: 8.5.2(@types/react@17.0.74)(react@17.0.2) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -11055,7 +11002,7 @@ packages: '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 lodash: 4.17.21 qs: 6.11.2 @@ -11083,34 +11030,34 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) - '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.20.12) - '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-proposal-decorators': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.12) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.12) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.20.12) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.20.12) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.20.12) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.20.12) - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) - '@babel/preset-react': 7.23.3(@babel/core@7.20.12) - '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) - '@babel/register': 7.23.7(@babel/core@7.20.12) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.20.12) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.20.12) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.20.12) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@babel/preset-react': 7.22.5(@babel/core@7.20.12) + '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/register': 7.22.5(@babel/core@7.20.12) '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 - '@types/node': 14.18.63 - '@types/pretty-hrtime': 1.0.3 + '@types/node': 14.18.59 + '@types/pretty-hrtime': 1.0.1 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.20.12) chalk: 4.1.2 - core-js: 3.35.1 + core-js: 3.32.0 express: 4.18.1 file-system-cache: 1.1.0 find-up: 5.0.0 @@ -11144,7 +11091,7 @@ packages: /@storybook/core-events@6.4.22: resolution: {integrity: sha512-5GYY5+1gd58Gxjqex27RVaX6qbfIQmJxcbzbNpXGNSqwqAuIIepcV1rdCVm6I4C3Yb7/AQ3cN5dVbf33QxRIwA==} dependencies: - core-js: 3.35.1 + core-js: 3.32.0 dev: true /@storybook/core-server@6.4.22(@types/react@17.0.74)(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3): @@ -11174,9 +11121,9 @@ packages: '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.63 + '@types/node': 14.18.59 '@types/node-fetch': 2.6.2 - '@types/pretty-hrtime': 1.0.3 + '@types/pretty-hrtime': 1.0.1 '@types/webpack': 4.41.32 better-opn: 2.1.1 boxen: 5.1.2 @@ -11184,7 +11131,7 @@ packages: cli-table3: 0.6.3 commander: 6.2.1 compression: 1.7.4 - core-js: 3.35.1 + core-js: 3.32.0 cpy: 8.1.2 detect-port: 1.5.1 express: 4.18.1 @@ -11207,7 +11154,7 @@ packages: util-deprecate: 1.0.2 watchpack: 2.4.0 webpack: 4.47.0(webpack-cli@3.3.12) - ws: 8.14.2 + ws: 8.14.1 transitivePeerDependencies: - '@types/react' - bufferutil @@ -11257,15 +11204,15 @@ packages: resolution: {integrity: sha512-LMu8MZAiQspJAtMBLU2zitsIkqQv7jOwX7ih5JrXlyaDticH7l2j6Q+1mCZNWUOiMTizj0ivulmUsSaYbpToSw==} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.6 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.20.12) - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/generator': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 '@mdx-js/mdx': 1.6.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.35.1 + core-js: 3.32.0 fs-extra: 9.1.0 global: 4.4.0 js-string-escape: 1.0.1 @@ -11294,20 +11241,20 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.20.12) - '@babel/preset-react': 7.23.3(@babel/core@7.20.12) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.20.12) + '@babel/preset-react': 7.22.5(@babel/core@7.20.12) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core-client': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3)(webpack@4.47.0) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) '@storybook/node-logger': 6.4.22 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/ui': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) - '@types/node': 14.18.63 + '@types/node': 14.18.59 '@types/webpack': 4.41.32 babel-loader: 8.2.5(@babel/core@7.20.12)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.35.1 + core-js: 3.32.0 css-loader: 3.6.0(webpack@4.47.0) express: 4.18.1 file-loader: 6.2.0(webpack@4.47.0) @@ -11345,9 +11292,9 @@ packages: /@storybook/node-logger@6.4.22: resolution: {integrity: sha512-sUXYFqPxiqM7gGH7gBXvO89YEO42nA4gBicJKZjj9e+W4QQLrftjF9l+mAw2K0mVE10Bn7r4pfs5oEZ0aruyyA==} dependencies: - '@types/npmlog': 4.1.6 + '@types/npmlog': 4.1.4 chalk: 4.1.2 - core-js: 3.35.1 + core-js: 3.32.0 npmlog: 5.0.1 pretty-hrtime: 1.0.3 dev: true @@ -11355,7 +11302,7 @@ packages: /@storybook/postinstall@6.4.22: resolution: {integrity: sha512-LdIvA+l70Mp5FSkawOC16uKocefc+MZLYRHqjTjgr7anubdi6y7W4n9A7/Yw4IstZHoknfL88qDj/uK5N+Ahzw==} dependencies: - core-js: 3.35.1 + core-js: 3.32.0 dev: true /@storybook/preview-web@6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): @@ -11371,7 +11318,7 @@ packages: '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/store': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) ansi-to-html: 0.6.15 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 lodash: 4.17.21 qs: 6.11.2 @@ -11395,7 +11342,7 @@ packages: debug: 4.3.4 endent: 2.1.0 find-cache-dir: 3.3.2 - flat-cache: 3.2.0 + flat-cache: 3.0.4 micromatch: 4.0.5 react-docgen-typescript: 2.2.2(typescript@5.3.3) tslib: 2.3.1 @@ -11423,9 +11370,9 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@babel/preset-flow': 7.23.3(@babel/core@7.20.12) - '@babel/preset-react': 7.23.3(@babel/core@7.20.12) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack@4.47.0) + '@babel/preset-flow': 7.22.5(@babel/core@7.20.12) + '@babel/preset-react': 7.22.5(@babel/core@7.20.12) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack@4.47.0) '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/core': 6.4.22(@types/react@17.0.74)(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3)(webpack@4.47.0) '@storybook/core-common': 6.4.22(eslint@8.7.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.3.3) @@ -11440,7 +11387,7 @@ packages: babel-plugin-add-react-displayname: 0.0.5 babel-plugin-named-asset-import: 0.3.8(@babel/core@7.20.12) babel-plugin-react-docgen: 4.2.1 - core-js: 3.35.1 + core-js: 3.32.0 global: 4.4.0 lodash: 4.17.21 prop-types: 15.8.1 @@ -11480,7 +11427,7 @@ packages: dependencies: '@storybook/client-logger': 6.4.22 '@types/react': 17.0.74 - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 history: 5.0.0 @@ -11489,8 +11436,8 @@ packages: qs: 6.11.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-router: 6.21.3(@types/react@17.0.74)(react@17.0.2) - react-router-dom: 6.21.3(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) + react-router: 6.14.2(@types/react@17.0.74)(react@17.0.2) + react-router-dom: 6.14.2(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) ts-dedent: 2.2.0 dev: true @@ -11499,7 +11446,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - core-js: 3.35.1 + core-js: 3.32.0 find-up: 4.1.0 dev: true @@ -11512,7 +11459,7 @@ packages: '@storybook/addons': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.35.1 + core-js: 3.32.0 estraverse: 5.3.0 global: 4.4.0 loader-utils: 2.0.4 @@ -11535,7 +11482,7 @@ packages: '@storybook/client-logger': 6.4.22 '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - core-js: 3.35.1 + core-js: 3.32.0 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -11560,11 +11507,11 @@ packages: dependencies: '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/is-prop-valid': 0.8.8 - '@emotion/serialize': 1.1.3 + '@emotion/serialize': 1.1.2 '@emotion/styled': 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) '@emotion/utils': 1.2.1 '@storybook/client-logger': 6.4.22 - core-js: 3.35.1 + core-js: 3.32.0 deep-object-diff: 1.1.9 emotion-theming: 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) global: 4.4.0 @@ -11595,20 +11542,20 @@ packages: '@storybook/semver': 7.3.2 '@storybook/theming': 6.4.22(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) copy-to-clipboard: 3.3.3 - core-js: 3.35.1 - core-js-pure: 3.35.1 + core-js: 3.32.0 + core-js-pure: 3.32.0 downshift: 6.1.12(react@17.0.2) emotion-theming: 10.3.0(@emotion/core@10.3.1)(@types/react@17.0.74)(react@17.0.2) fuse.js: 3.6.1 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 7.4.0(react@17.0.2) + markdown-to-jsx: 7.3.2(react@17.0.2) memoizerific: 1.11.3 polished: 4.2.2 qs: 6.11.2 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-draggable: 4.4.6(react-dom@17.0.2)(react@17.0.2) + react-draggable: 4.4.5(react-dom@17.0.2)(react@17.0.2) react-helmet-async: 1.3.0(react-dom@17.0.2)(react@17.0.2) react-sizeme: 3.0.2 regenerator-runtime: 0.13.11 @@ -11621,20 +11568,7 @@ packages: /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.6.2 - dev: false - - /@swc/helpers@0.4.36: - resolution: {integrity: sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==} - dependencies: - legacy-swc-helpers: /@swc/helpers@0.4.14 - tslib: 2.6.2 - dev: false - - /@swc/helpers@0.5.3: - resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} - dependencies: - tslib: 2.6.2 + tslib: 2.6.1 dev: false /@szmarczak/http-timer@4.0.6: @@ -11652,8 +11586,8 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - /@trpc/server@9.27.4: - resolution: {integrity: sha512-yw0omUrxGp8+gEAuieZFeXB4bCqFvmyCDL3GOBv+Q6+cK0m5824ViHZKPgK5DYG1ijN/lbi1hP3UVKywPN7rbQ==} + /@trpc/server@9.27.3: + resolution: {integrity: sha512-RHWD9xjE+A9UaQCVYkqjl0sbGaHfvlUqJH3e1I57F2ztJbMeFYoP47pVgjkg0CLYSuRDa3imtD4dVDZ4DcODjQ==} dev: true /@trysound/sax@0.2.0: @@ -11668,39 +11602,39 @@ packages: resolution: {integrity: sha512-Vsyi9ogDAY3REZDjYnXMRJJa62SDvxHXxJI5nGDQdZW058dDE+av/anynN2rLKbCKXDRNw3D/sQmqxVflZFi4A==} dev: true - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.1 - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + /@types/babel__template@7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 - /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + /@types/babel__traverse@7.20.1: + resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.22.10 - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + /@types/body-parser@1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: - '@types/connect': 3.4.38 + '@types/connect': 3.4.35 '@types/node': 18.17.15 - /@types/bonjour@3.5.13: - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + /@types/bonjour@3.5.10: + resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: '@types/node': 18.17.15 dev: false @@ -11708,51 +11642,51 @@ packages: /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: - '@types/http-cache-semantics': 4.0.4 + '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 '@types/node': 18.17.15 - '@types/responselike': 1.0.3 + '@types/responselike': 1.0.0 /@types/cli-table@0.3.0: resolution: {integrity: sha512-QnZUISJJXyhyD6L1e5QwXDV/A5i2W1/gl6D6YMc8u0ncPepbv/B4w3S+izVvtAg60m6h+JP09+Y/0zF2mojlFQ==} dev: true - /@types/color-convert@2.0.3: - resolution: {integrity: sha512-2Q6wzrNiuEvYxVQqhh7sXM2mhIhvZR/Paq4FdsQkOMgWsCIkKvSGj8Le1/XalulrmgOzPMqNa0ix+ePY4hTrfg==} + /@types/color-convert@2.0.0: + resolution: {integrity: sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==} dependencies: - '@types/color-name': 1.1.3 + '@types/color-name': 1.1.1 dev: true - /@types/color-name@1.1.3: - resolution: {integrity: sha512-87W6MJCKZYDhLAx/J1ikW8niMvmGRyY+rpUxWpL1cO7F8Uu5CHuQoFv+R0/L5pgNdW4jTyda42kv60uwVIPjLw==} + /@types/color-name@1.1.1: + resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} dev: true - /@types/compression@1.7.5(@types/express@4.17.13): - resolution: {integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==} + /@types/compression@1.7.2(@types/express@4.17.13): + resolution: {integrity: sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==} peerDependencies: '@types/express': '*' dependencies: '@types/express': 4.17.13 dev: true - /@types/configstore@6.0.2: - resolution: {integrity: sha512-OS//b51j9uyR3zvwD04Kfs5kHpve2qalQ18JhY/ho3voGYUTPLEG90/ocfKPI48hyHH8T04f7KEEbK6Ue60oZQ==} + /@types/configstore@6.0.0: + resolution: {integrity: sha512-GUvNiia85zTDDIx0iPrtF3pI8dwrQkfuokEqxqPDE55qxH0U5SZz4awVZjiJLWN2ZZRkXCUqgsMUbygXY+kytA==} dev: true - /@types/connect-history-api-fallback@1.5.4: - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + /@types/connect-history-api-fallback@1.5.0: + resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} dependencies: - '@types/express-serve-static-core': 4.17.41 + '@types/express-serve-static-core': 4.17.35 '@types/node': 18.17.15 dev: false - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + /@types/connect@3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.17.15 - /@types/cors@2.8.17: - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + /@types/cors@2.8.13: + resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: '@types/node': 18.17.15 dev: true @@ -11761,8 +11695,8 @@ packages: resolution: {integrity: sha512-XIpxU6Qdvp1ZE6Kr3yrkv1qgUab0fyf4mHYvW8N3Bx3PCsbN6or1q9/q72cv5jIFWolaGH08U9XyYoLLIykyKQ==} dev: true - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: '@types/eslint': 8.2.0 '@types/estree': 1.0.5 @@ -11771,30 +11705,30 @@ packages: resolution: {integrity: sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==} dependencies: '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/events@3.0.3: - resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} + /@types/events@3.0.0: + resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==} dev: true - /@types/express-serve-static-core@4.17.41: - resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + /@types/express-serve-static-core@4.17.35: + resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} dependencies: '@types/node': 18.17.15 - '@types/qs': 6.9.11 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + '@types/send': 0.17.1 /@types/express@4.17.13: resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.41 - '@types/qs': 6.9.11 - '@types/serve-static': 1.15.5 + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.35 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.2 /@types/fs-extra@7.0.0: resolution: {integrity: sha512-ndoMMbGyuToTy4qB6Lex/inR98nPiNHacsgMPvy+zqMLgSxbt8VtWpDArpGp69h1fEDQHn1KB+9DWD++wgbwYA==} @@ -11805,20 +11739,20 @@ packages: /@types/glob@7.1.1: resolution: {integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==} dependencies: - '@types/events': 3.0.3 + '@types/events': 3.0.0 '@types/minimatch': 3.0.5 '@types/node': 18.17.15 dev: true - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + /@types/graceful-fs@4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: '@types/node': 18.17.15 - /@types/hast@2.3.9: - resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} + /@types/hast@2.3.5: + resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 dev: true /@types/heft-jest@1.0.1: @@ -11826,8 +11760,8 @@ packages: dependencies: '@types/jest': 29.2.5 - /@types/hoist-non-react-statics@3.3.5: - resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} + /@types/hoist-non-react-statics@3.3.1: + resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: '@types/react': 17.0.74 hoist-non-react-statics: 3.3.2 @@ -11838,43 +11772,40 @@ packages: /@types/html-minifier-terser@6.1.0: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + /@types/http-cache-semantics@4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - /@types/http-errors@2.0.4: - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + /@types/http-errors@2.0.1: + resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + /@types/http-proxy@1.17.11: + resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: '@types/node': 18.17.15 /@types/inquirer@7.3.1: resolution: {integrity: sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==} dependencies: - '@types/through': 0.0.33 + '@types/through': 0.0.30 rxjs: 6.6.7 dev: true - /@types/is-function@1.0.3: - resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==} + /@types/is-function@1.0.1: + resolution: {integrity: sha512-A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q==} dev: true /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + /@types/istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: - '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-lib-coverage': 2.0.4 - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + /@types/istanbul-reports@3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: - '@types/istanbul-lib-report': 3.0.3 + '@types/istanbul-lib-report': 3.0.0 /@types/jest@23.3.13: resolution: {integrity: sha512-ePl4l+7dLLmCucIwgQHAgjiepY++qcI6nb8eAwGNkB6OxmTe3Z9rQU3rSpomqu42PCCnlThZbOoxsf+qylJsLA==} @@ -11890,14 +11821,14 @@ packages: /@types/jest@29.2.5: resolution: {integrity: sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==} dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 + expect: 29.6.2 + pretty-format: 29.6.2 /@types/jest@29.5.11: resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 + expect: 29.6.2 + pretty-format: 29.6.2 dev: true /@types/jju@1.4.1: @@ -11912,11 +11843,11 @@ packages: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: '@types/node': 18.17.15 - '@types/tough-cookie': 4.0.5 + '@types/tough-cookie': 4.0.2 parse5: 7.1.2 - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -11941,34 +11872,34 @@ packages: resolution: {integrity: sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==} dev: false - /@types/mdast@3.0.15: - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + /@types/mdast@3.0.12: + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 dev: true - /@types/mime-types@2.1.4: - resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} + /@types/mime-types@2.1.1: + resolution: {integrity: sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==} dev: true - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + /@types/mime@1.3.2: + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - /@types/mime@3.0.4: - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + /@types/mime@3.0.1: + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - /@types/minimist@1.2.5: - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: false /@types/minipass@3.3.5: resolution: {integrity: sha512-M2BLHQdEmDmH671h0GIlOQQJrgezd1vNqq7PVj1VOsHZ2uQQb4iPiQIl0SlMdhxZPUsLIfEklmeEHXg8DJRewA==} deprecated: This is a stub types definition. minipass provides its own type definitions, so you do not need this installed. dependencies: - minipass: 7.0.4 + minipass: 7.0.2 dev: true /@types/mocha@9.1.1: @@ -11987,12 +11918,6 @@ packages: '@types/node': 18.17.15 dev: true - /@types/node-forge@1.3.11: - resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - dependencies: - '@types/node': 18.17.15 - dev: false - /@types/node@10.17.60: resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} dev: true @@ -12001,8 +11926,8 @@ packages: resolution: {integrity: sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==} dev: true - /@types/node@14.18.63: - resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + /@types/node@14.18.59: + resolution: {integrity: sha512-NWJMpBL2Xs3MY93yrD6YrrTKep8eIA6iMnfG4oIc6LrTRlBZgiSCGiY3V/Owlp6umIBLyKb4F8Q7hxWatjYH5A==} dev: true /@types/node@17.0.41: @@ -12018,8 +11943,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} /@types/npm-package-arg@6.1.0: resolution: {integrity: sha512-vbt5fb0y1svMhu++1lwtKmZL76d0uPChFlw7kEzyUmTwfmpHRcFb8i0R8ElT69q/L+QLgK2hgECivIAvaEDwag==} @@ -12029,18 +11954,16 @@ packages: resolution: {integrity: sha512-9NYoEH87t90e6dkaQOuUTY/R1xUE0a67sXzJBuAB+b+/z4FysHFD19g/O154ToGjyWqKYkezVUtuBdtfd4hyfw==} dev: true - /@types/npmlog@4.1.6: - resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} - dependencies: - '@types/node': 18.17.15 + /@types/npmlog@4.1.4: + resolution: {integrity: sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==} dev: true - /@types/overlayscrollbars@1.12.5: - resolution: {integrity: sha512-1yMmgFrq1DQ3sCHyb3DNfXnE0dB463MjG47ugX3cyade3sOt3U8Fjxk/Com0JJguTLPtw766TSDaO4NC65Wgkw==} + /@types/overlayscrollbars@1.12.1: + resolution: {integrity: sha512-V25YHbSoKQN35UasHf0EKD9U2vcmexRSp78qa8UglxFH8H3D+adEa9zGZwrqpH4TdvqeMrgMqVqsLB4woAryrQ==} dev: true - /@types/parse-json@4.0.2: - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} /@types/parse5@5.0.3: resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} @@ -12049,28 +11972,28 @@ packages: /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - /@types/pretty-hrtime@1.0.3: - resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} + /@types/pretty-hrtime@1.0.1: + resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} dev: true - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/qs@6.9.11: - resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + /@types/qs@6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + /@types/range-parser@1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} /@types/react-dom@17.0.25: resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==} dependencies: '@types/react': 17.0.74 - /@types/react-redux@7.1.33: - resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} + /@types/react-redux@7.1.25: + resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} dependencies: - '@types/hoist-non-react-statics': 3.3.5 + '@types/hoist-non-react-statics': 3.3.1 '@types/react': 17.0.74 hoist-non-react-statics: 3.3.2 redux: 4.2.1 @@ -12085,9 +12008,9 @@ packages: /@types/react@17.0.74: resolution: {integrity: sha512-nBtFGaeTMzpiL/p73xbmCi00SiCQZDTJUk9ZuHOLtil3nI+y7l269LHkHIAYpav99ZwGnPJzuJsJpfLXjiQ52g==} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 - csstype: 3.1.3 + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 /@types/read-package-tree@5.1.0: resolution: {integrity: sha512-QEaGDX5COe5Usog79fca6PEycs59075O/W0QcOJjVNv+ZQ26xjqxg8sWu63Lwdt4KAI08gb4Muho1EbEKs3YFw==} @@ -12097,8 +12020,8 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/responselike@1.0.3: - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + /@types/responselike@1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: '@types/node': 18.17.15 @@ -12106,52 +12029,52 @@ packages: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: false - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} - /@types/send@0.17.4: - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + /@types/send@0.17.1: + resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: - '@types/mime': 1.3.5 + '@types/mime': 1.3.2 '@types/node': 18.17.15 /@types/serialize-javascript@5.0.2: resolution: {integrity: sha512-BRLlwZzRoZukGaBtcUxkLsZsQfWZpvog6MZk3PWQO9Q6pXmXFzjU5iGzZ+943evp6tkkbN98N1Z31KT0UG1yRw==} dev: true - /@types/serve-index@1.9.4: - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + /@types/serve-index@1.9.1: + resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: '@types/express': 4.17.13 dev: false - /@types/serve-static@1.15.5: - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + /@types/serve-static@1.15.2: + resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} dependencies: - '@types/http-errors': 2.0.4 - '@types/mime': 3.0.4 + '@types/http-errors': 2.0.1 + '@types/mime': 3.0.1 '@types/node': 18.17.15 - /@types/sockjs@0.3.36: - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + /@types/sockjs@0.3.33: + resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: '@types/node': 18.17.15 dev: false - /@types/source-list-map@0.1.6: - resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} + /@types/source-list-map@0.1.2: + resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==} - /@types/ssri@7.1.5: - resolution: {integrity: sha512-odD/56S3B51liILSk5aXJlnYt99S6Rt9EFDDqGtJM26rKHApHcwyU/UoYHrzKkdkHMAIquGWCuHtQTbes+FRQw==} + /@types/ssri@7.1.1: + resolution: {integrity: sha512-DPP/jkDaqGiyU75MyMURxLWyYLwKSjnAuGe9ZCsLp9QZOpXmDfuevk769F0BS86TmRuD5krnp06qw9nSoNO+0g==} dependencies: '@types/node': 18.17.15 dev: true - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + /@types/stack-utils@2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} /@types/strict-uri-encode@2.0.0: resolution: {integrity: sha512-R6vDd7CHxcWMzv5wfVhR3qyCRVQoZKwVd6kit0rkozTThRZSXZKEW2Kz3AxfVqq9+UyJAz1g8Q+bJ3CL6NzztQ==} @@ -12167,14 +12090,14 @@ packages: '@types/node': 18.17.15 dev: true - /@types/through@0.0.33: - resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + /@types/through@0.0.30: + resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: '@types/node': 18.17.15 dev: true - /@types/tough-cookie@4.0.5: - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + /@types/tough-cookie@4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} @@ -12182,19 +12105,19 @@ packages: '@types/node': 18.17.15 dev: false - /@types/uglify-js@3.17.4: - resolution: {integrity: sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==} + /@types/uglify-js@3.17.1: + resolution: {integrity: sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==} dependencies: source-map: 0.6.1 - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + /@types/unist@2.0.7: + resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} dev: true - /@types/update-notifier@6.0.8: - resolution: {integrity: sha512-IlDFnfSVfYQD+cKIg63DEXn3RFmd7W1iYtKQsJodcHK9R1yr8aKbKaPKfBxzPpcHCq2DU8zUq4PIPmy19Thjfg==} + /@types/update-notifier@6.0.4: + resolution: {integrity: sha512-CiKJPSmt/3F4sVnkQTjnP/onKtTJxRkib6Gvw4XESM8FNsHlvRnBNqU5qL0IQmqjtKnz5e9E6Y7xChOpvxFzKg==} dependencies: - '@types/configstore': 6.0.2 + '@types/configstore': 6.0.0 boxen: 7.1.1 dev: true @@ -12206,14 +12129,14 @@ packages: resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} dev: true - /@types/vscode@1.85.0: - resolution: {integrity: sha512-CF/RBon/GXwdfmnjZj0WTUMZN5H6YITOfBCP4iEZlOtVQXuzw6t7Le7+cR+7JzdMrnlm7Mfp49Oj2TuSXIWo3g==} + /@types/vscode@1.81.0: + resolution: {integrity: sha512-YIaCwpT+O2E7WOMq0eCgBEABE++SX3Yl/O02GoMIF2DO3qAtvw7m6BXFYsxnc6XyzwZgh6/s/UG78LSSombl2w==} dev: true /@types/watchpack@2.4.0: resolution: {integrity: sha512-PSAD+o9hezvfUFFzrYB/PO6Je7kwiZ2BSnB3/EZ9le+jTDKB6x5NJ96WWzQz1h/AyGJ/de3/1KpuBTkUFZm77A==} dependencies: - '@types/graceful-fs': 4.1.9 + '@types/graceful-fs': 4.1.6 '@types/node': 18.17.15 dev: true @@ -12224,7 +12147,7 @@ packages: resolution: {integrity: sha512-77T++JyKow4BQB/m9O96n9d/UUHWLQHlcqXb9Vsf4F1+wKNrrlWNFPDLKNT92RJnCSL6CieTc+NDXtCVZswdTw==} dependencies: '@types/node': 18.17.15 - '@types/source-list-map': 0.1.6 + '@types/source-list-map': 0.1.2 source-map: 0.7.4 /@types/webpack@4.41.32: @@ -12232,7 +12155,7 @@ packages: dependencies: '@types/node': 18.17.15 '@types/tapable': 1.0.6 - '@types/uglify-js': 3.17.4 + '@types/uglify-js': 3.17.1 '@types/webpack-sources': 1.4.2 anymatch: 3.1.3 source-map: 0.6.1 @@ -12246,22 +12169,22 @@ packages: resolution: {integrity: sha512-a/ONNCf9itbmzEz1ohx0Fv5TLJzXIPQTapxFu+DlYlDtn9UcAa1OhnrOOMwbU8125hFjrkJKL3qllD7vO5Bivw==} dev: true - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - /@types/yargs@15.0.19: - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + /@types/yargs@15.0.15: + resolution: {integrity: sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==} dependencies: - '@types/yargs-parser': 21.0.3 + '@types/yargs-parser': 21.0.0 dev: true - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: - '@types/yargs-parser': 21.0.3 + '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} + /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -12271,16 +12194,16 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) - '@typescript-eslint/type-utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) + '@typescript-eslint/type-utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -12289,8 +12212,8 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} + /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -12300,16 +12223,16 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.19.1(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/type-utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.3.3) @@ -12317,8 +12240,8 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/parser@6.19.1(eslint@7.11.0)(typescript@5.3.3): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.19.0(eslint@7.11.0)(typescript@5.3.3): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12327,10 +12250,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 eslint: 7.11.0 typescript: 5.3.3 @@ -12338,8 +12261,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@7.30.0)(typescript@5.3.3): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.19.0(eslint@7.30.0)(typescript@5.3.3): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12348,10 +12271,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 eslint: 7.30.0 typescript: 5.3.3 @@ -12359,8 +12282,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@7.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.19.0(eslint@7.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12369,10 +12292,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 eslint: 7.7.0 typescript: 5.3.3 @@ -12380,8 +12303,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.19.0(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12390,10 +12313,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) - '@typescript-eslint/types': 6.19.1(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) + '@typescript-eslint/types': 6.19.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 typescript: 4.9.5 @@ -12401,8 +12324,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.19.0(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12411,18 +12334,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color - /@typescript-eslint/rule-tester@6.19.1(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-1qvOSO9kjtjP66UimQ06tnZC/XVhb2s5hVi2Cn33efnzM3m+j8rwcGJJ9xwKacUWe7U50iHrY9xrakmF7SPWbg==} + /@typescript-eslint/rule-tester@6.19.0(@eslint/eslintrc@3.0.0)(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-4/nUf0k1LYIxdEoNZBIvk3k4iXecV03mzKbHZQcB2TeyFuPUOnJGDQI8rrfbP7jbE2a6K7h5zU0ai0uG1ytO6g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@eslint/eslintrc': '>=2' @@ -12430,8 +12353,8 @@ packages: dependencies: '@eslint/eslintrc': 3.0.0 '@types/semver': 7.5.0 - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) ajv: 6.12.6 eslint: 8.7.0 lodash.merge: 4.6.2 @@ -12441,27 +12364,27 @@ packages: - typescript dev: true - /@typescript-eslint/scope-manager@6.19.1(typescript@4.9.5): - resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} + /@typescript-eslint/scope-manager@6.19.0(typescript@4.9.5): + resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) + '@typescript-eslint/types': 6.19.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) transitivePeerDependencies: - typescript dev: true - /@typescript-eslint/scope-manager@6.19.1(typescript@5.3.3): - resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} + /@typescript-eslint/scope-manager@6.19.0(typescript@5.3.3): + resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) transitivePeerDependencies: - typescript - /@typescript-eslint/type-utils@6.19.1(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} + /@typescript-eslint/type-utils@6.19.0(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12470,8 +12393,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.9.5) debug: 4.3.4 eslint: 8.7.0 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -12480,8 +12403,8 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.19.1(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} + /@typescript-eslint/type-utils@6.19.0(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -12490,8 +12413,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.7.0 ts-api-utils: 1.0.3(typescript@5.3.3) @@ -12508,8 +12431,8 @@ packages: typescript: 5.3.3 dev: true - /@typescript-eslint/types@6.19.1(typescript@4.9.5): - resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} + /@typescript-eslint/types@6.19.0(typescript@4.9.5): + resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12517,16 +12440,16 @@ packages: typescript: 4.9.5 dev: true - /@typescript-eslint/types@6.19.1(typescript@5.3.3): - resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} + /@typescript-eslint/types@6.19.0(typescript@5.3.3): + resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' dependencies: typescript: 5.3.3 - /@typescript-eslint/typescript-estree@6.19.1(typescript@4.9.5): - resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} + /@typescript-eslint/typescript-estree@6.19.0(typescript@4.9.5): + resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12534,8 +12457,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.1(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@4.9.5) + '@typescript-eslint/types': 6.19.0(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@4.9.5) debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -12547,8 +12470,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.19.1(typescript@5.3.3): - resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} + /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3): + resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -12556,8 +12479,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.0(typescript@5.3.3) debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -12568,18 +12491,18 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@6.19.1(eslint@8.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + /@typescript-eslint/utils@6.19.0(eslint@8.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.7.0) - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.19.1(typescript@4.9.5) - '@typescript-eslint/types': 6.19.1(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.0(typescript@4.9.5) + '@typescript-eslint/types': 6.19.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.9.5) eslint: 8.7.0 semver: 7.5.4 transitivePeerDependencies: @@ -12587,40 +12510,40 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.19.1(eslint@8.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + /@typescript-eslint/utils@6.19.0(eslint@8.7.0)(typescript@5.3.3): + resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.7.0) - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.19.1(typescript@5.3.3) - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.0(typescript@5.3.3) + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) eslint: 8.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - /@typescript-eslint/visitor-keys@6.19.1(typescript@4.9.5): - resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} + /@typescript-eslint/visitor-keys@6.19.0(typescript@4.9.5): + resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1(typescript@4.9.5) - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 6.19.0(typescript@4.9.5) + eslint-visitor-keys: 3.4.2 transitivePeerDependencies: - typescript dev: true - /@typescript-eslint/visitor-keys@6.19.1(typescript@5.3.3): - resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} + /@typescript-eslint/visitor-keys@6.19.0(typescript@5.3.3): + resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1(typescript@5.3.3) - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 6.19.0(typescript@5.3.3) + eslint-visitor-keys: 3.4.2 transitivePeerDependencies: - typescript @@ -12628,10 +12551,6 @@ packages: resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} dev: true - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@vscode/test-electron@1.6.2: resolution: {integrity: sha512-W01ajJEMx6223Y7J5yaajGjVs1QfW3YGkkOJHVKfAMEqNB1ZHN9wCcViehv5ZwVSSJnjhu6lYEYgwBdHtCxqhQ==} engines: {node: '>=8.9.3'} @@ -12644,46 +12563,56 @@ packages: - supports-color dev: true - /@vue/compiler-core@3.4.15: - resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.23.6 - '@vue/shared': 3.4.15 - entities: 4.5.0 + '@babel/parser': 7.22.10 + '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: false - /@vue/compiler-dom@3.4.15: - resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==} + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} dependencies: - '@vue/compiler-core': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 dev: false - /@vue/compiler-sfc@3.4.15: - resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} + /@vue/compiler-sfc@3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.15 - '@vue/compiler-dom': 3.4.15 - '@vue/compiler-ssr': 3.4.15 - '@vue/shared': 3.4.15 + '@babel/parser': 7.22.10 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.2 + postcss: 8.4.27 source-map-js: 1.0.2 dev: false - /@vue/compiler-ssr@3.4.15: - resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==} + /@vue/compiler-ssr@3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} dependencies: - '@vue/compiler-dom': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 dev: false - /@vue/shared@3.4.15: - resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} + /@vue/reactivity-transform@3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.22.10 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.2 + dev: false + + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} dev: false /@webassemblyjs/ast@1.11.6: @@ -12929,7 +12858,6 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -12949,15 +12877,15 @@ packages: /acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.10.0 + acorn-walk: 8.2.0 - /acorn-import-assertions@1.9.0(acorn@8.11.3): + /acorn-import-assertions@1.9.0(acorn@8.10.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.11.3 + acorn: 8.10.0 /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -12967,20 +12895,20 @@ packages: acorn: 7.4.1 dev: true - /acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.3 + acorn: 8.10.0 /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} /acorn@6.4.2: @@ -12994,8 +12922,8 @@ packages: hasBin: true dev: true - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true @@ -13035,22 +12963,22 @@ packages: /airbnb-js-shims@2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 es5-shim: 4.6.7 es6-shim: 0.35.8 - function.prototype.name: 1.1.6 + function.prototype.name: 1.1.5 globalthis: 1.0.3 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.getownpropertydescriptors: 2.1.7 - object.values: 1.1.7 - promise.allsettled: 1.0.7 - promise.prototype.finally: 3.1.7 - string.prototype.matchall: 4.0.10 - string.prototype.padend: 3.1.5 - string.prototype.padstart: 3.1.5 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.getownpropertydescriptors: 2.1.6 + object.values: 1.1.6 + promise.allsettled: 1.0.6 + promise.prototype.finally: 3.1.4 + string.prototype.matchall: 4.0.8 + string.prototype.padend: 3.1.4 + string.prototype.padstart: 3.1.4 symbol.prototype.description: 1.0.5 dev: true @@ -13222,33 +13150,17 @@ packages: readable-stream: 2.3.8 dev: true - /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - dev: true - - /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + /archiver@5.3.1: + resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 - async: 3.2.5 + async: 3.2.4 buffer-crc32: 0.2.13 readable-stream: 3.6.2 readdir-glob: 1.1.3 tar-stream: 2.2.0 - zip-stream: 4.1.1 + zip-stream: 4.1.0 dev: true /archy@1.0.0: @@ -13293,7 +13205,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 is-array-buffer: 3.0.2 /array-differ@3.0.0: @@ -13304,14 +13216,18 @@ packages: /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + /array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: false + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 is-string: 1.0.7 /array-union@1.0.2: @@ -13334,63 +13250,62 @@ packages: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 - /array.prototype.map@1.0.6: - resolution: {integrity: sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==} + /array.prototype.map@1.0.5: + resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true - /array.prototype.reduce@1.0.6: - resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} + /array.prototype.reduce@1.0.5: + resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 /array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -13415,11 +13330,11 @@ packages: minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - /assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + /assert@1.5.0: + resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} dependencies: - object.assign: 4.1.5 - util: 0.10.4 + object-assign: 4.1.1 + util: 0.10.3 /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} @@ -13473,8 +13388,8 @@ packages: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} dev: true - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true /asynciterator.prototype@1.0.0: @@ -13505,27 +13420,27 @@ packages: engines: {node: '>=10.12.0'} dev: true - /autoprefixer@10.4.17(postcss@8.4.33): - resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + /autoprefixer@10.4.14(postcss@8.4.27): + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001579 - fraction.js: 4.3.7 + browserslist: 4.21.10 + caniuse-lite: 1.0.30001519 + fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 /autoprefixer@9.8.8: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001579 + browserslist: 4.21.10 + caniuse-lite: 1.0.30001519 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -13542,7 +13457,7 @@ packages: dependencies: archy: 1.0.0 debug: 4.3.4 - fastq: 1.16.0 + fastq: 1.15.0 queue-microtask: 1.2.3 transitivePeerDependencies: - supports-color @@ -13558,10 +13473,10 @@ packages: case: 1.6.3 constructs: 10.0.130 fs-extra: 9.1.0 - ignore: 5.3.0 + ignore: 5.2.4 jsonschema: 1.4.1 minimatch: 3.0.8 - punycode: 2.3.1 + punycode: 2.3.0 semver: 7.5.4 yaml: 1.10.2 dev: true @@ -13586,8 +13501,8 @@ packages: '@aws-cdk/cx-api': 2.7.0 '@aws-cdk/region-info': 2.7.0 '@jsii/check-node': 1.50.0 - archiver: 5.3.2 - aws-sdk: 2.1543.0 + archiver: 5.3.1 + aws-sdk: 2.1431.0 camelcase: 6.3.0 cdk-assets: 2.7.0 chalk: 4.1.2 @@ -13611,8 +13526,8 @@ packages: - supports-color dev: true - /aws-sdk@2.1543.0: - resolution: {integrity: sha512-sC8VwfdlauX7AYYm6Ed4SkONjt7cLr63AdkSL0MS+lwoy1fJwVRb2Kwylv+an1uAdQavRltWnEg2LVo2jzRQuA==} + /aws-sdk@2.1431.0: + resolution: {integrity: sha512-p6NGyI6+BgojiGn6uW2If6v7uxRPO5C+aGy/M+9/Rhdk8a5n7l0123v9ZUnEJgAy0tsNkazL2ifzV33nc0aGNA==} engines: {node: '>= 10.0.0'} dependencies: buffer: 4.9.2 @@ -13624,7 +13539,7 @@ packages: url: 0.10.3 util: 0.12.5 uuid: 8.0.0 - xml2js: 0.6.2 + xml2js: 0.5.0 dev: true /azure-devops-node-api@11.2.0: @@ -13642,17 +13557,17 @@ packages: '@babel/core': 7.20.12 dev: true - /babel-jest@29.7.0(@babel/core@7.20.12): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + /babel-jest@29.6.2(@babel/core@7.20.12): + resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.20.12 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 + '@jest/transform': 29.6.2 + '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.20.12) + babel-preset-jest: 29.5.0(@babel/core@7.20.12) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -13691,7 +13606,7 @@ packages: /babel-plugin-emotion@10.2.2: resolution: {integrity: sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==} dependencies: - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.22.5 '@emotion/hash': 0.8.0 '@emotion/memoize': 0.7.4 '@emotion/serialize': 0.11.16 @@ -13721,30 +13636,30 @@ packages: transitivePeerDependencies: - supports-color - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + /babel-plugin-jest-hoist@29.5.0: + resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 + '@babel/template': 7.22.5 + '@babel/types': 7.22.10 + '@types/babel__core': 7.20.1 + '@types/babel__traverse': 7.20.1 /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 cosmiconfig: 6.0.0 - resolve: 1.22.8 + resolve: 1.22.4 dev: true /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 cosmiconfig: 7.1.0 - resolve: 1.22.8 + resolve: 1.22.4 dev: true /babel-plugin-named-asset-import@0.3.8(@babel/core@7.20.12): @@ -13755,14 +13670,14 @@ packages: '@babel/core': 7.20.12 dev: true - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.20.12): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.20.12): + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.22.9 '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.20.12) + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -13775,30 +13690,30 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.20.12) - core-js-compat: 3.35.1 + core-js-compat: 3.32.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.20.12): - resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.20.12): + resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.20.12) - core-js-compat: 3.35.1 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) + core-js-compat: 3.32.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.20.12): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.20.12): + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.20.12 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.20.12) + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.20.12) transitivePeerDependencies: - supports-color dev: true @@ -13836,14 +13751,14 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.12) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.12) - /babel-preset-jest@29.6.3(@babel/core@7.20.12): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + /babel-preset-jest@29.5.0(@babel/core@7.20.12): + resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 - babel-plugin-jest-hoist: 29.6.3 + babel-plugin-jest-hoist: 29.5.0 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) /bail@1.0.5: @@ -13862,7 +13777,7 @@ packages: dependencies: cache-base: 1.0.1 class-utils: 0.3.6 - component-emitter: 1.3.1 + component-emitter: 1.3.0 define-property: 1.0.0 isobject: 3.0.1 mixin-deep: 1.3.2 @@ -13890,8 +13805,8 @@ packages: is-windows: 1.0.2 dev: false - /big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} dev: true @@ -13991,9 +13906,11 @@ packages: individual: 3.0.0 dev: false - /bonjour-service@1.2.1: - resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + /bonjour-service@1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 dev: false @@ -14098,9 +14015,8 @@ packages: bn.js: 5.2.1 randombytes: 2.1.0 - /browserify-sign@4.2.2: - resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} - engines: {node: '>= 4'} + /browserify-sign@4.2.1: + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -14117,15 +14033,15 @@ packages: dependencies: pako: 1.0.11 - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + /browserslist@4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001579 - electron-to-chromium: 1.4.645 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + caniuse-lite: 1.0.30001519 + electron-to-chromium: 1.4.487 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -14211,12 +14127,12 @@ packages: '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 foreground-child: 2.0.0 - istanbul-lib-coverage: 3.2.2 + istanbul-lib-coverage: 3.2.0 istanbul-lib-report: 3.0.1 istanbul-reports: 3.1.6 rimraf: 3.0.2 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.1.0 yargs: 16.2.0 yargs-parser: 20.2.9 dev: true @@ -14269,7 +14185,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: collection-visit: 1.0.0 - component-emitter: 1.3.1 + component-emitter: 1.3.0 get-value: 2.0.6 has-value: 1.0.0 isobject: 3.0.1 @@ -14289,11 +14205,17 @@ packages: clone-response: 1.0.3 get-stream: 5.2.0 http-cache-semantics: 4.1.1 - keyv: 4.5.4 + keyv: 4.5.3 lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: @@ -14361,14 +14283,14 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001579 + browserslist: 4.21.10 + caniuse-lite: 1.0.30001519 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001579: - resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} + /caniuse-lite@1.0.30001519: + resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} /capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -14398,8 +14320,8 @@ packages: dependencies: '@aws-cdk/cloud-assembly-schema': 2.7.0 '@aws-cdk/cx-api': 2.7.0 - archiver: 5.3.2 - aws-sdk: 2.1543.0 + archiver: 5.3.1 + aws-sdk: 2.1431.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 @@ -14533,7 +14455,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -14549,8 +14471,8 @@ packages: /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} /cipher-base@1.0.4: @@ -14577,8 +14499,8 @@ packages: dependencies: source-map: 0.6.1 - /clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -14615,8 +14537,8 @@ packages: restore-cursor: 3.1.0 dev: false - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + /cli-spinners@2.9.0: + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} engines: {node: '>=6'} dev: false @@ -14781,12 +14703,6 @@ packages: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} dev: true - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - requiresBuild: true - optional: true - /commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -14812,6 +14728,12 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + optional: true + /comment-parser@1.3.0: resolution: {integrity: sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==} engines: {node: '>= 12.0.0'} @@ -14824,15 +14746,15 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + /compress-commons@4.1.1: + resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 - crc32-stream: 4.0.3 + crc32-stream: 4.0.2 normalize-path: 3.0.0 readable-stream: 3.6.2 dev: true @@ -14966,19 +14888,19 @@ packages: toggle-selection: 1.0.6 dev: true - /core-js-compat@3.35.1: - resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} + /core-js-compat@3.32.0: + resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} dependencies: - browserslist: 4.22.2 + browserslist: 4.21.10 dev: true - /core-js-pure@3.35.1: - resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} + /core-js-pure@3.32.0: + resolution: {integrity: sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==} requiresBuild: true dev: true - /core-js@3.35.1: - resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} + /core-js@3.32.0: + resolution: {integrity: sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==} requiresBuild: true dev: true @@ -14997,7 +14919,7 @@ packages: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: - '@types/parse-json': 4.0.2 + '@types/parse-json': 4.0.0 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -15008,7 +14930,7 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.2 + '@types/parse-json': 4.0.0 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -15045,8 +14967,8 @@ packages: hasBin: true dev: true - /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + /crc32-stream@4.0.2: + resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 @@ -15078,25 +15000,6 @@ packages: safe-buffer: 5.2.1 sha.js: 2.4.11 - /create-jest@29.7.0(@types/node@18.17.15): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.17.15) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -15123,7 +15026,7 @@ packages: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.2 + browserify-sign: 4.2.1 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 @@ -15138,13 +15041,13 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - /css-declaration-sorter@6.4.1(postcss@8.4.33): + /css-declaration-sorter@6.4.1(postcss@8.4.27): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false /css-loader@3.6.0(webpack@4.47.0): @@ -15175,13 +15078,13 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 || ^4 || ^5 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) + icss-utils: 5.1.0(postcss@8.4.27) loader-utils: 2.0.4 - postcss: 8.4.33 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) - postcss-modules-scope: 3.1.1(postcss@8.4.33) - postcss-modules-values: 4.0.0(postcss@8.4.33) + postcss: 8.4.27 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) + postcss-modules-scope: 3.0.0(postcss@8.4.27) + postcss-modules-values: 4.0.0(postcss@8.4.27) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.5.4 @@ -15194,12 +15097,12 @@ packages: peerDependencies: webpack: ^5.0.0 || ^4 || ^5 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) - postcss-modules-scope: 3.1.1(postcss@8.4.33) - postcss-modules-values: 4.0.0(postcss@8.4.33) + icss-utils: 5.1.0(postcss@8.4.27) + postcss: 8.4.27 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) + postcss-modules-scope: 3.0.0(postcss@8.4.27) + postcss-modules-values: 4.0.0(postcss@8.4.27) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.82.1 @@ -15223,9 +15126,9 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.1.15(postcss@8.4.33) + cssnano: 5.1.15(postcss@8.4.27) jest-worker: 27.5.1 - postcss: 8.4.33 + postcss: 8.4.27 schema-utils: 4.2.0 serialize-javascript: 6.0.0 source-map: 0.6.1 @@ -15268,62 +15171,62 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@5.2.14(postcss@8.4.33): + /cssnano-preset-default@5.2.14(postcss@8.4.27): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.1(postcss@8.4.33) - cssnano-utils: 3.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-calc: 8.2.4(postcss@8.4.33) - postcss-colormin: 5.3.1(postcss@8.4.33) - postcss-convert-values: 5.1.3(postcss@8.4.33) - postcss-discard-comments: 5.1.2(postcss@8.4.33) - postcss-discard-duplicates: 5.1.0(postcss@8.4.33) - postcss-discard-empty: 5.1.1(postcss@8.4.33) - postcss-discard-overridden: 5.1.0(postcss@8.4.33) - postcss-merge-longhand: 5.1.7(postcss@8.4.33) - postcss-merge-rules: 5.1.4(postcss@8.4.33) - postcss-minify-font-values: 5.1.0(postcss@8.4.33) - postcss-minify-gradients: 5.1.1(postcss@8.4.33) - postcss-minify-params: 5.1.4(postcss@8.4.33) - postcss-minify-selectors: 5.2.1(postcss@8.4.33) - postcss-normalize-charset: 5.1.0(postcss@8.4.33) - postcss-normalize-display-values: 5.1.0(postcss@8.4.33) - postcss-normalize-positions: 5.1.1(postcss@8.4.33) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.33) - postcss-normalize-string: 5.1.0(postcss@8.4.33) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.33) - postcss-normalize-unicode: 5.1.1(postcss@8.4.33) - postcss-normalize-url: 5.1.0(postcss@8.4.33) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.33) - postcss-ordered-values: 5.1.3(postcss@8.4.33) - postcss-reduce-initial: 5.1.2(postcss@8.4.33) - postcss-reduce-transforms: 5.1.0(postcss@8.4.33) - postcss-svgo: 5.1.0(postcss@8.4.33) - postcss-unique-selectors: 5.1.1(postcss@8.4.33) - dev: false - - /cssnano-utils@3.1.0(postcss@8.4.33): + css-declaration-sorter: 6.4.1(postcss@8.4.27) + cssnano-utils: 3.1.0(postcss@8.4.27) + postcss: 8.4.27 + postcss-calc: 8.2.4(postcss@8.4.27) + postcss-colormin: 5.3.1(postcss@8.4.27) + postcss-convert-values: 5.1.3(postcss@8.4.27) + postcss-discard-comments: 5.1.2(postcss@8.4.27) + postcss-discard-duplicates: 5.1.0(postcss@8.4.27) + postcss-discard-empty: 5.1.1(postcss@8.4.27) + postcss-discard-overridden: 5.1.0(postcss@8.4.27) + postcss-merge-longhand: 5.1.7(postcss@8.4.27) + postcss-merge-rules: 5.1.4(postcss@8.4.27) + postcss-minify-font-values: 5.1.0(postcss@8.4.27) + postcss-minify-gradients: 5.1.1(postcss@8.4.27) + postcss-minify-params: 5.1.4(postcss@8.4.27) + postcss-minify-selectors: 5.2.1(postcss@8.4.27) + postcss-normalize-charset: 5.1.0(postcss@8.4.27) + postcss-normalize-display-values: 5.1.0(postcss@8.4.27) + postcss-normalize-positions: 5.1.1(postcss@8.4.27) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.27) + postcss-normalize-string: 5.1.0(postcss@8.4.27) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.27) + postcss-normalize-unicode: 5.1.1(postcss@8.4.27) + postcss-normalize-url: 5.1.0(postcss@8.4.27) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.27) + postcss-ordered-values: 5.1.3(postcss@8.4.27) + postcss-reduce-initial: 5.1.2(postcss@8.4.27) + postcss-reduce-transforms: 5.1.0(postcss@8.4.27) + postcss-svgo: 5.1.0(postcss@8.4.27) + postcss-unique-selectors: 5.1.1(postcss@8.4.27) + dev: false + + /cssnano-utils@3.1.0(postcss@8.4.27): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /cssnano@5.1.15(postcss@8.4.33): + /cssnano@5.1.15(postcss@8.4.27): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.33) + cssnano-preset-default: 5.2.14(postcss@8.4.27) lilconfig: 2.1.0 - postcss: 8.4.33 + postcss: 8.4.27 yaml: 1.10.2 dev: false @@ -15350,8 +15253,8 @@ packages: resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} dev: true - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} /cyclist@1.0.2: resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==} @@ -15514,40 +15417,47 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.1 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.0 /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: false + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.0 object-keys: 1.1.1 /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 0.1.7 + is-descriptor: 0.1.6 /define-property@1.0.0: resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 1.0.3 + is-descriptor: 1.0.2 /define-property@2.0.2: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} dependencies: - is-descriptor: 1.0.3 + is-descriptor: 1.0.2 isobject: 3.0.1 /degenerator@3.0.4: @@ -15577,32 +15487,32 @@ packages: immer: 9.0.21 dev: true - /depcheck@1.4.7: - resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==} + /depcheck@1.4.3: + resolution: {integrity: sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==} engines: {node: '>=10'} hasBin: true dependencies: - '@babel/parser': 7.23.6 - '@babel/traverse': 7.23.7 - '@vue/compiler-sfc': 3.4.15 - callsite: 1.0.0 + '@babel/parser': 7.16.4 + '@babel/traverse': 7.22.10 + '@vue/compiler-sfc': 3.3.4 camelcase: 6.3.0 cosmiconfig: 7.1.0 debug: 4.3.4 - deps-regex: 0.2.0 - findup-sync: 5.0.0 - ignore: 5.3.0 - is-core-module: 2.13.1 + deps-regex: 0.1.4 + ignore: 5.1.9 + is-core-module: 2.13.0 js-yaml: 3.14.1 json5: 2.2.3 lodash: 4.17.21 - minimatch: 7.4.6 + minimatch: 3.0.8 multimatch: 5.0.0 please-upgrade-node: 3.2.0 + query-ast: 1.0.5 readdirp: 3.6.0 require-package-name: 2.0.1 - resolve: 1.22.8 - resolve-from: 5.0.0 + resolve: 1.22.4 + sass: 1.49.11 + scss-parser: 1.0.6 semver: 7.5.4 yargs: 16.2.0 transitivePeerDependencies: @@ -15624,12 +15534,12 @@ packages: dependencies: '@pnpm/crypto.base32-hash': 1.0.1 '@pnpm/types': 8.9.0 - encode-registry: 3.0.1 + encode-registry: 3.0.0 semver: 7.5.4 dev: false - /deps-regex@0.2.0: - resolution: {integrity: sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==} + /deps-regex@0.1.4: + resolution: {integrity: sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==} dev: false /des.js@1.1.0: @@ -15705,8 +15615,8 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + /diff-sequences@29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} /diff@4.0.2: @@ -15744,8 +15654,12 @@ packages: dependencies: path-type: 4.0.0 - /dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: false + + /dns-packet@5.6.0: + resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} engines: {node: '>=6'} dependencies: '@leichtgewicht/ip-codec': 2.0.4 @@ -15771,8 +15685,8 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.23.8 - csstype: 3.1.3 + '@babel/runtime': 7.22.10 + csstype: 3.1.2 dev: false /dom-serializer@1.4.1: @@ -15804,7 +15718,6 @@ packages: /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 7.0.0 @@ -15874,7 +15787,7 @@ packages: peerDependencies: react: '>=16.12.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 compute-scroll-into-view: 1.0.20 prop-types: 15.8.1 react: 17.0.2 @@ -15904,7 +15817,7 @@ packages: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 - stream-shift: 1.0.3 + stream-shift: 1.0.1 /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -15919,8 +15832,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.645: - resolution: {integrity: sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==} + /electron-to-chromium@1.4.487: + resolution: {integrity: sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==} /element-resize-detector@1.2.4: resolution: {integrity: sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==} @@ -15964,7 +15877,7 @@ packages: '@types/react': '>=16' react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@emotion/core': 10.3.1(@types/react@17.0.74)(react@17.0.2) '@emotion/weak-memoize': 0.2.5 '@types/react': 17.0.74 @@ -15972,6 +15885,13 @@ packages: react: 17.0.2 dev: true + /encode-registry@3.0.0: + resolution: {integrity: sha512-2fRYji8K6FwYuQ6EPBKR/J9mcqb7kIoNqt1vGvJr3NrvKfncRiNm00Oxo6gi/YJF8R5Sp2bNFSFdGKTG0rje1Q==} + engines: {node: '>=10'} + dependencies: + mem: 8.1.1 + dev: false + /encode-registry@3.0.1: resolution: {integrity: sha512-6qOwkl1g0fv0DN3Y3ggr2EaZXN71aoAqPp3p/pVaWSBSIo+YjLOWN61Fva43oVyQNPf7kgm8lkudzlzojwE2jw==} engines: {node: '>=10'} @@ -16043,8 +15963,8 @@ packages: engines: {node: '>=6'} dev: true - /envinfo@7.11.0: - resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} + /envinfo@7.10.0: + resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} engines: {node: '>=4'} hasBin: true dev: true @@ -16070,26 +15990,26 @@ packages: stackframe: 1.3.4 dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 + arraybuffer.prototype.slice: 1.0.1 available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 + internal-slot: 1.0.5 is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 @@ -16098,21 +16018,21 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.12.3 object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.1.0 - safe-regex-test: 1.0.2 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.11 /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} @@ -16120,8 +16040,8 @@ packages: /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -16135,35 +16055,35 @@ packages: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 - function-bind: 1.1.2 - get-intrinsic: 1.2.2 + es-abstract: 1.22.1 + es-set-tostringtag: 2.0.1 + function-bind: 1.1.1 + get-intrinsic: 1.2.1 globalthis: 1.0.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.0 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.5 iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 - /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + /es-module-lexer@1.3.0: + resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.1 + has: 1.0.3 has-tostringtag: 1.0.0 - hasown: 2.0.0 - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: - hasown: 2.0.0 + has: 1.0.3 /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -16442,35 +16362,34 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: true /escalade@3.1.1: @@ -16524,8 +16443,8 @@ packages: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 + is-core-module: 2.13.0 + resolve: 1.22.4 dev: false /eslint-module-utils@2.8.0(eslint@8.7.0): @@ -16547,7 +16466,7 @@ packages: eslint: ^7.0.0 || ^8.0.0 typescript: ^4.2.4 || ^5.0.0 dependencies: - '@typescript-eslint/utils': 6.19.1(eslint@8.7.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 tslib: 2.3.1 tsutils: 3.21.0(typescript@5.3.3) @@ -16570,20 +16489,20 @@ packages: peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 debug: 2.6.9 doctrine: 2.1.0 eslint: 8.7.0 eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.0(eslint@8.7.0) - has: 1.0.4 - is-core-module: 2.13.1 + has: 1.0.3 + is-core-module: 2.13.0 is-glob: 4.0.3 minimatch: 3.0.8 - object.values: 1.1.7 - resolve: 1.22.8 - tsconfig-paths: 3.15.0 + object.values: 1.1.6 + resolve: 1.22.4 + tsconfig-paths: 3.14.2 dev: false /eslint-plugin-jsdoc@37.6.1(eslint@8.7.0): @@ -16628,8 +16547,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 @@ -16637,14 +16556,14 @@ packages: estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.4 semver: 6.3.1 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.8 /eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} @@ -16698,8 +16617,8 @@ packages: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint@7.11.0: @@ -16707,7 +16626,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 '@eslint/eslintrc': 0.1.3 ajv: 6.12.6 chalk: 4.1.2 @@ -16743,7 +16662,7 @@ packages: strip-json-comments: 3.1.1 table: 5.4.6 text-table: 0.2.0 - v8-compile-cache: 2.4.0 + v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true @@ -16773,7 +16692,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 - globals: 13.24.0 + globals: 13.20.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -16782,7 +16701,7 @@ packages: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.0.8 + minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 progress: 2.0.3 @@ -16792,7 +16711,7 @@ packages: strip-json-comments: 3.1.1 table: 6.8.1 text-table: 0.2.0 - v8-compile-cache: 2.4.0 + v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true @@ -16802,7 +16721,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -16837,24 +16756,23 @@ packages: strip-json-comments: 3.1.1 table: 5.4.6 text-table: 0.2.0 - v8-compile-cache: 2.4.0 + v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint@8.46.0: + resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.1 + '@eslint/js': 8.46.0 + '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -16862,7 +16780,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.2 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -16870,9 +16788,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 + globals: 13.20.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.2.4 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -16904,7 +16822,7 @@ packages: escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-utils: 3.0.0(eslint@8.7.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 3.4.2 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -16912,8 +16830,8 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.24.0 - ignore: 5.3.0 + globals: 13.20.0 + ignore: 5.2.4 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -16928,7 +16846,7 @@ packages: strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.4.0 + v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color @@ -16945,9 +16863,9 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.2 /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -16978,8 +16896,8 @@ packages: resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==} engines: {node: '>=8.3.0'} dependencies: - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -17080,15 +16998,16 @@ packages: dependencies: homedir-polyfill: 1.0.3 - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + /expect@29.6.2: + resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 + '@jest/expect-utils': 29.6.2 + '@types/node': 18.17.15 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 /express@4.18.1: resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} @@ -17200,8 +17119,8 @@ packages: micromatch: 3.1.10 dev: true - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -17223,7 +17142,7 @@ packages: dependencies: ajv: 6.12.6 deepmerge: 4.3.1 - rfdc: 1.3.1 + rfdc: 1.3.0 string-similarity: 4.0.4 dev: false @@ -17263,7 +17182,7 @@ packages: light-my-request: 4.12.0 pino: 6.14.0 readable-stream: 3.6.2 - rfdc: 1.3.1 + rfdc: 1.3.0 secure-json-parse: 2.7.0 semver: 7.5.4 tiny-lru: 7.0.6 @@ -17271,8 +17190,8 @@ packages: - supports-color dev: false - /fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 @@ -17302,7 +17221,6 @@ packages: /figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} - deprecated: This module is no longer supported. /figures@3.0.0: resolution: {integrity: sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==} @@ -17322,7 +17240,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.2.0 + flat-cache: 3.0.4 /file-loader@6.0.0(webpack@4.47.0): resolution: {integrity: sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==} @@ -17457,16 +17375,6 @@ packages: micromatch: 3.1.10 resolve-dir: 1.0.1 - /findup-sync@5.0.0: - resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} - engines: {node: '>= 10.13.0'} - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 4.0.5 - resolve-dir: 1.0.1 - dev: false - /flat-cache@2.0.1: resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} engines: {node: '>=4'} @@ -17476,12 +17384,11 @@ packages: write: 1.0.3 dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 - keyv: 4.5.4 + flatted: 3.2.7 rimraf: 3.0.2 /flat@5.0.2: @@ -17497,11 +17404,11 @@ packages: resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} dev: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - /flow-parser@0.227.0: - resolution: {integrity: sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA==} + /flow-parser@0.214.0: + resolution: {integrity: sha512-RW1Dh6BuT14DA7+gtNRKzgzvG3GTPdrceHCi4ddZ9VFGQ9HtO5L8wzxMGsor7XtInIrbWZZCSak0oxnBF7tApw==} engines: {node: '>=0.4.0'} dev: true @@ -17511,8 +17418,8 @@ packages: inherits: 2.0.4 readable-stream: 2.3.8 - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -17541,7 +17448,7 @@ packages: resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} engines: {node: '>=6.11.5', yarn: '>=1.0.0'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 chalk: 2.4.2 micromatch: 3.1.10 minimatch: 3.0.8 @@ -17564,8 +17471,8 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.23.5 - '@types/json-schema': 7.0.15 + '@babel/code-frame': 7.22.10 + '@types/json-schema': 7.0.12 chalk: 4.1.2 chokidar: 3.4.3 cosmiconfig: 6.0.0 @@ -17607,8 +17514,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} /fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} @@ -17636,7 +17543,7 @@ packages: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.1 + universalify: 2.0.0 dev: true /fs-extra@7.0.1: @@ -17663,7 +17570,7 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.1 + universalify: 2.0.0 dev: true /fs-minipass@2.1.0: @@ -17694,7 +17601,7 @@ packages: requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.18.0 + nan: 2.17.0 optional: true /fsevents@2.1.3: @@ -17705,8 +17612,8 @@ packages: requiresBuild: true optional: true - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -17730,16 +17637,19 @@ packages: xregexp: 2.0.0 dev: true + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 functions-have-names: 1.2.3 /functional-red-black-tree@1.0.1: @@ -17800,6 +17710,14 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -17838,8 +17756,8 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 /get-uri@3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} @@ -18004,8 +17922,8 @@ packages: type-fest: 0.8.1 dev: true - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -18014,7 +17932,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.1 + define-properties: 1.2.0 /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -18022,8 +17940,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.0 + fast-glob: 3.3.1 + ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -18044,7 +17962,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.1 /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} @@ -18053,7 +17971,7 @@ packages: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 + '@types/responselike': 1.0.0 cacheable-lookup: 5.0.4 cacheable-request: 7.0.4 decompress-response: 6.0.0 @@ -18128,6 +18046,11 @@ packages: is-glob: 3.1.0 dev: true + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: @@ -18182,10 +18105,11 @@ packages: resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} engines: {node: '>=8'} - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} - dev: false + dependencies: + function-bind: 1.1.1 /hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} @@ -18210,7 +18134,7 @@ packages: /hast-to-hyperscript@9.0.1: resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 comma-separated-tokens: 1.0.8 property-information: 5.6.0 space-separated-tokens: 1.1.5 @@ -18237,7 +18161,7 @@ packages: /hast-util-raw@6.0.1: resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} dependencies: - '@types/hast': 2.3.9 + '@types/hast': 2.3.5 hast-util-from-parse5: 6.0.1 hast-util-to-parse5: 6.0.0 html-void-elements: 1.0.5 @@ -18262,7 +18186,7 @@ packages: /hastscript@6.0.0: resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} dependencies: - '@types/hast': 2.3.9 + '@types/hast': 2.3.5 comma-separated-tokens: 1.0.8 hast-util-parse-selector: 2.2.5 property-information: 5.6.0 @@ -18292,7 +18216,7 @@ packages: /history@5.0.0: resolution: {integrity: sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: true /hmac-drbg@1.0.1: @@ -18362,12 +18286,12 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.3 + clean-css: 5.3.2 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.27.0 + terser: 5.19.2 /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} @@ -18395,8 +18319,8 @@ packages: util.promisify: 1.0.0 webpack: 4.47.0(webpack-cli@3.3.12) - /html-webpack-plugin@5.5.4(webpack@5.82.1): - resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==} + /html-webpack-plugin@5.5.3(webpack@5.82.1): + resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} engines: {node: '>=10.13.0'} peerDependencies: webpack: ^5.20.0 || ^4 || ^5 @@ -18496,7 +18420,7 @@ packages: optional: true dependencies: '@types/express': 4.17.13 - '@types/http-proxy': 1.17.14 + '@types/http-proxy': 1.17.11 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -18510,7 +18434,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.5 + follow-redirects: 1.15.2 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -18522,7 +18446,7 @@ packages: '@types/express': '*' dependencies: '@types/express': 4.17.13 - merge-descriptors: 1.0.3 + merge-descriptors: 1.0.1 send: 0.17.2 setprototypeof: 1.2.0 dev: false @@ -18585,13 +18509,13 @@ packages: postcss: 7.0.39 dev: true - /icss-utils@5.1.0(postcss@8.4.33): + /icss-utils@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 /ieee754@1.1.13: resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} @@ -18618,8 +18542,8 @@ packages: resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} engines: {node: '>= 4'} - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} /immediate@3.0.6: @@ -18629,8 +18553,8 @@ packages: /immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - /immutable@4.3.4: - resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + /immutable@4.3.2: + resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} dev: false /import-fresh@3.3.0: @@ -18685,6 +18609,9 @@ packages: once: 1.4.0 wrappy: 1.0.2 + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -18725,12 +18652,12 @@ packages: through: 2.3.8 dev: false - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 + get-intrinsic: 1.2.1 + has: 1.0.3 side-channel: 1.0.4 /interpret@1.4.0: @@ -18746,7 +18673,6 @@ packages: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 - dev: true /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} @@ -18770,11 +18696,17 @@ packages: engines: {node: '>=8'} dev: true - /is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} + /is-accessor-descriptor@0.1.6: + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} + engines: {node: '>=0.10.0'} dependencies: - hasown: 2.0.0 + kind-of: 3.2.2 + + /is-accessor-descriptor@1.0.0: + resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -18791,15 +18723,15 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 has-tostringtag: 1.0.0 dev: true /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 is-typed-array: 1.1.12 /is-arrayish@0.2.1: @@ -18834,7 +18766,7 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 has-tostringtag: 1.0.0 /is-buffer@1.1.6: @@ -18855,16 +18787,22 @@ packages: dependencies: ci-info: 2.0.0 - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: - hasown: 2.0.0 + has: 1.0.3 - /is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} + /is-data-descriptor@0.1.4: + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} + engines: {node: '>=0.10.0'} dependencies: - hasown: 2.0.0 + kind-of: 3.2.2 + + /is-data-descriptor@1.0.0: + resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -18876,19 +18814,21 @@ packages: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true - /is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} + /is-descriptor@0.1.6: + resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} + engines: {node: '>=0.10.0'} dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 - /is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} + /is-descriptor@1.0.2: + resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} + engines: {node: '>=0.10.0'} dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} @@ -18923,7 +18863,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 /is-fullwidth-code-point@1.0.0: resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} @@ -19061,7 +19001,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 has-tostringtag: 1.0.0 /is-set@2.0.2: @@ -19070,7 +19010,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} @@ -19104,7 +19044,7 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.11 /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -19119,13 +19059,13 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 /is-whitespace-character@1.0.4: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} @@ -19184,8 +19124,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} /istanbul-lib-instrument@5.2.1: @@ -19193,31 +19133,18 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.20.12 - '@babel/parser': 7.23.6 + '@babel/parser': 7.22.10 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 + istanbul-lib-coverage: 3.2.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - /istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} - engines: {node: '>=10'} - dependencies: - '@babel/core': 7.20.12 - '@babel/parser': 7.23.6 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.2 + istanbul-lib-coverage: 3.2.0 make-dir: 4.0.0 supports-color: 7.2.0 @@ -19226,7 +19153,7 @@ packages: engines: {node: '>=10'} dependencies: debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 + istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: - supports-color @@ -19253,49 +19180,48 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.1 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + /jest-changed-files@29.5.0: + resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 - jest-util: 29.7.0 p-limit: 3.1.0 - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + /jest-circus@29.6.2: + resolution: {integrity: sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/types': 29.6.3 + '@jest/environment': 29.6.2 + '@jest/expect': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/types': 29.6.1 '@types/node': 18.17.15 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 + jest-each: 29.6.2 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-runtime: 29.6.2 + jest-snapshot: 29.6.2 + jest-util: 29.6.2 p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.0.4 + pretty-format: 29.6.2 + pure-rand: 6.0.2 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: - babel-plugin-macros - supports-color - /jest-cli@29.7.0(@types/node@18.17.15): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + /jest-cli@29.6.2(@types/node@18.17.15): + resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -19304,16 +19230,17 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/types': 29.6.3 + '@jest/core': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/types': 29.6.1 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.17.15) exit: 0.1.2 + graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.17.15) - jest-util: 29.7.0 - jest-validate: 29.7.0 + jest-config: 29.6.2(@types/node@18.17.15) + jest-util: 29.6.2 + jest-validate: 29.6.2 + prompts: 2.4.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -19335,34 +19262,34 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@jest/test-sequencer': 29.7.0(@types/node@18.17.15) + '@jest/test-sequencer': 29.6.2(@types/node@18.17.15) '@jest/types': 29.5.0 '@types/node': 18.17.15 - babel-jest: 29.7.0(@babel/core@7.20.12) + babel-jest: 29.6.2(@babel/core@7.20.12) chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.7.0 + jest-circus: 29.6.2 jest-environment-node: 29.5.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 + jest-get-type: 29.4.3 + jest-regex-util: 29.4.3 jest-resolve: 29.5.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 + jest-runner: 29.6.2 + jest-util: 29.6.2 + jest-validate: 29.6.2 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.7.0 + pretty-format: 29.6.2 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: - babel-plugin-macros - supports-color - /jest-config@29.7.0(@types/node@18.17.15): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + /jest-config@29.6.2(@types/node@18.17.15): + resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' @@ -19374,26 +19301,26 @@ packages: optional: true dependencies: '@babel/core': 7.20.12 - '@jest/test-sequencer': 29.7.0(@types/node@18.17.15) - '@jest/types': 29.6.3 + '@jest/test-sequencer': 29.6.2(@types/node@18.17.15) + '@jest/types': 29.6.1 '@types/node': 18.17.15 - babel-jest: 29.7.0(@babel/core@7.20.12) + babel-jest: 29.6.2(@babel/core@7.20.12) chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 + jest-circus: 29.6.2 + jest-environment-node: 29.6.2 + jest-get-type: 29.4.3 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.2 + jest-runner: 29.6.2 + jest-util: 29.6.2 + jest-validate: 29.6.2 micromatch: 4.0.5 parse-json: 5.2.0 - pretty-format: 29.7.0 + pretty-format: 29.6.2 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -19411,30 +19338,30 @@ packages: pretty-format: 27.5.1 dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + /jest-diff@29.6.2: + resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + /jest-docblock@29.4.3: + resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + /jest-each@29.6.2: + resolution: {integrity: sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 + jest-get-type: 29.4.3 + jest-util: 29.6.2 + pretty-format: 29.6.2 /jest-environment-jsdom@29.5.0: resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} @@ -19445,13 +19372,13 @@ packages: canvas: optional: true dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 + '@jest/environment': 29.6.2 + '@jest/fake-timers': 29.6.2 '@jest/types': 29.5.0 '@types/jsdom': 20.0.1 '@types/node': 18.17.15 - jest-mock: 29.7.0 - jest-util: 29.7.0 + jest-mock: 29.6.2 + jest-util: 29.6.2 jsdom: 20.0.3 transitivePeerDependencies: - bufferutil @@ -19462,31 +19389,31 @@ packages: resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 + '@jest/environment': 29.6.2 + '@jest/fake-timers': 29.6.2 '@jest/types': 29.5.0 '@types/node': 18.17.15 - jest-mock: 29.7.0 - jest-util: 29.7.0 + jest-mock: 29.6.2 + jest-util: 29.6.2 - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + /jest-environment-node@29.6.2: + resolution: {integrity: sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 + '@jest/environment': 29.6.2 + '@jest/fake-timers': 29.6.2 + '@jest/types': 29.6.1 '@types/node': 18.17.15 - jest-mock: 29.7.0 - jest-util: 29.7.0 + jest-mock: 29.6.2 + jest-util: 29.6.2 /jest-get-type@27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + /jest-get-type@29.4.3: + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} /jest-haste-map@26.6.2: @@ -19494,7 +19421,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.9 + '@types/graceful-fs': 4.1.6 '@types/node': 18.17.15 anymatch: 3.1.3 fb-watchman: 2.0.2 @@ -19507,26 +19434,26 @@ packages: sane: 4.1.0 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 dev: true - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + /jest-haste-map@29.6.2: + resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 + '@jest/types': 29.6.1 + '@types/graceful-fs': 4.1.6 '@types/node': 18.17.15 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 + jest-regex-util: 29.4.3 + jest-util: 29.6.2 + jest-worker: 29.6.2 micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 /jest-junit@12.3.0: resolution: {integrity: sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g==} @@ -19538,12 +19465,12 @@ packages: xml: 1.0.1 dev: false - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + /jest-leak-detector@29.6.2: + resolution: {integrity: sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 /jest-matcher-utils@27.5.1: resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} @@ -19555,36 +19482,36 @@ packages: pretty-format: 27.5.1 dev: true - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + /jest-matcher-utils@29.6.2: + resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 + jest-diff: 29.6.2 + jest-get-type: 29.4.3 + pretty-format: 29.6.2 - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + /jest-message-util@29.6.2: + resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.23.5 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 + '@babel/code-frame': 7.22.10 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 29.7.0 + pretty-format: 29.6.2 slash: 3.0.0 stack-utils: 2.0.6 - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + /jest-mock@29.6.2: + resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 '@types/node': 18.17.15 - jest-util: 29.7.0 + jest-util: 29.6.2 /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -19597,7 +19524,7 @@ packages: dependencies: jest-resolve: 29.5.0 - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + /jest-pnp-resolver@1.2.3(jest-resolve@29.6.2): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -19606,23 +19533,23 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 29.7.0 + jest-resolve: 29.6.2 /jest-regex-util@26.0.0: resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} engines: {node: '>= 10.14.2'} dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + /jest-regex-util@29.4.3: + resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + /jest-resolve-dependencies@29.6.2: + resolution: {integrity: sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 + jest-regex-util: 29.4.3 + jest-snapshot: 29.6.2 transitivePeerDependencies: - supports-color @@ -19632,80 +19559,80 @@ packages: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 + jest-haste-map: 29.6.2 jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.8 + jest-util: 29.6.2 + jest-validate: 29.6.2 + resolve: 1.22.4 resolve.exports: 2.0.2 slash: 3.0.0 - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + /jest-resolve@29.6.2: + resolution: {integrity: sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.8 + jest-haste-map: 29.6.2 + jest-pnp-resolver: 1.2.3(jest-resolve@29.6.2) + jest-util: 29.6.2 + jest-validate: 29.6.2 + resolve: 1.22.4 resolve.exports: 2.0.2 slash: 3.0.0 - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + /jest-runner@29.6.2: + resolution: {integrity: sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 + '@jest/console': 29.6.2 + '@jest/environment': 29.6.2 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/transform': 29.6.2 + '@jest/types': 29.6.1 '@types/node': 18.17.15 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 + jest-docblock: 29.4.3 + jest-environment-node: 29.6.2 + jest-haste-map: 29.6.2 + jest-leak-detector: 29.6.2 + jest-message-util: 29.6.2 + jest-resolve: 29.6.2 + jest-runtime: 29.6.2 + jest-util: 29.6.2 + jest-watcher: 29.6.2 + jest-worker: 29.6.2 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + /jest-runtime@29.6.2: + resolution: {integrity: sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 + '@jest/environment': 29.6.2 + '@jest/fake-timers': 29.6.2 + '@jest/globals': 29.6.2 + '@jest/source-map': 29.6.0 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/transform': 29.6.2 + '@jest/types': 29.6.1 '@types/node': 18.17.15 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2(@types/node@18.17.15) glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 + jest-haste-map: 29.6.2 + jest-message-util: 29.6.2 + jest-mock: 29.6.2 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.2 + jest-snapshot: 29.6.2 + jest-util: 29.6.2 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: @@ -19724,54 +19651,54 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.23.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - '@jest/expect-utils': 29.7.0 + '@babel/generator': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + '@jest/expect-utils': 29.6.2 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.1 '@types/prettier': 2.7.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) chalk: 4.1.2 - expect: 29.7.0 + expect: 29.6.2 graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 + jest-diff: 29.6.2 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 natural-compare: 1.4.0 - pretty-format: 29.7.0 + pretty-format: 29.6.2 semver: 7.5.4 transitivePeerDependencies: - supports-color - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + /jest-snapshot@29.6.2: + resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.23.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.20.12) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.20.12) - '@babel/types': 7.23.6 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 + '@babel/generator': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.20.12) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/types': 7.22.10 + '@jest/expect-utils': 29.6.2 + '@jest/transform': 29.6.2 + '@jest/types': 29.6.1 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.12) chalk: 4.1.2 - expect: 29.7.0 + expect: 29.6.2 graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 + jest-diff: 29.6.2 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.2 + jest-message-util: 29.6.2 + jest-util: 29.6.2 natural-compare: 1.4.0 - pretty-format: 29.7.0 + pretty-format: 29.6.2 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -19788,27 +19715,27 @@ packages: micromatch: 4.0.5 dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + /jest-util@29.6.2: + resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 '@types/node': 18.17.15 chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + /jest-validate@29.6.2: + resolution: {integrity: sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.6.3 + '@jest/types': 29.6.1 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 29.6.3 + jest-get-type: 29.4.3 leven: 3.1.0 - pretty-format: 29.7.0 + pretty-format: 29.6.2 /jest-watch-select-projects@2.0.0: resolution: {integrity: sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w==} @@ -19818,17 +19745,17 @@ packages: prompts: 2.4.2 dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + /jest-watcher@29.6.2: + resolution: {integrity: sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 29.7.0(@types/node@18.17.15) - '@jest/types': 29.6.3 + '@jest/test-result': 29.6.2(@types/node@18.17.15) + '@jest/types': 29.6.1 '@types/node': 18.17.15 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.7.0 + jest-util: 29.6.2 string-length: 4.0.2 /jest-worker@26.6.2: @@ -19848,12 +19775,12 @@ packages: merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + /jest-worker@29.6.2: + resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.17.15 - jest-util: 29.7.0 + jest-util: 29.6.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -19870,7 +19797,7 @@ packages: '@jest/core': 29.5.0 '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.17.15) + jest-cli: 29.6.2(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -19919,25 +19846,25 @@ packages: dependencies: argparse: 2.0.1 - /jscodeshift@0.13.1(@babel/preset-env@7.23.8): + /jscodeshift@0.13.1(@babel/preset-env@7.22.10): resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: '@babel/core': 7.20.12 - '@babel/parser': 7.23.6 + '@babel/parser': 7.22.10 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.12) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.20.12) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.20.12) - '@babel/preset-env': 7.23.8(@babel/core@7.20.12) - '@babel/preset-flow': 7.23.3(@babel/core@7.20.12) - '@babel/preset-typescript': 7.23.3(@babel/core@7.20.12) - '@babel/register': 7.23.7(@babel/core@7.20.12) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.20.12) + '@babel/preset-env': 7.22.10(@babel/core@7.20.12) + '@babel/preset-flow': 7.22.5(@babel/core@7.20.12) + '@babel/preset-typescript': 7.22.5(@babel/core@7.20.12) + '@babel/register': 7.22.5(@babel/core@7.20.12) babel-core: 7.0.0-bridge.0(@babel/core@7.20.12) chalk: 4.1.2 - flow-parser: 0.227.0 + flow-parser: 0.214.0 graceful-fs: 4.2.11 micromatch: 3.1.10 neo-async: 2.6.2 @@ -19964,7 +19891,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.11.3 + acorn: 8.10.0 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -19987,7 +19914,7 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.14.2 + ws: 8.14.1 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -20057,7 +19984,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.1 + universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 dev: true @@ -20070,18 +19997,12 @@ packages: resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} dev: true - /jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + /jsonwebtoken@9.0.1: + resolution: {integrity: sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==} engines: {node: '>=12', npm: '>=6'} 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.1.1 + lodash: 4.17.21 ms: 2.1.3 semver: 7.5.4 dev: false @@ -20090,10 +20011,10 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.1.7 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + object.assign: 4.1.4 + object.values: 1.1.6 /jszip@2.7.0: resolution: {integrity: sha512-JIsRKRVC3gTRo2vM4Wy9WBC3TRcfnIZU8k65Phi3izkvPH975FowRYtKGT6PxevA0XnJ/yO8b0QwV0ydVyQwfw==} @@ -20145,8 +20066,8 @@ packages: safe-buffer: 5.2.1 dev: false - /keyborg@2.4.1: - resolution: {integrity: sha512-B9EZwDd36WKlIq6JmimaTsTDx5E0aUqZcxtgTfK66ut1FbRXYhBmiB7Al2qKzB7CCX9C49sTBiiyVzsXCA6J4Q==} + /keyborg@2.0.0: + resolution: {integrity: sha512-RWY8nWrzRkwTQLaKyDtbTu5SOb5L4B20UzAsBHlQDFZqVY/+Mid0bQ7MVTC8vbOTrWY2xkkzj8gZF9Ua7re4xA==} dev: false /keytar@7.9.0: @@ -20157,8 +20078,8 @@ packages: prebuild-install: 7.1.1 dev: true - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 @@ -20174,6 +20095,10 @@ packages: dependencies: is-buffer: 1.1.6 + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -20197,9 +20122,9 @@ packages: resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==} engines: {node: '>=6.0.0', npm: '>=6.0.0', yarn: '>=1.0.0'} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 app-root-dir: 1.0.2 - core-js: 3.35.1 + core-js: 3.32.0 dotenv: 8.6.0 dotenv-expand: 5.1.0 dev: true @@ -20363,31 +20288,12 @@ packages: /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - /lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: false - - /lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - dev: false - /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - /lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - dev: false - - /lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - dev: false - /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - /lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: false + dev: true /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -20396,10 +20302,6 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: false - /lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: true @@ -20427,8 +20329,8 @@ packages: dependencies: date-format: 4.0.14 debug: 4.3.4 - flatted: 3.2.9 - rfdc: 1.3.1 + flatted: 3.2.7 + rfdc: 1.3.0 streamroller: 3.1.5 transitivePeerDependencies: - supports-color @@ -20477,8 +20379,8 @@ packages: es5-ext: 0.10.62 dev: true - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -20577,8 +20479,8 @@ packages: uc.micro: 1.0.6 dev: true - /markdown-to-jsx@7.4.0(react@17.0.2): - resolution: {integrity: sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg==} + /markdown-to-jsx@7.3.2(react@17.0.2): + resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -20616,8 +20518,8 @@ packages: /mdast-util-to-hast@10.0.1: resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 + '@types/mdast': 3.0.12 + '@types/unist': 2.0.7 mdast-util-definitions: 4.0.0 mdurl: 1.0.1 unist-builder: 2.0.3 @@ -20692,7 +20594,7 @@ packages: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.5 + '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 decamelize: 1.2.0 decamelize-keys: 1.1.1 @@ -20709,10 +20611,6 @@ packages: /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - /merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - dev: false - /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -20847,13 +20745,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -20921,8 +20812,8 @@ packages: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + /minipass@7.0.2: + resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -21032,7 +20923,7 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true dependencies: - dns-packet: 5.6.1 + dns-packet: 5.6.0 thunky: 1.1.0 dev: false @@ -21058,8 +20949,8 @@ packages: thenify-all: 1.6.0 dev: false - /nan@2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} + /nan@2.17.0: + resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} requiresBuild: true optional: true @@ -21069,8 +20960,8 @@ packages: hasBin: true dev: true - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -21137,8 +21028,8 @@ packages: lower-case: 2.0.2 tslib: 2.3.1 - /node-abi@3.54.0: - resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} + /node-abi@3.45.0: + resolution: {integrity: sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==} engines: {node: '>=10'} dependencies: semver: 7.5.4 @@ -21206,7 +21097,7 @@ packages: /node-libs-browser@2.2.1: resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} dependencies: - assert: 1.5.1 + assert: 1.5.0 browserify-zlib: 0.2.0 buffer: 4.9.2 console-browserify: 1.2.0 @@ -21226,12 +21117,12 @@ packages: string_decoder: 1.3.0 timers-browserify: 2.0.12 tty-browserify: 0.0.0 - url: 0.11.3 + url: 0.11.1 util: 0.11.1 vm-browserify: 1.1.2 - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -21245,7 +21136,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -21254,7 +21145,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.13.1 + is-core-module: 2.13.0 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: false @@ -21291,7 +21182,7 @@ packages: callsite-record: 4.1.5 chalk: 4.1.2 co: 4.6.0 - depcheck: 1.4.7 + depcheck: 1.4.3 execa: 5.1.1 giturl: 1.0.3 global-modules: 2.0.0 @@ -21306,7 +21197,7 @@ packages: package-json: 7.0.0 path-exists: 4.0.0 pkg-dir: 5.0.0 - preferred-pm: 3.1.2 + preferred-pm: 3.0.3 rc-config-loader: 4.1.3 semver: 7.5.4 semver-diff: 3.1.1 @@ -21403,8 +21294,8 @@ packages: define-property: 0.2.5 kind-of: 3.2.2 - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -21416,46 +21307,46 @@ packages: dependencies: isobject: 3.0.1 - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 + call-bind: 1.0.2 + define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + /object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 - /object.getownpropertydescriptors@2.1.7: - resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} + /object.getownpropertydescriptors@2.1.6: + resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} engines: {node: '>= 0.8'} dependencies: - array.prototype.reduce: 1.0.6 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - safe-array-concat: 1.1.0 + array.prototype.reduce: 1.0.5 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + safe-array-concat: 1.0.0 - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + /object.hasown@1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: - define-properties: 1.2.1 - es-abstract: 1.22.3 + define-properties: 1.2.0 + es-abstract: 1.22.1 /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} @@ -21463,13 +21354,13 @@ packages: dependencies: isobject: 3.0.1 - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 /objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} @@ -21558,7 +21449,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.2 + cli-spinners: 2.9.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -21787,7 +21678,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -21997,8 +21888,8 @@ packages: '@microsoft/rush-lib': 5.110.2 '@pnpm/lockfile-file': 8.1.6(@pnpm/logger@5.0.0) '@pnpm/logger': 5.0.0 - '@rushstack/node-core-library': 3.64.1 - '@rushstack/package-extractor': 0.6.22 + '@rushstack/node-core-library': 3.63.0(@types/node@18.17.15) + '@rushstack/package-extractor': 0.6.23 transitivePeerDependencies: - '@types/node' - encoding @@ -22009,81 +21900,81 @@ packages: resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: true /posix-character-classes@0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} - /postcss-calc@8.2.4(postcss@8.4.33): + /postcss-calc@8.2.4(postcss@8.4.27): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@5.3.1(postcss@8.4.33): + /postcss-colormin@5.3.1(postcss@8.4.27): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.21.10 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@5.1.3(postcss@8.4.33): + /postcss-convert-values@5.1.3(postcss@8.4.27): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 - postcss: 8.4.33 + browserslist: 4.21.10 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.33): + /postcss-discard-comments@5.1.2(postcss@8.4.27): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.33): + /postcss-discard-duplicates@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.33): + /postcss-discard-empty@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.33): + /postcss-discard-overridden@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false /postcss-flexbugs-fixes@4.2.1: @@ -22092,7 +21983,7 @@ packages: postcss: 7.0.39 dev: true - /postcss-loader@4.1.0(postcss@8.4.33)(webpack@4.47.0): + /postcss-loader@4.1.0(postcss@8.4.27)(webpack@4.47.0): resolution: {integrity: sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -22102,7 +21993,7 @@ packages: cosmiconfig: 7.1.0 klona: 2.0.6 loader-utils: 2.0.4 - postcss: 8.4.33 + postcss: 8.4.27 schema-utils: 3.3.0 semver: 7.5.4 webpack: 4.47.0(webpack-cli@3.3.12) @@ -22124,7 +22015,7 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.82.1): + /postcss-loader@6.2.1(postcss@8.4.27)(webpack@5.82.1): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -22133,77 +22024,77 @@ packages: dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.33 + postcss: 8.4.27 semver: 7.5.4 webpack: 5.82.1 dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.33): + /postcss-merge-longhand@5.1.7(postcss@8.4.27): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.33) + stylehacks: 5.1.1(postcss@8.4.27) dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.33): + /postcss-merge-rules@5.1.4(postcss@8.4.27): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.21.10 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + cssnano-utils: 3.1.0(postcss@8.4.27) + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.33): + /postcss-minify-font-values@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.33): + /postcss-minify-gradients@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.33) - postcss: 8.4.33 + cssnano-utils: 3.1.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@5.1.4(postcss@8.4.33): + /postcss-minify-params@5.1.4(postcss@8.4.27): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 - cssnano-utils: 3.1.0(postcss@8.4.33) - postcss: 8.4.33 + browserslist: 4.21.10 + cssnano-utils: 3.1.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.33): + /postcss-minify-selectors@5.2.1(postcss@8.4.27): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 dev: false /postcss-modules-extract-imports@2.0.0: @@ -22213,13 +22104,13 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.27): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 /postcss-modules-local-by-default@3.0.3: resolution: {integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==} @@ -22227,19 +22118,19 @@ packages: dependencies: icss-utils: 4.1.1 postcss: 7.0.39 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-local-by-default@4.0.4(postcss@8.4.33): - resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} + /postcss-modules-local-by-default@4.0.3(postcss@8.4.27): + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + icss-utils: 5.1.0(postcss@8.4.27) + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 /postcss-modules-scope@2.2.0: @@ -22247,17 +22138,17 @@ packages: engines: {node: '>= 6'} dependencies: postcss: 7.0.39 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-scope@3.1.1(postcss@8.4.33): - resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} + /postcss-modules-scope@3.0.0(postcss@8.4.27): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 /postcss-modules-values@3.0.0: resolution: {integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==} @@ -22266,180 +22157,180 @@ packages: postcss: 7.0.39 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.33): + /postcss-modules-values@4.0.0(postcss@8.4.27): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 + icss-utils: 5.1.0(postcss@8.4.27) + postcss: 8.4.27 - /postcss-modules@6.0.0(postcss@8.4.33): + /postcss-modules@6.0.0(postcss@8.4.27): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.33) + icss-utils: 5.1.0(postcss@8.4.27) lodash.camelcase: 4.3.0 - postcss: 8.4.33 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) - postcss-modules-scope: 3.1.1(postcss@8.4.33) - postcss-modules-values: 4.0.0(postcss@8.4.33) + postcss: 8.4.27 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) + postcss-modules-scope: 3.0.0(postcss@8.4.27) + postcss-modules-values: 4.0.0(postcss@8.4.27) string-hash: 1.1.3 dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.33): + /postcss-normalize-charset@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.33): + /postcss-normalize-display-values@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.33): + /postcss-normalize-positions@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.33): + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.33): + /postcss-normalize-string@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.33): + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.33): + /postcss-normalize-unicode@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 - postcss: 8.4.33 + browserslist: 4.21.10 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.33): + /postcss-normalize-url@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.33): + /postcss-normalize-whitespace@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.33): + /postcss-ordered-values@5.1.3(postcss@8.4.27): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.33) - postcss: 8.4.33 + cssnano-utils: 3.1.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.33): + /postcss-reduce-initial@5.1.2(postcss@8.4.27): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 + browserslist: 4.21.10 caniuse-api: 3.0.0 - postcss: 8.4.33 + postcss: 8.4.27 dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.33): + /postcss-reduce-transforms@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: false - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@5.1.0(postcss@8.4.33): + /postcss-svgo@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 + postcss: 8.4.27 postcss-value-parser: 4.2.0 svgo: 2.8.0 dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.33): + /postcss-unique-selectors@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 dev: false /postcss-value-parser@4.2.0: @@ -22453,11 +22344,11 @@ packages: source-map: 0.6.1 dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.7 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -22472,7 +22363,7 @@ packages: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.54.0 + node-abi: 3.45.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -22480,8 +22371,8 @@ packages: tunnel-agent: 0.6.0 dev: true - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + /preferred-pm@3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 @@ -22526,11 +22417,11 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + /pretty-format@29.6.2: + resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.3 + '@jest/schemas': 29.6.0 ansi-styles: 5.2.0 react-is: 18.2.0 @@ -22581,27 +22472,25 @@ packages: retry: 0.12.0 dev: true - /promise.allsettled@1.0.7: - resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==} + /promise.allsettled@1.0.6: + resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.6 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + array.prototype.map: 1.0.5 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 iterate-value: 1.0.2 dev: true - /promise.prototype.finally@3.1.7: - resolution: {integrity: sha512-iL9OcJRUZcCE5xn6IwhZxO+eMM0VEXjkETHy+Nk+d9q3s7kxVtPg+mBlMO+ZGxNKNMODyKmy/bOyt/yhxTnvEw==} + /promise.prototype.finally@3.1.4: + resolution: {integrity: sha512-nNc3YbgMfLzqtqvO/q5DP6RR0SiHI9pUPGzyDf1q+usTwCN2kjvAnJkBb7bHe3o+fFSBPpsGMoYtaSi+LTNqng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - set-function-name: 2.0.1 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 dev: true /promptly@3.2.0: @@ -22706,8 +22595,8 @@ packages: /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} /pupa@2.1.1: @@ -22720,7 +22609,7 @@ packages: resolution: {integrity: sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==} engines: {node: '>=8.16.0'} dependencies: - '@types/mime-types': 2.1.4 + '@types/mime-types': 2.1.1 debug: 4.3.4 extract-zip: 1.7.0 https-proxy-agent: 4.0.0 @@ -22734,8 +22623,8 @@ packages: - supports-color dev: true - /pure-rand@6.0.4: - resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} + /pure-rand@6.0.2: + resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -22761,6 +22650,13 @@ packages: dependencies: side-channel: 1.0.4 + /query-ast@1.0.5: + resolution: {integrity: sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==} + dependencies: + invariant: 2.2.4 + lodash: 4.17.21 + dev: false + /querystring-es3@0.2.1: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} @@ -22887,8 +22783,8 @@ packages: hasBin: true dependencies: '@babel/core': 7.20.12 - '@babel/generator': 7.23.6 - '@babel/runtime': 7.23.8 + '@babel/generator': 7.22.10 + '@babel/runtime': 7.22.10 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -22910,8 +22806,8 @@ packages: react: 17.0.2 scheduler: 0.20.2 - /react-draggable@4.4.6(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==} + /react-draggable@4.4.5(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==} peerDependencies: react: '>= 16.3.0' react-dom: '>= 16.3.0' @@ -22945,7 +22841,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 invariant: 2.2.4 prop-types: 15.8.1 react: 17.0.2 @@ -22968,7 +22864,7 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 is-dom: 1.1.0 prop-types: 15.8.1 react: 17.0.2 @@ -22979,6 +22875,7 @@ packages: /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -22989,7 +22886,7 @@ packages: react: ^16.6.0 || ^17.0.0 react-dom: ^16.6.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@popperjs/core': 2.11.8 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) @@ -23034,9 +22931,9 @@ packages: redux: optional: true dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 '@reduxjs/toolkit': 1.8.6(react-redux@8.0.7)(react@17.0.2) - '@types/hoist-non-react-statics': 3.3.5 + '@types/hoist-non-react-statics': 3.3.1 '@types/react': 17.0.74 '@types/react-dom': 17.0.25 '@types/use-sync-external-store': 0.0.3 @@ -23053,29 +22950,29 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom@6.21.3(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==} - engines: {node: '>=14.0.0'} + /react-router-dom@6.14.2(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-5pWX0jdKR48XFZBuJqHosX3AAHjRAzygouMTyimnBPOLdY3WjzUSKhus2FVMihUFWzeLebDgr4r8UeQFAct7Bg==} + engines: {node: '>=14'} peerDependencies: '@types/react': '>=16' react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.14.2 + '@remix-run/router': 1.7.2 '@types/react': 17.0.74 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-router: 6.21.3(@types/react@17.0.74)(react@17.0.2) + react-router: 6.14.2(@types/react@17.0.74)(react@17.0.2) dev: true - /react-router@6.21.3(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==} - engines: {node: '>=14.0.0'} + /react-router@6.14.2(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-09Zss2dE2z+T1D03IheqAFtK4UzQyX8nFPWx6jkwdYzGLXd5ie06A6ezS2fO6zJfEb/SpG6UocN2O1hfD+2urQ==} + engines: {node: '>=14'} peerDependencies: '@types/react': '>=16' react: '>=16.8' dependencies: - '@remix-run/router': 1.14.2 + '@remix-run/router': 1.7.2 '@types/react': 17.0.74 react: 17.0.2 dev: true @@ -23094,7 +22991,7 @@ packages: peerDependencies: react: '>= 0.14.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.29.0 @@ -23102,13 +22999,13 @@ packages: refractor: 3.6.0 dev: true - /react-textarea-autosize@8.5.3(@types/react@17.0.74)(react@17.0.2): - resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} + /react-textarea-autosize@8.5.2(@types/react@17.0.74)(react@17.0.2): + resolution: {integrity: sha512-uOkyjkEl0ByEK21eCJMHDGBAAd/BoFQBawYK5XItjAmCTeSbjxghd8qnt7nzsLYzidjnoObu6M26xts0YGKsGg==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 react: 17.0.2 use-composed-ref: 1.3.0(react@17.0.2) use-latest: 1.2.1(@types/react@17.0.74)(react@17.0.2) @@ -23122,7 +23019,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -23169,7 +23066,7 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: - '@types/normalize-package-data': 2.4.4 + '@types/normalize-package-data': 2.4.1 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -23278,7 +23175,7 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.8 + resolve: 1.22.4 dev: true /redent@3.0.0: @@ -23300,16 +23197,16 @@ packages: /redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 /reflect.getprototypeof@1.0.4: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 globalthis: 1.0.3 which-builtin-type: 1.1.3 @@ -23321,8 +23218,8 @@ packages: prismjs: 1.27.0 dev: true - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -23336,13 +23233,13 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: true /regex-not@1.0.2: @@ -23352,13 +23249,13 @@ packages: extend-shallow: 3.0.2 safe-regex: 1.1.0 - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.1 + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} @@ -23370,7 +23267,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 + regenerate-unicode-properties: 10.1.0 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -23569,22 +23466,22 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.13.1 + is-core-module: 2.13.0 path-parse: 1.0.7 - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + /resolve@2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -23623,12 +23520,12 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfc4648@1.5.3: - resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==} + /rfc4648@1.5.2: + resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==} dev: false - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -23663,7 +23560,7 @@ packages: /rtl-css-js@1.16.1: resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.22.10 dev: false /run-async@2.4.1: @@ -23693,6 +23590,15 @@ packages: tslib: 2.3.1 dev: false + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + /safe-array-concat@1.1.0: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} @@ -23721,12 +23627,11 @@ packages: path-name: 1.0.0 dev: false - /safe-regex-test@1.0.2: - resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} - engines: {node: '>= 0.4'} + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 is-regex: 1.1.4 /safe-regex2@2.0.0: @@ -23836,9 +23741,9 @@ packages: resolution: {integrity: sha512-SwTIG6UmrMiT94/v8G+2pPf6i+XwY4hOQxm8HZl0ld0st2KdGDj/SBXDznFl7+sJ6tFq6hvVvrB9rW5Nj7EhuQ==} engines: {node: '>=14.0.0'} dependencies: - '@bufbuild/protobuf': 1.7.0 + '@bufbuild/protobuf': 1.3.0 buffer-builder: 0.2.0 - immutable: 4.3.4 + immutable: 4.3.2 rxjs: 7.8.1 supports-color: 8.1.1 optionalDependencies: @@ -23911,7 +23816,7 @@ packages: hasBin: true dependencies: chokidar: 3.4.3 - immutable: 4.3.4 + immutable: 4.3.2 source-map-js: 1.0.2 dev: false @@ -23919,8 +23824,8 @@ packages: resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} dev: true - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} @@ -23953,7 +23858,7 @@ packages: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true @@ -23962,7 +23867,7 @@ packages: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: true @@ -23971,7 +23876,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -23979,12 +23884,20 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.12 ajv: 8.12.0 ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.12.0) dev: false + /scss-parser@1.0.6: + resolution: {integrity: sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==} + engines: {node: '>=6.0.0'} + dependencies: + invariant: 2.2.4 + lodash: 4.17.21 + dev: false + /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false @@ -23993,11 +23906,10 @@ packages: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: false - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + /selfsigned@2.1.1: + resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} engines: {node: '>=10'} dependencies: - '@types/node-forge': 1.3.11 node-forge: 1.3.1 dev: false @@ -24083,8 +23995,8 @@ packages: dependencies: randombytes: 2.1.0 - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 @@ -24144,7 +24056,7 @@ packages: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.0 /set-immediate-shim@1.0.1: resolution: {integrity: sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==} @@ -24220,9 +24132,9 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -24248,7 +24160,7 @@ packages: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.24 + '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 1.1.0 @@ -24435,19 +24347,19 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.13 - /spdx-exceptions@2.4.0: - resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.4.0 - spdx-license-ids: 3.0.16 + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -24537,7 +24449,7 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.6 + internal-slot: 1.0.5 dev: true /stoppable@1.1.0: @@ -24559,7 +24471,7 @@ packages: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} dependencies: end-of-stream: 1.4.4 - stream-shift: 1.0.3 + stream-shift: 1.0.1 /stream-http@2.8.3: resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} @@ -24570,8 +24482,8 @@ packages: to-arraybuffer: 1.0.1 xtend: 4.0.2 - /stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + /stream-shift@1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} /streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} @@ -24643,58 +24555,57 @@ packages: strip-ansi: 7.1.0 dev: true - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + /string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.0 side-channel: 1.0.4 - /string.prototype.padend@3.1.5: - resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} + /string.prototype.padend@3.1.4: + resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 dev: true - /string.prototype.padstart@3.1.5: - resolution: {integrity: sha512-R57IsE3JIfModQWrVXYZ8ZHWMBNDpIoniDwhYCR1nx+iHwDkjjk26a8xM9BYgf7SAXJO7sdNPng5J+0ccr5LFQ==} + /string.prototype.padstart@3.1.4: + resolution: {integrity: sha512-XqOHj8horGsF+zwxraBvMTkBFM28sS/jHBJajh17JtJKA92qazidiQbLosV4UA18azvLOVKYo/E3g3T9Y5826w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 /string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -24789,8 +24700,8 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /style-loader@3.3.4(webpack@5.82.1): - resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + /style-loader@3.3.3(webpack@5.82.1): + resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 || ^4 || ^5 @@ -24803,19 +24714,19 @@ packages: inline-style-parser: 0.1.1 dev: true - /stylehacks@5.1.1(postcss@8.4.33): + /stylehacks@5.1.1(postcss@8.4.27): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.2 - postcss: 8.4.33 - postcss-selector-parser: 6.0.15 + browserslist: 4.21.10 + postcss: 8.4.27 + postcss-selector-parser: 6.0.13 dev: false - /stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + /stylis@4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} dev: false /sudo@1.0.3: @@ -24876,10 +24787,10 @@ packages: resolution: {integrity: sha512-x738iXRYsrAt9WBhRCVG5BtIC3B7CUkFwbHW2zOvGtwM33s7JjrCDyq8V0zgMYVb5ymsL8+qkzzpANH63CPQaQ==} engines: {node: '>= 0.11.15'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 get-symbol-description: 1.0.0 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.7 + object.getownpropertydescriptors: 2.1.6 dev: true /synchronous-promise@2.0.17: @@ -24907,10 +24818,10 @@ packages: strip-ansi: 6.0.1 dev: true - /tabster@5.2.1: - resolution: {integrity: sha512-UGl95j5YHbn9wpNA3hX/mTfH7n+y/HFSHVGPkj9Nx06+CXT3mRwTR2/ub1dqii5pG83LJ6xn2F4jSFrUgOwhuA==} + /tabster@4.7.2: + resolution: {integrity: sha512-wRFOnje3CxqUVgdDiY7spipDWXee4PatHE5e3XoVXN51fOxu0/QlI/7EVURIyg2jGDFPL4ZffLMpX3pvTVbVVQ==} dependencies: - keyborg: 2.4.1 + keyborg: 2.0.0 tslib: 2.3.1 dev: false @@ -24956,7 +24867,7 @@ packages: /telejson@5.3.3: resolution: {integrity: sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA==} dependencies: - '@types/is-function': 1.0.3 + '@types/is-function': 1.0.1 global: 4.4.0 is-function: 1.0.2 is-regex: 1.1.4 @@ -25021,13 +24932,13 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.27.0 + terser: 5.19.2 webpack: 4.47.0(webpack-cli@3.3.12) webpack-sources: 1.4.3 dev: true - /terser-webpack-plugin@5.3.10(webpack@5.82.1): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + /terser-webpack-plugin@5.3.9(webpack@5.82.1): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -25042,11 +24953,11 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.27.0 + serialize-javascript: 6.0.1 + terser: 5.19.2 webpack: 5.82.1 /terser@4.8.1: @@ -25058,13 +24969,13 @@ packages: source-map: 0.6.1 source-map-support: 0.5.21 - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.19.2: + resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.11.3 + acorn: 8.10.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -25207,7 +25118,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.1 + punycode: 2.3.0 universalify: 0.2.0 url-parse: 1.5.10 @@ -25218,7 +25129,7 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} dependencies: - punycode: 2.3.1 + punycode: 2.3.0 /traverse@0.3.9: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} @@ -25293,8 +25204,8 @@ packages: typescript: 5.3.3 dev: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -25312,8 +25223,8 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} /tslint-microsoft-contrib@6.2.0(tslint@5.20.1)(typescript@2.9.2): resolution: {integrity: sha512-6tfi/2tHqV/3CL77pULBcK+foty11Rr0idRDxKnteTaKm6gWF9qmaCNU17HVssOuwlYNyOmd9Jsmjd+1t3a3qw==} @@ -25370,16 +25281,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.0.8 + minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@2.9.2) @@ -25393,16 +25304,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.0.8 + minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@3.9.10) @@ -25416,16 +25327,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.0.8 + minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@4.9.5) @@ -25439,16 +25350,16 @@ packages: peerDependencies: typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev' dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.10 builtin-modules: 1.1.1 chalk: 2.4.2 commander: 2.20.3 diff: 4.0.2 glob: 7.2.3 js-yaml: 3.13.1 - minimatch: 3.0.8 + minimatch: 3.1.2 mkdirp: 0.5.6 - resolve: 1.22.8 + resolve: 1.22.4 semver: 5.7.2 tslib: 1.14.1 tsutils: 2.29.0(typescript@5.3.3) @@ -25612,15 +25523,15 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 is-typed-array: 1.1.12 /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -25630,7 +25541,7 @@ packages: engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -25638,7 +25549,7 @@ packages: /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.12 @@ -25696,7 +25607,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.2 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -25810,20 +25721,20 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 dev: true /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 unist-util-is: 4.1.0 dev: true /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: true @@ -25836,8 +25747,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true @@ -25862,7 +25773,7 @@ packages: /unzipper@0.10.14: resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} dependencies: - big-integer: 1.6.52 + big-integer: 1.6.51 binary: 0.3.0 bluebird: 3.4.7 buffer-indexof-polyfill: 1.0.2 @@ -25880,13 +25791,13 @@ packages: requiresBuild: true optional: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + /update-browserslist-db@1.0.11(browserslist@4.21.10): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 + browserslist: 4.21.10 escalade: 3.1.1 picocolors: 1.0.0 @@ -25912,7 +25823,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.1 + punycode: 2.3.0 /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} @@ -25968,8 +25879,8 @@ packages: querystring: 0.2.0 dev: true - /url@0.11.3: - resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + /url@0.11.1: + resolution: {integrity: sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==} dependencies: punycode: 1.4.1 qs: 6.11.2 @@ -25982,8 +25893,8 @@ packages: react: 17.0.2 dev: true - /use-disposable@1.0.2(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): - resolution: {integrity: sha512-UMaXVlV77dWOu4GqAFNjRzHzowYKUKbJBQfCexvahrYeIz4OkUYUjna4Tjjdf92NH8Nm8J7wEfFRgTIwYjO5jg==} + /use-disposable@1.0.1(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-5Sle1XEmK3lw3xyGqeIY7UKkiUgF+TxwUty7fTsqM5D5AxfQfo2ft+LY9xKCA+W5YbaBFbOkWfQsZY/y5JhInA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' @@ -26041,13 +25952,13 @@ packages: /util.promisify@1.0.0: resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} dependencies: - define-properties: 1.2.1 - object.getownpropertydescriptors: 2.1.7 + define-properties: 1.2.0 + object.getownpropertydescriptors: 2.1.6 - /util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + /util@0.10.3: + resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} dependencies: - inherits: 2.0.3 + inherits: 2.0.1 /util@0.11.1: resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} @@ -26061,7 +25972,7 @@ packages: is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.12 - which-typed-array: 1.1.13 + which-typed-array: 1.1.11 dev: true /utila@0.4.0: @@ -26091,16 +26002,16 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - /v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + /v8-compile-cache@2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + /v8-to-istanbul@9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.19 '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 2.0.0 + convert-source-map: 1.9.0 /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -26134,14 +26045,14 @@ packages: /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 unist-util-stringify-position: 2.0.3 dev: true /vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.7 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 @@ -26156,8 +26067,8 @@ packages: deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm. hasBin: true dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.10.0 + acorn-walk: 8.2.0 dev: true /vsce@2.14.0: @@ -26256,8 +26167,8 @@ packages: engines: {node: '>= 10.13.0'} hasBin: true dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.10.0 + acorn-walk: 8.2.0 chalk: 4.1.2 commander: 7.2.0 gzip-size: 6.0.0 @@ -26285,7 +26196,7 @@ packages: interpret: 1.4.0 loader-utils: 1.4.2 supports-color: 6.1.0 - v8-compile-cache: 2.4.0 + v8-compile-cache: 2.3.0 webpack: 4.47.0(webpack-cli@3.3.12) yargs: 13.3.2 @@ -26359,18 +26270,18 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.5.0 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.41 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.5 - '@types/sockjs': 0.3.36 + '@types/express-serve-static-core': 4.17.35 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.2 + '@types/sockjs': 0.3.33 '@types/webpack': 4.41.32 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.2.1 + bonjour-service: 1.1.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -26385,13 +26296,13 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.4.1 + selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 4.47.0(webpack-cli@3.3.12) webpack-dev-middleware: 5.3.3(@types/webpack@4.41.32)(webpack@4.47.0) - ws: 8.14.2 + ws: 8.14.1 transitivePeerDependencies: - bufferutil - debug @@ -26413,17 +26324,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.5.0 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.41 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.5 - '@types/sockjs': 0.3.36 + '@types/express-serve-static-core': 4.17.35 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.2 + '@types/sockjs': 0.3.33 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.2.1 + bonjour-service: 1.1.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -26438,14 +26349,14 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.4.1 + selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 4.47.0(webpack-cli@3.3.12) webpack-cli: 3.3.12(webpack@4.47.0) webpack-dev-middleware: 5.3.3(@types/webpack@4.41.32)(webpack@4.47.0) - ws: 8.14.2 + ws: 8.14.1 transitivePeerDependencies: - bufferutil - debug @@ -26467,17 +26378,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.5.0 '@types/express': 4.17.13 - '@types/express-serve-static-core': 4.17.41 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.5 - '@types/sockjs': 0.3.36 + '@types/express-serve-static-core': 4.17.35 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.2 + '@types/sockjs': 0.3.33 '@types/ws': 8.5.5 ansi-html-community: 0.0.8 anymatch: 3.1.3 - bonjour-service: 1.2.1 + bonjour-service: 1.1.1 chokidar: 3.5.3 colorette: 2.0.20 compression: 1.7.4 @@ -26492,13 +26403,13 @@ packages: p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.4.1 + selfsigned: 2.1.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 webpack: 5.82.1 webpack-dev-middleware: 5.3.3(webpack@5.82.1) - ws: 8.14.2 + ws: 8.14.1 transitivePeerDependencies: - bufferutil - debug @@ -26515,8 +26426,8 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /webpack-hot-middleware@2.26.0: - resolution: {integrity: sha512-okzjec5sAEy4t+7rzdT8eRyxsk0FDSmBPN2KwX4Qd+6+oQCfe5Ve07+u7cJvofgB+B4w5/4dO4Pz0jhhHyyPLQ==} + /webpack-hot-middleware@2.25.4: + resolution: {integrity: sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w==} dependencies: ansi-html-community: 0.0.8 html-entities: 2.4.0 @@ -26602,17 +26513,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.7 + '@types/eslint-scope': 3.7.4 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.2 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.21.10 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.4.1 + es-module-lexer: 1.3.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -26623,7 +26534,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.82.1) + terser-webpack-plugin: 5.3.9(webpack@5.82.1) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -26685,7 +26596,7 @@ packages: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} dependencies: - function.prototype.name: 1.1.6 + function.prototype.name: 1.1.5 has-tostringtag: 1.0.0 is-async-function: 2.0.0 is-date-object: 1.0.5 @@ -26696,7 +26607,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.11 /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} @@ -26717,12 +26628,12 @@ packages: path-exists: 4.0.0 dev: false - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 @@ -26743,7 +26654,7 @@ packages: /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 1.0.2 + string-width: 4.2.3 dev: true /widest-line@3.1.0: @@ -26887,8 +26798,8 @@ packages: utf-8-validate: optional: true - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + /ws@8.14.1: + resolution: {integrity: sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -26911,7 +26822,7 @@ packages: resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.3.0 + sax: 1.2.4 xmlbuilder: 11.0.1 dev: true @@ -26919,17 +26830,8 @@ packages: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.3.0 + sax: 1.2.4 xmlbuilder: 11.0.1 - dev: false - - /xml2js@0.6.2: - resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} - engines: {node: '>=4.0.0'} - dependencies: - sax: 1.2.1 - xmlbuilder: 11.0.1 - dev: true /xml@1.0.1: resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} @@ -26945,7 +26847,7 @@ packages: /xmldoc@1.1.4: resolution: {integrity: sha512-rQshsBGR5s7pUNENTEncpI2LTCuzicri0DyE4SCV5XmS0q81JS8j1iPijP0Q5c4WLGbKh3W92hlOwY6N9ssW1w==} dependencies: - sax: 1.3.0 + sax: 1.2.4 dev: false /xregexp@2.0.0: @@ -27087,17 +26989,16 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /z-schema@5.0.6: - resolution: {integrity: sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg==} + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} - deprecated: has issues with node 14 hasBin: true dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 validator: 13.11.0 optionalDependencies: - commander: 10.0.1 + commander: 9.5.0 /zip-local@0.3.5: resolution: {integrity: sha512-GRV3D5TJY+/PqyeRm5CYBs7xVrKTKzljBoEXvocZu0HJ7tPEcgpSOYa2zFIsCZWgKWMuc4U3yMFgFkERGFIB9w==} @@ -27108,17 +27009,17 @@ packages: q: 1.5.1 dev: true - /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + /zip-stream@4.1.0: + resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} engines: {node: '>= 10'} dependencies: - archiver-utils: 3.0.4 - compress-commons: 4.1.2 + archiver-utils: 2.1.0 + compress-commons: 4.1.1 readable-stream: 3.6.2 dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + /zod@3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: true /zwitch@1.0.5: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 07d482c982f..673c1cb4970 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "3a21c18118e869a0a382afaa1858b9f20313f1bc", + "pnpmShrinkwrapHash": "f03cbbd5d270dc888897c311d74c9a33ff71b5d3", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } From 3b5bcdfcf50e15ae8dc9c31836b611c704de641e Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 15:53:37 -0800 Subject: [PATCH 009/180] Upgrade to Rush 5.113.0 --- rush.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush.json b/rush.json index 63198f4e241..c5d8d295c9f 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.109.1", + "rushVersion": "5.113.0", /** * The next field selects which package manager should be installed and determines its version. From 3b8efbb2eca5896abce4386d7ecbf0731f08d2df Mon Sep 17 00:00:00 2001 From: William Huang Date: Wed, 31 Jan 2024 08:39:35 +0800 Subject: [PATCH 010/180] Restore checking for subspace provided in BaseInstallManager --- .../src/cli/actions/BaseInstallAction.ts | 41 +++---------------- .../src/logic/base/BaseInstallManager.ts | 25 +++++++++++ 2 files changed, 30 insertions(+), 36 deletions(-) diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 84d4938e0fd..97c649b9544 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -8,12 +8,7 @@ import type { CommandLineIntegerParameter, CommandLineStringParameter } from '@rushstack/ts-command-line'; -import { - ConsoleTerminalProvider, - type ITerminal, - Terminal, - AlreadyReportedError -} from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/node-core-library'; import { BaseRushAction, type IBaseRushActionOptions } from './BaseRushAction'; import { Event } from '../../api/EventHooks'; @@ -117,36 +112,10 @@ export abstract class BaseInstallAction extends BaseRushAction { protected getTargetSubspace(): Subspace { const parameterValue: string | undefined = this._subspaceParameter.value; - - if (this.rushConfiguration.subspacesFeatureEnabled) { - if (!parameterValue) { - // Temporarily ensure that a subspace is provided - // eslint-disable-next-line no-console - console.log(); - // eslint-disable-next-line no-console - console.log( - colors.red( - `The subspaces feature currently only supports installing for a specified set of subspace,` + - ` passed by the "--subspace" parameter or selected from targeted projects using any project selector.` - ) - ); - throw new AlreadyReportedError(); - } - return this.rushConfiguration.getSubspace(parameterValue); - } else { - if (parameterValue) { - // eslint-disable-next-line no-console - console.log(); - // eslint-disable-next-line no-console - console.log( - colors.red( - `The "--subspace" parameter can only be passed if the "enabled" option is enabled in subspaces.json.` - ) - ); - throw new AlreadyReportedError(); - } - return this.rushConfiguration.defaultSubspace; - } + const selectedSubspace: Subspace | undefined = parameterValue + ? this.rushConfiguration.getSubspace(parameterValue) + : this.rushConfiguration.defaultSubspace; + return selectedSubspace; } protected async runAsync(): Promise { diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index bcbbc804168..962fedc0ca9 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -119,6 +119,31 @@ export abstract class BaseInstallManager { ); throw new AlreadyReportedError(); } + // Ensure that subspaces is enabled + + if (this.rushConfiguration.subspacesFeatureEnabled && !this.options.subspace) { + // Temporarily ensure that a subspace is provided + // eslint-disable-next-line no-console + console.log(); + // eslint-disable-next-line no-console + console.log( + colors.red( + `The subspaces feature currently only supports installing for a specified set of subspace,` + + ` passed by the "--subspace" parameter or selected from targeted projects using any project selector.` + ) + ); + throw new AlreadyReportedError(); + } else if (this.options.subspace && !this.rushConfiguration.subspacesFeatureEnabled) { + // eslint-disable-next-line no-console + console.log(); + // eslint-disable-next-line no-console + console.log( + colors.red( + `The "--subspace" parameter can only be passed if the "enabled" option is enabled in subspaces.json.` + ) + ); + throw new AlreadyReportedError(); + } // Prevent update when using a filter, as modifications to the shrinkwrap shouldn't be saved if (this.options.allowShrinkwrapUpdates && isFilteredInstall) { From 777dd71890532e471f31cea1bcc06a5bc5e13831 Mon Sep 17 00:00:00 2001 From: William Huang Date: Wed, 31 Jan 2024 10:59:48 +0800 Subject: [PATCH 011/180] Add support for global subspace installs --- common/reviews/api/rush-lib.api.md | 1 + .../common/config/rush/subspaces.json | 5 ++ .../src/api/SubspacesConfiguration.ts | 7 +++ .../src/cli/actions/BaseInstallAction.ts | 58 ++++++++++++++----- .../src/logic/base/BaseInstallManager.ts | 25 -------- .../src/schemas/subspaces.schema.json | 4 ++ 6 files changed, 62 insertions(+), 38 deletions(-) diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index dd228f7cd48..8c28b2f88e8 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -1377,6 +1377,7 @@ export class SubspacesConfiguration { static _convertNameToEnvironmentVariable(subspaceName: string, splitWorkspaceCompatibility: boolean): string; readonly enabled: boolean; static explainIfInvalidSubspaceName(subspaceName: string, splitWorkspaceCompatibility?: boolean): string | undefined; + readonly preventSelectingAllSubspaces: boolean; static requireValidSubspaceName(subspaceName: string, splitWorkspaceCompatibility?: boolean): void; readonly splitWorkspaceCompatibility: boolean; readonly subspaceJsonFilePath: string; diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json index 3526906a094..1b3647dbf62 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json @@ -21,6 +21,11 @@ */ "splitWorkspaceCompatibility": false, + /** + * This allows for selecting all subspaces when no selector is provided. + */ + "preventSelectingAllSubspaces": false, + /** * The next field is an object describing the available subspaces in this workspace. Each individual subspace * must be defined in this array. diff --git a/libraries/rush-lib/src/api/SubspacesConfiguration.ts b/libraries/rush-lib/src/api/SubspacesConfiguration.ts index 73a4ba5308e..9bfc883b82b 100644 --- a/libraries/rush-lib/src/api/SubspacesConfiguration.ts +++ b/libraries/rush-lib/src/api/SubspacesConfiguration.ts @@ -23,6 +23,7 @@ export const SPLIT_WORKSPACE_SUBSPACE_NAME_REGEXP: RegExp = /^[a-z0-9][+_\-a-z0- interface ISubspacesConfigurationJson { enabled: boolean; splitWorkspaceCompatibility?: boolean; + preventSelectingAllSubspaces?: boolean; subspaceNames: string[]; } @@ -49,6 +50,11 @@ export class SubspacesConfiguration { */ public readonly splitWorkspaceCompatibility: boolean; + /** + * This determines if selectors are required when installing and building + */ + public readonly preventSelectingAllSubspaces: boolean; + /** * A set of the available subspaces */ @@ -58,6 +64,7 @@ export class SubspacesConfiguration { this.subspaceJsonFilePath = subspaceJsonFilePath; this.enabled = configuration.enabled; this.splitWorkspaceCompatibility = !!configuration.splitWorkspaceCompatibility; + this.preventSelectingAllSubspaces = !!configuration.preventSelectingAllSubspaces; const subspaceNames: Set = new Set(); for (const subspaceName of configuration.subspaceNames) { SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.enabled); diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 97c649b9544..a7468f44a13 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -8,7 +8,12 @@ import type { CommandLineIntegerParameter, CommandLineStringParameter } from '@rushstack/ts-command-line'; -import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/node-core-library'; +import { + ConsoleTerminalProvider, + type ITerminal, + Terminal, + AlreadyReportedError +} from '@rushstack/node-core-library'; import { BaseRushAction, type IBaseRushActionOptions } from './BaseRushAction'; import { Event } from '../../api/EventHooks'; @@ -112,6 +117,17 @@ export abstract class BaseInstallAction extends BaseRushAction { protected getTargetSubspace(): Subspace { const parameterValue: string | undefined = this._subspaceParameter.value; + if (parameterValue && !this.rushConfiguration.subspacesFeatureEnabled) { + // eslint-disable-next-line no-console + console.log(); + // eslint-disable-next-line no-console + console.log( + colors.red( + `The "--subspace" parameter can only be passed if the "enabled" option is enabled in subspaces.json.` + ) + ); + throw new AlreadyReportedError(); + } const selectedSubspace: Subspace | undefined = parameterValue ? this.rushConfiguration.getSubspace(parameterValue) : this.rushConfiguration.defaultSubspace; @@ -123,13 +139,35 @@ export abstract class BaseInstallAction extends BaseRushAction { // If we are doing a filtered install and subspaces is enabled, we need to find the affected subspaces and install for all of them. let selectedSubspaces: ReadonlySet | undefined; - if (installManagerOptions.pnpmFilterArguments.length && this.rushConfiguration.subspacesFeatureEnabled) { - const selectedProjects: Set | undefined = - await this._selectionParameters?.getSelectedProjectsAsync(this._terminal); - if (selectedProjects) { - selectedSubspaces = this.rushConfiguration.getSubspacesForProjects(selectedProjects); + if (this.rushConfiguration.subspacesFeatureEnabled) { + if (installManagerOptions.pnpmFilterArguments.length) { + // Selecting a set of subspaces + const selectedProjects: Set | undefined = + await this._selectionParameters?.getSelectedProjectsAsync(this._terminal); + if (selectedProjects) { + selectedSubspaces = this.rushConfiguration.getSubspacesForProjects(selectedProjects); + } else { + throw new Error('The specified filter arguments resulted in no projects being selected.'); + } + } else if (this._subspaceParameter.value) { + // Selecting a single subspace + const selectedSubspace = this.rushConfiguration.getSubspace(this._subspaceParameter.value); + selectedSubspaces = new Set([selectedSubspace]); } else { - throw new Error('The specified filter arguments resulted in no projects being selected.'); + // Selecting all subspaces if preventSelectingAllSubspaces is not enabled in subspaces.json + if (!this.rushConfiguration.subspacesConfiguration?.preventSelectingAllSubspaces) { + selectedSubspaces = new Set(this.rushConfiguration.subspaces); + } else { + // eslint-disable-next-line no-console + console.log(); + // eslint-disable-next-line no-console + console.log( + colors.red( + `The subspaces preventSelectingAllSubspaces configuration is enabled, which enforces installation for a specified set of subspace,` + + ` passed by the "--subspace" parameter or selected from targeted projects using any project selector.` + ) + ); + } } } @@ -141,12 +179,6 @@ export abstract class BaseInstallAction extends BaseRushAction { subspace }); } - } else if (this._subspaceParameter.value) { - const subspace: Subspace = this.rushConfiguration.getSubspace(this._subspaceParameter.value); - VersionMismatchFinder.ensureConsistentVersions(this.rushConfiguration, this._terminal, { - variant: this._variant.value, - subspace: subspace - }); } else { VersionMismatchFinder.ensureConsistentVersions(this.rushConfiguration, this._terminal, { variant: this._variant.value diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index 962fedc0ca9..bcbbc804168 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -119,31 +119,6 @@ export abstract class BaseInstallManager { ); throw new AlreadyReportedError(); } - // Ensure that subspaces is enabled - - if (this.rushConfiguration.subspacesFeatureEnabled && !this.options.subspace) { - // Temporarily ensure that a subspace is provided - // eslint-disable-next-line no-console - console.log(); - // eslint-disable-next-line no-console - console.log( - colors.red( - `The subspaces feature currently only supports installing for a specified set of subspace,` + - ` passed by the "--subspace" parameter or selected from targeted projects using any project selector.` - ) - ); - throw new AlreadyReportedError(); - } else if (this.options.subspace && !this.rushConfiguration.subspacesFeatureEnabled) { - // eslint-disable-next-line no-console - console.log(); - // eslint-disable-next-line no-console - console.log( - colors.red( - `The "--subspace" parameter can only be passed if the "enabled" option is enabled in subspaces.json.` - ) - ); - throw new AlreadyReportedError(); - } // Prevent update when using a filter, as modifications to the shrinkwrap shouldn't be saved if (this.options.allowShrinkwrapUpdates && isFilteredInstall) { diff --git a/libraries/rush-lib/src/schemas/subspaces.schema.json b/libraries/rush-lib/src/schemas/subspaces.schema.json index e6d62d9b2fe..75a3722c2bf 100644 --- a/libraries/rush-lib/src/schemas/subspaces.schema.json +++ b/libraries/rush-lib/src/schemas/subspaces.schema.json @@ -17,6 +17,10 @@ "description": "(DEPRECATED) Allows individual subspaces to be configured at the package level if that package is the only project in the subspace. Used to help migrate from a split workspace state.", "type": "boolean" }, + "preventSelectingAllSubspaces": { + "description": "If true, requires a selector for a subspace or set of subspaces when installing.", + "type": "boolean" + }, "subspaceNames": { "description": "Individual subspace configurations.", "type": "array", From b0761f08081e6aad88eba75994a554061b7de0de Mon Sep 17 00:00:00 2001 From: William Huang Date: Wed, 31 Jan 2024 11:00:59 +0800 Subject: [PATCH 012/180] Add change file --- .../rush/will-subspace-patch-1_2024-01-31-03-00.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json diff --git a/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json b/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json new file mode 100644 index 00000000000..ea2781d918f --- /dev/null +++ b/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fix issues with subspace targeted installs", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From a31fde193cd9a591bf2691aaa09a031cad76a962 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 19:40:34 -0800 Subject: [PATCH 013/180] rush update --- common/scripts/install-run.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/common/scripts/install-run.js b/common/scripts/install-run.js index bf89cd2311a..11bb97c023b 100644 --- a/common/scripts/install-run.js +++ b/common/scripts/install-run.js @@ -42,12 +42,13 @@ __webpack_require__.r(__webpack_exports__); */ // create a global _combinedNpmrc for cache purpose const _combinedNpmrcMap = new Map(); -function _trimNpmrcFile(sourceNpmrcPath) { +function _trimNpmrcFile(sourceNpmrcPath, extraLines = []) { const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath); if (combinedNpmrcFromCache !== undefined) { return combinedNpmrcFromCache; } let npmrcFileLines = fs__WEBPACK_IMPORTED_MODULE_0__.readFileSync(sourceNpmrcPath).toString().split('\n'); + npmrcFileLines.push(...extraLines); npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim()); const resultLines = []; // This finds environment variable tokens that look like "${VAR_NAME}" @@ -106,10 +107,10 @@ function _trimNpmrcFile(sourceNpmrcPath) { * @returns * The text of the the .npmrc with lines containing undefined variables commented out. */ -function _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath) { +function _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath, extraLines) { logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose logger.info(` --> "${targetNpmrcPath}"`); - const combinedNpmrc = _trimNpmrcFile(sourceNpmrcPath); + const combinedNpmrc = _trimNpmrcFile(sourceNpmrcPath, extraLines); fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(targetNpmrcPath, combinedNpmrc); return combinedNpmrc; } @@ -127,12 +128,16 @@ function syncNpmrc(sourceNpmrcFolder, targetNpmrcFolder, useNpmrcPublish, logger info: console.log, // eslint-disable-next-line no-console error: console.error -}) { +}, extraLines) { const sourceNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish'); const targetNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(targetNpmrcFolder, '.npmrc'); try { if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) { - return _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath); + // Ensure the target folder exists + if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcFolder)) { + fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(targetNpmrcFolder, { recursive: true }); + } + return _copyAndTrimNpmrcFile(logger, sourceNpmrcPath, targetNpmrcPath, extraLines); } else if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcPath)) { // If the source .npmrc doesn't exist and there is one in the target, delete the one in the target From ab6a7b89861491585a639a01b165ced7d9e18067 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 19:43:01 -0800 Subject: [PATCH 014/180] rush rebuild --- .../workspace/common/pnpm-lock.yaml | 211 +++++++++--------- 1 file changed, 105 insertions(+), 106 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 37ea5473512..4615e183854 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -11,8 +11,8 @@ importers: rush-lib-test: dependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.112.2.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.112.2.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.0.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 @@ -30,15 +30,15 @@ importers: rush-sdk-test: dependencies: '@rushstack/rush-sdk': - specifier: file:rushstack-rush-sdk-5.112.2.tgz - version: file:../temp/tarballs/rushstack-rush-sdk-5.112.2.tgz(@types/node@18.17.15) + specifier: file:rushstack-rush-sdk-5.113.0.tgz + version: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 devDependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.112.2.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.112.2.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.0.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15) '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -52,17 +52,17 @@ importers: typescript-newest-test: devDependencies: '@rushstack/eslint-config': - specifier: file:rushstack-eslint-config-3.6.0.tgz - version: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz(eslint@8.7.0)(typescript@5.3.3) + specifier: file:rushstack-eslint-config-3.6.2.tgz + version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.0.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.0.tgz + specifier: file:rushstack-heft-0.64.3.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.3.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.0.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.0.tgz(@rushstack/heft@0.64.0) + specifier: file:rushstack-heft-lint-plugin-0.3.3.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.0.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.0.tgz(@rushstack/heft@0.64.0) + specifier: file:rushstack-heft-typescript-plugin-0.3.3.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -76,17 +76,17 @@ importers: typescript-v4-test: devDependencies: '@rushstack/eslint-config': - specifier: file:rushstack-eslint-config-3.6.0.tgz - version: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz(eslint@8.7.0)(typescript@4.7.4) + specifier: file:rushstack-eslint-config-3.6.2.tgz + version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.0.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.0.tgz + specifier: file:rushstack-heft-0.64.3.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.3.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.0.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.0.tgz(@rushstack/heft@0.64.0) + specifier: file:rushstack-heft-lint-plugin-0.3.3.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.0.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.0.tgz(@rushstack/heft@0.64.0) + specifier: file:rushstack-heft-typescript-plugin-0.3.3.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -2483,7 +2483,7 @@ packages: hasBin: true /json-buffer@3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -4245,22 +4245,22 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.112.2.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.112.2.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.112.2.tgz + file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz name: '@microsoft/rush-lib' - version: 5.112.2 + version: 5.113.0 engines: {node: '>=5.6.0'} dependencies: '@pnpm/dependency-path': 2.1.2 '@pnpm/link-bins': 5.3.25 - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) - '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.18.tgz(@types/node@18.17.15) - '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.20.tgz(@types/node@18.17.15) + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz(@types/node@18.17.15) + '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz - '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.18.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.17.tgz(@types/node@18.17.15) + '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz '@types/node-fetch': 2.6.2 '@yarnpkg/lockfile': 1.0.2 @@ -4277,7 +4277,6 @@ packages: inquirer: 7.3.3 js-yaml: 3.13.1 node-fetch: 2.6.7 - normalize-path: 3.0.0 npm-check: 6.0.1 npm-package-arg: 6.1.1 read-package-tree: 5.1.6 @@ -4294,16 +4293,16 @@ packages: - encoding - supports-color - file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz(eslint@8.7.0)(typescript@4.7.4): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz + file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@4.7.4): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz} + id: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz name: '@rushstack/eslint-config' - version: 3.6.0 + version: 3.6.2 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '>=4.7.0' dependencies: - '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.0.tgz + '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@4.7.4) @@ -4320,16 +4319,16 @@ packages: - supports-color dev: true - file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz(eslint@8.7.0)(typescript@5.3.3): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-config-3.6.0.tgz + file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@5.3.3): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz} + id: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz name: '@rushstack/eslint-config' - version: 3.6.0 + version: 3.6.2 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '>=4.7.0' dependencies: - '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.0.tgz + '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@5.3.3) @@ -4346,10 +4345,10 @@ packages: - supports-color dev: true - file:../temp/tarballs/rushstack-eslint-patch-1.7.0.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-patch-1.7.0.tgz} + file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz} name: '@rushstack/eslint-patch' - version: 1.7.0 + version: 1.7.2 dev: true file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@4.7.4): @@ -4448,16 +4447,16 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.64.0.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.0.tgz} + file:../temp/tarballs/rushstack-heft-0.64.3.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.3.tgz} name: '@rushstack/heft' - version: 0.64.0 + version: 0.64.3 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) - '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.3.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz '@types/tapable': 1.0.6 @@ -4472,45 +4471,45 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz} - id: file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz + file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz} + id: file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz name: '@rushstack/heft-config-file' - version: 0.14.4 + version: 0.14.7 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz jsonpath-plus: 4.0.0 transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.0.tgz(@rushstack/heft@0.64.0): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.0.tgz} - id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.0.tgz + file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz} + id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz name: '@rushstack/heft-lint-plugin' - version: 0.3.0 + version: 0.3.3 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.0.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.3.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) semver: 7.5.4 transitivePeerDependencies: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.0.tgz(@rushstack/heft@0.64.0): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.0.tgz} - id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.0.tgz + file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz} + id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz name: '@rushstack/heft-typescript-plugin' - version: 0.3.0 + version: 0.3.3 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.0.tgz - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.4.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.3.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@types/tapable': 1.0.6 semver: 7.5.4 tapable: 1.1.3 @@ -4518,11 +4517,11 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz} - id: file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz + file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz} + id: file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz name: '@rushstack/node-core-library' - version: 3.63.0 + version: 3.64.2 peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -4538,38 +4537,38 @@ packages: semver: 7.5.4 z-schema: 5.0.3 - file:../temp/tarballs/rushstack-operation-graph-0.2.3.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.3.tgz} + file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz} name: '@rushstack/operation-graph' - version: 0.2.3 + version: 0.2.6 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) dev: true - file:../temp/tarballs/rushstack-package-deps-hash-4.1.18.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.18.tgz} - id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.18.tgz + file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz} + id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz name: '@rushstack/package-deps-hash' - version: 4.1.18 + version: 4.1.21 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-package-extractor-0.6.20.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.20.tgz} - id: file:../temp/tarballs/rushstack-package-extractor-0.6.20.tgz + file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz} + id: file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz name: '@rushstack/package-extractor' - version: 0.6.20 + version: 0.6.23 dependencies: '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.17.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) ignore: 5.1.9 jszip: 3.8.0 minimatch: 3.0.8 @@ -4586,42 +4585,42 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.112.2.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.112.2.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.112.2.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz name: '@rushstack/rush-sdk' - version: 5.112.2 + version: 5.113.0 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 tapable: 2.2.1 transitivePeerDependencies: - '@types/node' dev: false - file:../temp/tarballs/rushstack-stream-collator-4.1.18.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.18.tgz} - id: file:../temp/tarballs/rushstack-stream-collator-4.1.18.tgz + file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz} + id: file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz name: '@rushstack/stream-collator' - version: 4.1.18 + version: 4.1.21 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.17.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-terminal-0.7.17.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.17.tgz} - id: file:../temp/tarballs/rushstack-terminal-0.7.17.tgz + file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.20.tgz} + id: file:../temp/tarballs/rushstack-terminal-0.7.20.tgz name: '@rushstack/terminal' - version: 0.7.17 + version: 0.7.20 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.63.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@types/node': 18.17.15 file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz: From c3cb0624a6f0768da84b8327d1b702231ef385dc Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:10:04 -0800 Subject: [PATCH 015/180] Fix up "rush init" template and enable its creation --- .../common/config/rush/subspaces.json | 40 +++++++++---------- .../src/cli/actions/BaseInstallAction.ts | 2 +- .../rush-lib/src/cli/actions/InitAction.ts | 1 + 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json index 1b3647dbf62..21ebacc05ec 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json @@ -1,35 +1,35 @@ /** - * This is the main configuration file for Rush. + * This configuration file manages the experimental "subspaces" feature for Rush, + * which allows multiple PNPM lockfiles to be used in a single Rush workspace. * For full documentation, please see https://rushjs.io */ - { - /** - * Temporarily use the default schema until the subspaces schema is uploaded - */ +{ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/subspaces.schema.json", /** - * This specifies whether or not to use the "subspaces" feature in rush. This allows grouping of - * projects into discrete workspaces known as "subspaces". + * Set this flag to "true" to enable usage of subspaces. */ "enabled": false, /** - * (DEPRECATED) A property that allows subspace configuration files to be stored under project folders directly. - * Used for migrating from a split-workspace format where there may be a large number of individual lockfiles and - * starting subspaces. + * (DEPRECATED) This is a temporary workaround for migrating from an earlier prototype + * of this feature: https://github.com/microsoft/rushstack/pull/3481 + * It allows subspaces with only one project to store their config files in the project folder. */ - "splitWorkspaceCompatibility": false, + "splitWorkspaceCompatibility": false, - /** - * This allows for selecting all subspaces when no selector is provided. - */ - "preventSelectingAllSubspaces": false, + /** + * When a command such as "rush update" is invoked without the "--subspace" or "--to" + * parameters, Rush will install all subspaces. In a huge monorepo with numerous subspaces, + * this would be extremely slow. Set "preventSelectingAllSubspaces" to true to avoid this + * mistake by always requiring selection parameters for commands such as "rush update". + */ + "preventSelectingAllSubspaces": false, - /** - * The next field is an object describing the available subspaces in this workspace. Each individual subspace - * must be defined in this array. - */ + /** + * The list of subspace names, which should be lowercase alphanumeric words separated by + * hyphens, for example "my-subspace". The corresponding config files will have paths + * such as "common/config/subspaces/my-subspace/package-lock.yaml". + */ "subspaceNames": [] - } diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index a7468f44a13..3ec807deaa5 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -151,7 +151,7 @@ export abstract class BaseInstallAction extends BaseRushAction { } } else if (this._subspaceParameter.value) { // Selecting a single subspace - const selectedSubspace = this.rushConfiguration.getSubspace(this._subspaceParameter.value); + const selectedSubspace: Subspace = this.rushConfiguration.getSubspace(this._subspaceParameter.value); selectedSubspaces = new Set([selectedSubspace]); } else { // Selecting all subspaces if preventSelectingAllSubspaces is not enabled in subspaces.json diff --git a/libraries/rush-lib/src/cli/actions/InitAction.ts b/libraries/rush-lib/src/cli/actions/InitAction.ts index d20a17313dc..557a6e60ee1 100644 --- a/libraries/rush-lib/src/cli/actions/InitAction.ts +++ b/libraries/rush-lib/src/cli/actions/InitAction.ts @@ -177,6 +177,7 @@ export class InitAction extends BaseConfiglessRushAction { 'common/config/rush/experiments.json', 'common/config/rush/pnpm-config.json', 'common/config/rush/rush-plugins.json', + 'common/config/rush/subspaces.json', 'common/config/rush/version-policies.json', 'common/git-hooks/commit-msg.sample', From 9a8dfcfcacf0af981823aec979dbbedc93e918fe Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:14:18 -0800 Subject: [PATCH 016/180] Rename "enabled" to "subspacesEnabled" for consistency with buildCacheEnabled and cobuildFeatureEnabled --- common/reviews/api/rush-lib.api.md | 3 ++- .../assets/rush-init/common/config/rush/subspaces.json | 2 +- libraries/rush-lib/src/api/RushConfiguration.ts | 4 ++-- libraries/rush-lib/src/api/SubspacesConfiguration.ts | 10 +++++----- libraries/rush-lib/src/schemas/subspaces.schema.json | 4 ++-- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index 8c28b2f88e8..685de1635b4 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -1375,7 +1375,6 @@ export class Subspace { export class SubspacesConfiguration { // @internal static _convertNameToEnvironmentVariable(subspaceName: string, splitWorkspaceCompatibility: boolean): string; - readonly enabled: boolean; static explainIfInvalidSubspaceName(subspaceName: string, splitWorkspaceCompatibility?: boolean): string | undefined; readonly preventSelectingAllSubspaces: boolean; static requireValidSubspaceName(subspaceName: string, splitWorkspaceCompatibility?: boolean): void; @@ -1383,6 +1382,8 @@ export class SubspacesConfiguration { readonly subspaceJsonFilePath: string; readonly subspaceNames: ReadonlySet; // (undocumented) + readonly subspacesEnabled: boolean; + // (undocumented) static tryLoadFromConfigurationFile(subspaceJsonFilePath: string): SubspacesConfiguration | undefined; // (undocumented) static tryLoadFromDefaultLocation(rushConfiguration: RushConfiguration): SubspacesConfiguration | undefined; diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json index 21ebacc05ec..d3c3ae8c516 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/subspaces.json @@ -9,7 +9,7 @@ /** * Set this flag to "true" to enable usage of subspaces. */ - "enabled": false, + "subspacesEnabled": false, /** * (DEPRECATED) This is a temporary workaround for migrating from an earlier prototype diff --git a/libraries/rush-lib/src/api/RushConfiguration.ts b/libraries/rush-lib/src/api/RushConfiguration.ts index 0aaaa6e19a5..a203f3d873e 100644 --- a/libraries/rush-lib/src/api/RushConfiguration.ts +++ b/libraries/rush-lib/src/api/RushConfiguration.ts @@ -633,7 +633,7 @@ export class RushConfiguration { // Try getting a subspace configuration this.subspacesConfiguration = SubspacesConfiguration.tryLoadFromDefaultLocation(this); - this.subspacesFeatureEnabled = !!this.subspacesConfiguration?.enabled; + this.subspacesFeatureEnabled = !!this.subspacesConfiguration?.subspacesEnabled; this._subspacesByName = new Map(); @@ -860,7 +860,7 @@ export class RushConfiguration { // Build the subspaces map const subspaceNames: string[] = []; let splitWorkspaceCompatibility: boolean = false; - if (this.subspacesConfiguration?.enabled) { + if (this.subspacesConfiguration?.subspacesEnabled) { splitWorkspaceCompatibility = this.subspacesConfiguration.splitWorkspaceCompatibility; subspaceNames.push(...this.subspacesConfiguration.subspaceNames); diff --git a/libraries/rush-lib/src/api/SubspacesConfiguration.ts b/libraries/rush-lib/src/api/SubspacesConfiguration.ts index 9bfc883b82b..a23d0655220 100644 --- a/libraries/rush-lib/src/api/SubspacesConfiguration.ts +++ b/libraries/rush-lib/src/api/SubspacesConfiguration.ts @@ -21,7 +21,7 @@ export const SPLIT_WORKSPACE_SUBSPACE_NAME_REGEXP: RegExp = /^[a-z0-9][+_\-a-z0- * See subspace.schema.json for documentation. */ interface ISubspacesConfigurationJson { - enabled: boolean; + subspacesEnabled: boolean; splitWorkspaceCompatibility?: boolean; preventSelectingAllSubspaces?: boolean; subspaceNames: string[]; @@ -40,10 +40,10 @@ export class SubspacesConfiguration { */ public readonly subspaceJsonFilePath: string; - /** + /* * Determines if the subspace feature is enabled */ - public readonly enabled: boolean; + public readonly subspacesEnabled: boolean; /** * This determines if the subspaces feature supports adding configuration files under the project folder itself @@ -62,12 +62,12 @@ export class SubspacesConfiguration { private constructor(configuration: Readonly, subspaceJsonFilePath: string) { this.subspaceJsonFilePath = subspaceJsonFilePath; - this.enabled = configuration.enabled; + this.subspacesEnabled = configuration.subspacesEnabled; this.splitWorkspaceCompatibility = !!configuration.splitWorkspaceCompatibility; this.preventSelectingAllSubspaces = !!configuration.preventSelectingAllSubspaces; const subspaceNames: Set = new Set(); for (const subspaceName of configuration.subspaceNames) { - SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.enabled); + SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.subspacesEnabled); subspaceNames.add(subspaceName); } diff --git a/libraries/rush-lib/src/schemas/subspaces.schema.json b/libraries/rush-lib/src/schemas/subspaces.schema.json index 75a3722c2bf..5322a806a7b 100644 --- a/libraries/rush-lib/src/schemas/subspaces.schema.json +++ b/libraries/rush-lib/src/schemas/subspaces.schema.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Rush subspace config file.", - "description": "The configuration file for enabling the subspaces feature in rush. This is an EXPERIMENTAL feature which is not yet fully implemented. To opt into the experiemnt, simply toggle the 'enabled' property in this file.", + "description": "The configuration file for enabling the subspaces feature in rush. This is an EXPERIMENTAL feature which is not yet fully implemented. To opt into the experiment, simply toggle the 'enabled' property in this file.", "type": "object", "properties": { @@ -9,7 +9,7 @@ "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", "type": "string" }, - "enabled": { + "subspacesEnabled": { "description": "If true, rush will use the subspaces configuration.", "type": "boolean" }, From ccd9d89c04e01a03b316e7cd74699a9666b1894d Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:23:52 -0800 Subject: [PATCH 017/180] Update change file --- .../@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json b/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json index ea2781d918f..bd478971daa 100644 --- a/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json +++ b/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Fix issues with subspace targeted installs", + "comment": "(EXPERIMENTAL) Enable filtered installs of subspaces and add a \"preventSelectingAllSubspaces\" setting", "type": "none" } ], From fc5fff04d141909dd97a0ee2a9d7ed448e96a22d Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:34:14 -0800 Subject: [PATCH 018/180] Fix some code comments --- libraries/rush-lib/src/api/RushConfiguration.ts | 2 +- libraries/rush-lib/src/cli/actions/BaseInstallAction.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/src/api/RushConfiguration.ts b/libraries/rush-lib/src/api/RushConfiguration.ts index a203f3d873e..b1243d5dcee 100644 --- a/libraries/rush-lib/src/api/RushConfiguration.ts +++ b/libraries/rush-lib/src/api/RushConfiguration.ts @@ -353,7 +353,7 @@ export class RushConfiguration { public readonly subspacesConfiguration: SubspacesConfiguration | undefined; /** - * Returns true if subspaces.json is present with "enabled=true". + * Returns true if subspaces.json is present with "subspacesEnabled=true". */ public readonly subspacesFeatureEnabled: boolean; diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 3ec807deaa5..712fd7033d2 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -123,7 +123,7 @@ export abstract class BaseInstallAction extends BaseRushAction { // eslint-disable-next-line no-console console.log( colors.red( - `The "--subspace" parameter can only be passed if the "enabled" option is enabled in subspaces.json.` + `The "--subspace" parameter can only be passed if "subspacesEnabled" is set to true in subspaces.json.` ) ); throw new AlreadyReportedError(); From 7a4d754fb6ff8f4f287805437508cf50e252cc07 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:37:19 -0800 Subject: [PATCH 019/180] Fix a typo --- libraries/rush-lib/src/api/RushConfiguration.ts | 5 ++++- libraries/rush-lib/src/api/SubspacesConfiguration.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/src/api/RushConfiguration.ts b/libraries/rush-lib/src/api/RushConfiguration.ts index b1243d5dcee..793c38a8c19 100644 --- a/libraries/rush-lib/src/api/RushConfiguration.ts +++ b/libraries/rush-lib/src/api/RushConfiguration.ts @@ -1310,7 +1310,10 @@ export class RushConfiguration { const subspace: Subspace | undefined = this._subspacesByName.get(subspaceName); if (!subspace) { // If the name is not even valid, that is more important information than if the subspace doesn't exist - SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.subspacesFeatureEnabled); + SubspacesConfiguration.requireValidSubspaceName( + subspaceName, + this.subspacesConfiguration?.splitWorkspaceCompatibility + ); } return subspace; } diff --git a/libraries/rush-lib/src/api/SubspacesConfiguration.ts b/libraries/rush-lib/src/api/SubspacesConfiguration.ts index a23d0655220..fd18f6fa5a4 100644 --- a/libraries/rush-lib/src/api/SubspacesConfiguration.ts +++ b/libraries/rush-lib/src/api/SubspacesConfiguration.ts @@ -67,7 +67,7 @@ export class SubspacesConfiguration { this.preventSelectingAllSubspaces = !!configuration.preventSelectingAllSubspaces; const subspaceNames: Set = new Set(); for (const subspaceName of configuration.subspaceNames) { - SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.subspacesEnabled); + SubspacesConfiguration.requireValidSubspaceName(subspaceName, this.splitWorkspaceCompatibility); subspaceNames.add(subspaceName); } From ae7de71b93c3ac6e9162ca29b27b41418fabf01e Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 30 Jan 2024 22:53:11 -0800 Subject: [PATCH 020/180] Prepare to publish a PATCH release of Rush --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 08e0760911c..8c92eef40b3 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -103,7 +103,7 @@ "policyName": "rush", "definitionName": "lockStepVersion", "version": "5.113.0", - "nextBump": "minor", + "nextBump": "patch", "mainProject": "@microsoft/rush" } ] From a89ad4069c59f8290497935a79f167d98eba1e56 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 07:07:50 +0000 Subject: [PATCH 021/180] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 12 ++++++++++++ apps/rush/CHANGELOG.md | 9 ++++++++- .../rush/will-subspace-patch-1_2024-01-31-03-00.json | 10 ---------- 3 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 2c66bef0f78..54662c63bb6 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.113.1", + "tag": "@microsoft/rush_v5.113.1", + "date": "Wed, 31 Jan 2024 07:07:50 GMT", + "comments": { + "none": [ + { + "comment": "(EXPERIMENTAL) Enable filtered installs of subspaces and add a \"preventSelectingAllSubspaces\" setting" + } + ] + } + }, { "version": "5.113.0", "tag": "@microsoft/rush_v5.113.0", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index 1b2ffe56bda..7a806ddd5c7 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/rush -This log was last generated on Tue, 30 Jan 2024 22:58:52 GMT and should not be manually modified. +This log was last generated on Wed, 31 Jan 2024 07:07:50 GMT and should not be manually modified. + +## 5.113.1 +Wed, 31 Jan 2024 07:07:50 GMT + +### Updates + +- (EXPERIMENTAL) Enable filtered installs of subspaces and add a "preventSelectingAllSubspaces" setting ## 5.113.0 Tue, 30 Jan 2024 22:58:52 GMT diff --git a/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json b/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json deleted file mode 100644 index bd478971daa..00000000000 --- a/common/changes/@microsoft/rush/will-subspace-patch-1_2024-01-31-03-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "(EXPERIMENTAL) Enable filtered installs of subspaces and add a \"preventSelectingAllSubspaces\" setting", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From 4671ed6f8f219b97fcee758bc03236e336d1f684 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 07:07:52 +0000 Subject: [PATCH 022/180] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- rush-plugins/rush-http-build-cache-plugin/package.json | 2 +- rush-plugins/rush-redis-cobuild-plugin/package.json | 2 +- rush-plugins/rush-serve-plugin/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 8cea78b7c1a..0feff72abf7 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.113.0", + "version": "5.113.1", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 8c92eef40b3..a4612faeeda 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.113.0", + "version": "5.113.1", "nextBump": "patch", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index e7a9495fee6..a219208b30d 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.113.0", + "version": "5.113.1", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index fa864420b51..463c08b7fcd 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.113.0", + "version": "5.113.1", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index 2344f36b5ed..f73ac70ec24 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.113.0", + "version": "5.113.1", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index 9539c510cf4..674e3c959d0 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.113.0", + "version": "5.113.1", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index b6de997759a..ffed4fafd8d 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-http-build-cache-plugin", - "version": "5.113.0", + "version": "5.113.1", "description": "Rush plugin for generic HTTP cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index f2b8e428f45..998dbccc681 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-redis-cobuild-plugin", - "version": "5.113.0", + "version": "5.113.1", "description": "Rush plugin for Redis cobuild lock", "repository": { "type": "git", diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index 9a20d2bc90f..08750ac4b8a 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-serve-plugin", - "version": "5.113.0", + "version": "5.113.1", "description": "A Rush plugin that hooks into a rush action and serves output folders from all projects in the repository.", "license": "MIT", "repository": { From 62b7c1e4b22da25cd8e50531c9b2d4ec9551023f Mon Sep 17 00:00:00 2001 From: William Huang Date: Wed, 31 Jan 2024 16:39:26 +0800 Subject: [PATCH 023/180] Minor fixes for subspaces --- .../rush/will-subspace-patch-2_2024-01-31-08-39.json | 10 ++++++++++ .../rush-lib/src/cli/actions/BaseInstallAction.ts | 1 + .../logic/installManager/WorkspaceInstallManager.ts | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json diff --git a/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json b/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json new file mode 100644 index 00000000000..3dfd6fb369d --- /dev/null +++ b/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Minor fixes for subspaces", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 712fd7033d2..8003f198dd7 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -167,6 +167,7 @@ export abstract class BaseInstallAction extends BaseRushAction { ` passed by the "--subspace" parameter or selected from targeted projects using any project selector.` ) ); + throw new AlreadyReportedError(); } } } diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index a800c9d67b0..26ea11c1cb6 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -267,7 +267,7 @@ export class WorkspaceInstallManager extends BaseInstallManager { // get the relative path from common temp folder to repo root folder const relativeFromTempFolderToRootFolder: string = path.relative(commonTempFolder, rushJsonFolder); for (const rushProject of this.rushConfiguration.projects) { - if (subspace.contains(rushProject)) { + if (!subspace.contains(rushProject)) { // skip processing any project that isn't in this subspace continue; } From db6eb86db01223fd062c418cfc5c96dd9333b941 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 31 Jan 2024 10:30:51 -0800 Subject: [PATCH 024/180] Prepare to publish a PATCH version of Rush --- .../@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json b/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json index 3dfd6fb369d..7a17254201d 100644 --- a/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json +++ b/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Minor fixes for subspaces", + "comment": "Fix some minor issues when the experimental subspaces feature is enabled", "type": "none" } ], From a9aae3bf82bd619b63cbe8b82973c13d0707bd83 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 18:45:33 +0000 Subject: [PATCH 025/180] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 12 ++++++++++++ apps/rush/CHANGELOG.md | 9 ++++++++- .../rush/will-subspace-patch-2_2024-01-31-08-39.json | 10 ---------- 3 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 54662c63bb6..29b04391a9a 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.113.2", + "tag": "@microsoft/rush_v5.113.2", + "date": "Wed, 31 Jan 2024 18:45:33 GMT", + "comments": { + "none": [ + { + "comment": "Fix some minor issues when the experimental subspaces feature is enabled" + } + ] + } + }, { "version": "5.113.1", "tag": "@microsoft/rush_v5.113.1", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index 7a806ddd5c7..f35ec98c142 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/rush -This log was last generated on Wed, 31 Jan 2024 07:07:50 GMT and should not be manually modified. +This log was last generated on Wed, 31 Jan 2024 18:45:33 GMT and should not be manually modified. + +## 5.113.2 +Wed, 31 Jan 2024 18:45:33 GMT + +### Updates + +- Fix some minor issues when the experimental subspaces feature is enabled ## 5.113.1 Wed, 31 Jan 2024 07:07:50 GMT diff --git a/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json b/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json deleted file mode 100644 index 7a17254201d..00000000000 --- a/common/changes/@microsoft/rush/will-subspace-patch-2_2024-01-31-08-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Fix some minor issues when the experimental subspaces feature is enabled", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From 5491b952ad8dabb910a0bd570062e7821564d017 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 18:45:35 +0000 Subject: [PATCH 026/180] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- rush-plugins/rush-http-build-cache-plugin/package.json | 2 +- rush-plugins/rush-redis-cobuild-plugin/package.json | 2 +- rush-plugins/rush-serve-plugin/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 0feff72abf7..08a82beb521 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.113.1", + "version": "5.113.2", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index a4612faeeda..df193468cc5 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.113.1", + "version": "5.113.2", "nextBump": "patch", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index a219208b30d..b16a42d9bc2 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.113.1", + "version": "5.113.2", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 463c08b7fcd..4a1fe87dd92 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.113.1", + "version": "5.113.2", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index f73ac70ec24..c64a151cd45 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.113.1", + "version": "5.113.2", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index 674e3c959d0..b7dd86c2134 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.113.1", + "version": "5.113.2", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index ffed4fafd8d..92163135926 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-http-build-cache-plugin", - "version": "5.113.1", + "version": "5.113.2", "description": "Rush plugin for generic HTTP cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index 998dbccc681..b92cc28af0c 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-redis-cobuild-plugin", - "version": "5.113.1", + "version": "5.113.2", "description": "Rush plugin for Redis cobuild lock", "repository": { "type": "git", diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index 08750ac4b8a..b228b6191d1 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-serve-plugin", - "version": "5.113.1", + "version": "5.113.2", "description": "A Rush plugin that hooks into a rush action and serves output folders from all projects in the repository.", "license": "MIT", "repository": { From 26b01aa822c9b63dcc98b657da3cddbaf4bde495 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 16:17:03 -0500 Subject: [PATCH 027/180] Clean up install-test-workspace and put the store in ./temp --- build-tests/install-test-workspace/build.js | 27 +++++------ .../workspace/common/pnpm-lock.yaml | 45 ++++++++----------- 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/build-tests/install-test-workspace/build.js b/build-tests/install-test-workspace/build.js index 43bfa168771..62674aae519 100644 --- a/build-tests/install-test-workspace/build.js +++ b/build-tests/install-test-workspace/build.js @@ -1,4 +1,3 @@ -const path = require('path'); const { RushConfiguration } = require('@microsoft/rush-lib'); const { Executable, FileSystem, JsonFile } = require('@rushstack/node-core-library'); @@ -44,9 +43,11 @@ if (!currentProject) { const allDependencyProjects = new Set(); collect(currentProject); -const tarballFolder = path.join(__dirname, 'temp/tarballs'); +const tempFolderPath = `${__dirname}/temp`; +const tarballFolder = `${tempFolderPath}/tarballs`; if (!skipPack) { + FileSystem.ensureEmptyFolder(tempFolderPath); FileSystem.ensureEmptyFolder(tarballFolder); const tarballsJson = {}; @@ -55,7 +56,7 @@ if (!skipPack) { if (project.versionPolicy || project.shouldPublish) { console.log('Invoking "pnpm pack" in ' + project.publishFolder); - const packageJsonFilename = path.join(project.projectFolder, 'package.json'); + const packageJsonFilename = `${project.projectFolder}/package.json`; const packageJson = FileSystem.readFile(packageJsonFilename); let result; @@ -79,14 +80,14 @@ if (!skipPack) { if (!tarballFilename) { throw new Error('Failed to parse "pnpm pack" output'); } - const tarballPath = path.join(project.publishFolder, tarballFilename); + const tarballPath = `${project.publishFolder}/${tarballFilename}`; if (!FileSystem.exists(tarballPath)) { throw new Error('Expecting a tarball: ' + tarballPath); } tarballsJson[project.packageName] = tarballFilename; - const targetPath = path.join(tarballFolder, tarballFilename); + const targetPath = `${tarballFolder}/${tarballFilename}`; FileSystem.move({ sourcePath: tarballPath, destinationPath: targetPath, @@ -95,28 +96,28 @@ if (!skipPack) { } } - JsonFile.save(tarballsJson, path.join(tarballFolder, 'tarballs.json')); + JsonFile.save(tarballsJson, `${tarballFolder}/tarballs.json`); } // Look for folder names like this: // local+C++Git+rushstack+build-tests+install-test-wo_7efa61ad1cd268a0ef451c2450ca0351 // // This caches the tarball contents, ignoring the integrity hashes. -const dotPnpmFolderPath = path.resolve(__dirname, 'workspace/node_modules/.pnpm'); +const dotPnpmFolderPath = `${__dirname}/workspace/node_modules/.pnpm`; console.log('\nCleaning cached tarballs...'); if (FileSystem.exists(dotPnpmFolderPath)) { for (const filename of FileSystem.readFolderItemNames(dotPnpmFolderPath)) { if (filename.startsWith('local+')) { - const filePath = path.join(dotPnpmFolderPath, filename); + const filePath = `${dotPnpmFolderPath}/${filename}`; console.log(' Deleting ' + filePath); FileSystem.deleteFolder(filePath); } } } -const pnpmLockBeforePath = path.join(__dirname, 'workspace/common/pnpm-lock.yaml'); -const pnpmLockAfterPath = path.join(__dirname, 'workspace/pnpm-lock.yaml'); +const pnpmLockBeforePath = `${__dirname}/workspace/common/pnpm-lock.yaml`; +const pnpmLockAfterPath = `${__dirname}/workspace/pnpm-lock.yaml`; let pnpmLockBeforeContent = ''; if (FileSystem.exists(pnpmLockBeforePath)) { @@ -134,7 +135,7 @@ if (FileSystem.exists(pnpmLockBeforePath)) { const pnpmInstallArgs = [ 'install', '--store', - rushConfiguration.pnpmOptions.pnpmStorePath, + `${__dirname}/temp/pnpm-store`, '--strict-peer-dependencies', '--recursive', '--link-workspace-packages=false', @@ -151,7 +152,7 @@ console.log(' pnpm ' + pnpmInstallArgs.join(' ')); checkSpawnResult( Executable.spawnSync(rushConfiguration.packageManagerToolFilename, pnpmInstallArgs, { - currentWorkingDirectory: path.join(__dirname, 'workspace'), + currentWorkingDirectory: `${__dirname}/workspace`, stdio: ['ignore', 'inherit', 'inherit'] }), 'pnpm install' @@ -190,7 +191,7 @@ console.log('\nBuilding projects...\n'); checkSpawnResult( Executable.spawnSync(rushConfiguration.packageManagerToolFilename, ['run', '--recursive', 'build'], { - currentWorkingDirectory: path.join(__dirname, 'workspace'), + currentWorkingDirectory: `${__dirname}/workspace`, stdio: ['ignore', 'inherit', 'inherit'] }), 'pnpm run' diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 4615e183854..bb1fe546a34 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -11,8 +11,8 @@ importers: rush-lib-test: dependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.0.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.2.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 @@ -30,15 +30,15 @@ importers: rush-sdk-test: dependencies: '@rushstack/rush-sdk': - specifier: file:rushstack-rush-sdk-5.113.0.tgz - version: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz(@types/node@18.17.15) + specifier: file:rushstack-rush-sdk-5.113.2.tgz + version: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 devDependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.0.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.2.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15) '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -234,7 +234,7 @@ packages: debug: 4.3.4 espree: 9.3.2 globals: 13.15.0 - ignore: 5.2.0 + ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1649,7 +1649,7 @@ packages: dependencies: acorn: 8.7.1 acorn-jsx: 5.3.2(acorn@8.7.1) - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -1822,9 +1822,6 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -2062,7 +2059,8 @@ packages: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 + dev: true /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} @@ -2252,11 +2250,6 @@ packages: dependencies: ci-info: 2.0.0 - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: @@ -3423,7 +3416,7 @@ packages: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: - is-core-module: 2.11.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -4245,11 +4238,11 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.113.0.tgz + file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz name: '@microsoft/rush-lib' - version: 5.113.0 + version: 5.113.2 engines: {node: '>=5.6.0'} dependencies: '@pnpm/dependency-path': 2.1.2 @@ -4585,11 +4578,11 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.113.0.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz name: '@rushstack/rush-sdk' - version: 5.113.0 + version: 5.113.2 dependencies: '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 From cfa7cb2357ef61bffe14ee19f69425e22928ed91 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 16:45:00 -0500 Subject: [PATCH 028/180] Fix an issue with pnpm-lock.yaml not getting synced back. --- .../changes/@microsoft/rush/main_2024-01-31-21-44.json | 10 ++++++++++ .../logic/installManager/WorkspaceInstallManager.ts | 9 +++++---- 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 common/changes/@microsoft/rush/main_2024-01-31-21-44.json diff --git a/common/changes/@microsoft/rush/main_2024-01-31-21-44.json b/common/changes/@microsoft/rush/main_2024-01-31-21-44.json new file mode 100644 index 00000000000..3cf96298765 --- /dev/null +++ b/common/changes/@microsoft/rush/main_2024-01-31-21-44.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fix an issue where `rush update` would sometimes not correctly sync the `pnpm-lock.yaml` file back to `common/config/rush/` after a project's `package.json` has been updated.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index 26ea11c1cb6..5784bca4956 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -303,10 +303,11 @@ export class WorkspaceInstallManager extends BaseInstallManager { } // Now, we compare these two objects to see if they are equal or not - shrinkwrapIsUpToDate = objectsAreDeepEqual( - packagePathToDependenciesMetaInPackageJson, - packagePathToDependenciesMetaInShrinkwrapFile - ); + shrinkwrapIsUpToDate = + objectsAreDeepEqual( + packagePathToDependenciesMetaInPackageJson, + packagePathToDependenciesMetaInShrinkwrapFile + ) && shrinkwrapIsUpToDate; } // Write the common package.json From fbf6e80685a48c5a4d22f417924e32343920c814 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Wed, 31 Jan 2024 14:04:17 -0800 Subject: [PATCH 029/180] fix: update pnpm-sync-lib --- common/config/rush/pnpm-lock.yaml | 282 +---------------------------- common/config/rush/repo-state.json | 2 +- libraries/rush-lib/package.json | 2 +- 3 files changed, 12 insertions(+), 274 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index bd81c2d173a..c0f148ff698 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1777,7 +1777,7 @@ importers: version: 29.5.11 '@types/node': specifier: ts4.9 - version: 20.11.10 + version: 20.11.14 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -3208,8 +3208,8 @@ importers: specifier: ~6.1.0 version: 6.1.1 pnpm-sync-lib: - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.1.0 + version: 0.1.0 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -4496,29 +4496,6 @@ packages: - supports-color dev: false - /@azure/core-http@2.3.2: - resolution: {integrity: sha512-Z4dfbglV9kNZO177CNx4bo5ekFuYwwsvjLiKdZI4r84bYGv3irrbQz7JC3/rUfFH2l4T/W6OFleJaa2X0IaQqw==} - engines: {node: '>=14.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.4.0 - '@azure/logger': 1.0.4 - '@types/node-fetch': 2.6.2 - '@types/tunnel': 0.0.3 - form-data: 4.0.0 - node-fetch: 2.6.7 - process: 0.11.10 - tough-cookie: 4.1.3 - tslib: 2.3.1 - tunnel: 0.0.6 - uuid: 8.3.2 - xml2js: 0.5.0 - transitivePeerDependencies: - - encoding - dev: false - /@azure/core-http@3.0.4: resolution: {integrity: sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==} engines: {node: '>=14.0.0'} @@ -4598,30 +4575,6 @@ packages: tslib: 2.3.1 dev: false - /@azure/identity@2.1.0: - resolution: {integrity: sha512-BPDz1sK7Ul9t0l9YKLEa8PHqWU4iCfhGJ+ELJl6c8CP3TpJt2urNCbm0ZHsthmxRsYoMPbz2Dvzj30zXZVmAFw==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.5.0 - '@azure/core-client': 1.7.3 - '@azure/core-rest-pipeline': 1.12.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.4.0 - '@azure/logger': 1.0.4 - '@azure/msal-browser': 2.38.3 - '@azure/msal-common': 7.6.0 - '@azure/msal-node': 1.18.4 - events: 3.3.0 - jws: 4.0.0 - open: 8.4.2 - stoppable: 1.1.0 - tslib: 2.3.1 - uuid: 8.3.2 - transitivePeerDependencies: - - supports-color - dev: false - /@azure/identity@4.0.0: resolution: {integrity: sha512-gtPYxIL0kI39Dw4t3HvlbfhOdXqKD2MqDgynlklF0j728j51dcKgRo6FLX0QzpBw/1gGfLxjMXqq3nKOSQ2lmA==} engines: {node: '>=18.0.0'} @@ -4651,14 +4604,6 @@ packages: tslib: 2.3.1 dev: false - /@azure/msal-browser@2.38.3: - resolution: {integrity: sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==} - engines: {node: '>=0.8.0'} - deprecated: A newer major version of this library is available. Please upgrade to the latest available version. - dependencies: - '@azure/msal-common': 13.3.1 - dev: false - /@azure/msal-browser@3.5.0: resolution: {integrity: sha512-2NtMuel4CI3UEelCPKkNRXgKzpWEX48fvxIvPz7s0/sTcCaI08r05IOkH2GkXW+czUOtuY6+oGafJCpumnjRLg==} engines: {node: '>=0.8.0'} @@ -4666,31 +4611,11 @@ packages: '@azure/msal-common': 14.4.0 dev: false - /@azure/msal-common@13.3.1: - resolution: {integrity: sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==} - engines: {node: '>=0.8.0'} - dev: false - /@azure/msal-common@14.4.0: resolution: {integrity: sha512-ffCymScQuMKVj+YVfwNI52A5Tu+uiZO2eTf+c+3TXxdAssks4nokJhtr+uOOMxH0zDi6d1OjFKFKeXODK0YLSg==} engines: {node: '>=0.8.0'} dev: false - /@azure/msal-common@7.6.0: - resolution: {integrity: sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==} - engines: {node: '>=0.8.0'} - dev: false - - /@azure/msal-node@1.18.4: - resolution: {integrity: sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==} - engines: {node: 10 || 12 || 14 || 16 || 18} - deprecated: A newer major version of this library is available. Please upgrade to the latest available version. - dependencies: - '@azure/msal-common': 13.3.1 - jsonwebtoken: 9.0.1 - uuid: 8.3.2 - dev: false - /@azure/msal-node@2.5.1: resolution: {integrity: sha512-PsPRISqCG253HQk1cAS7eJW7NWTbnBGpG+vcGGz5z4JYRdnM2EIXlj1aBpXCdozenEPtXEVvHn2ELleW1w82nQ==} engines: {node: 16|| 18 || 20} @@ -4700,22 +4625,6 @@ packages: uuid: 8.3.2 dev: false - /@azure/storage-blob@12.11.0: - resolution: {integrity: sha512-na+FisoARuaOWaHWpmdtk3FeuTWf2VWamdJ9/TJJzj5ZdXPLC3juoDgFs6XVuJIoK30yuBpyFBEDXVRK4pB7Tg==} - engines: {node: '>=12.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-http': 2.3.2 - '@azure/core-lro': 2.5.4 - '@azure/core-paging': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.0.4 - events: 3.3.0 - tslib: 2.3.1 - transitivePeerDependencies: - - encoding - dev: false - /@azure/storage-blob@12.17.0: resolution: {integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==} engines: {node: '>=14.0.0'} @@ -8752,55 +8661,6 @@ packages: resolution: {integrity: sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==} dev: false - /@microsoft/rush-lib@5.110.2: - resolution: {integrity: sha512-ziDevrCA9Sn6tYpYfIBeJKy/5npTlL+4caXQ2BGrENQ/JPR/zIpSZprOPJxG4b2XTCdljE6CByOvgbjNel7pWQ==} - engines: {node: '>=5.6.0'} - dependencies: - '@pnpm/dependency-path': 2.1.3 - '@pnpm/link-bins': 5.3.25 - '@rushstack/heft-config-file': 0.14.2 - '@rushstack/node-core-library': 3.61.0 - '@rushstack/package-deps-hash': 4.1.12 - '@rushstack/package-extractor': 0.6.14 - '@rushstack/rig-package': 0.5.1 - '@rushstack/rush-amazon-s3-build-cache-plugin': 5.110.2 - '@rushstack/rush-azure-storage-build-cache-plugin': 5.110.2 - '@rushstack/rush-http-build-cache-plugin': 5.110.2 - '@rushstack/stream-collator': 4.1.13 - '@rushstack/terminal': 0.7.12 - '@rushstack/ts-command-line': 4.17.1 - '@types/node-fetch': 2.6.2 - '@yarnpkg/lockfile': 1.0.2 - builtin-modules: 3.1.0 - cli-table: 0.3.11 - colors: 1.2.5 - dependency-path: 9.2.8 - fast-glob: 3.3.1 - figures: 3.0.0 - git-repo-info: 2.1.1 - glob-escape: 0.0.2 - https-proxy-agent: 5.0.1 - ignore: 5.1.9 - inquirer: 7.3.3 - js-yaml: 3.13.1 - node-fetch: 2.6.7 - npm-check: 6.0.1 - npm-package-arg: 6.1.1 - read-package-tree: 5.1.6 - rxjs: 6.6.7 - semver: 7.5.4 - ssri: 8.0.1 - strict-uri-encode: 2.0.0 - tapable: 2.2.1 - tar: 6.1.15 - true-case-path: 2.2.1 - uuid: 8.3.2 - transitivePeerDependencies: - - '@types/node' - - encoding - - supports-color - dev: false - /@microsoft/teams-js@1.3.0-beta.4: resolution: {integrity: sha512-AxDfMpiVqh3hsqTxMEYtQoz866WB/sw/Jl0pgTLh6sMHHmIBNMd+E0pVcP9WNk8zTkr9LCphJ5SziU1C8BgZMA==} dev: true @@ -9694,17 +9554,6 @@ packages: - '@types/node' dev: true - /@rushstack/heft-config-file@0.14.2: - resolution: {integrity: sha512-X29DqXN6dyvkZm4hIewFkCCub1lxY8LPsyWSYqkuZ1E5f70ibKBp8P+nf2QzjQ7XcJzqDuq5fWrvPzi5N6M5lg==} - engines: {node: '>=10.13.0'} - dependencies: - '@rushstack/node-core-library': 3.61.0 - '@rushstack/rig-package': 0.5.1 - jsonpath-plus: 4.0.0 - transitivePeerDependencies: - - '@types/node' - dev: false - /@rushstack/heft-config-file@0.14.4(@types/node@18.17.15): resolution: {integrity: sha512-qC9xIh/zaj2g1Jp58uvsuW6FtKOQm8ETynE7DJybtBguhBf2F6f//l8BZBX7UTzW3rwoHyGsQpbp97PulPjZKg==} engines: {node: '>=10.13.0'} @@ -9905,23 +9754,6 @@ packages: - '@types/node' dev: true - /@rushstack/node-core-library@3.61.0: - resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.4 - semver: 7.5.4 - z-schema: 5.0.5 - dev: false - /@rushstack/node-core-library@3.63.0(@types/node@18.17.15): resolution: {integrity: sha512-Q7B3dVpBQF1v+mUfxNcNZh5uHVR8ntcnkN5GYjbBLrxUYHBGKbnCM+OdcN+hzCpFlLBH6Ob0dEHhZ0spQwf24A==} peerDependencies: @@ -9968,29 +9800,6 @@ packages: '@types/node': 18.17.15 dev: true - /@rushstack/package-deps-hash@4.1.12: - resolution: {integrity: sha512-zSW7koJEWo+GZNnAzwbMnLglSUsXm2kysOpEvErv9Z/+HzkCadfbc0t5fpObFK5Nb3ORe4aywxKM3SioTIVINQ==} - dependencies: - '@rushstack/node-core-library': 3.61.0 - transitivePeerDependencies: - - '@types/node' - dev: false - - /@rushstack/package-extractor@0.6.14: - resolution: {integrity: sha512-x+7054WlJSfzU8ItW3rHP2R3fqMep91Rpi1DINLNv5D0LqpkoPRzAY8go+WF7/pTZdXkYvCLMae+jkST/ZiK/g==} - dependencies: - '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': 3.61.0 - '@rushstack/terminal': 0.7.12 - ignore: 5.1.9 - jszip: 3.8.0 - minimatch: 3.0.8 - npm-packlist: 2.1.5 - semver: 7.5.4 - transitivePeerDependencies: - - '@types/node' - dev: false - /@rushstack/package-extractor@0.6.23: resolution: {integrity: sha512-ySRr7yLFWwibh7XPqDokMK7N6UAfT+j+34JoP+Ta6oKYcDqFRqW/lbV923wW26rrx7L8lHQOldUDskIssn39dw==} dependencies: @@ -10011,56 +9820,7 @@ packages: dependencies: resolve: 1.22.4 strip-json-comments: 3.1.1 - - /@rushstack/rush-amazon-s3-build-cache-plugin@5.110.2: - resolution: {integrity: sha512-+5umzm67JPjzcLqmrXtkwzu9qpZo4Ish23GZy39SnD312IF9PrdaP2WP/AtV/EdXEciFNW4P8dpmnaHYUXg3Fg==} - dependencies: - '@rushstack/node-core-library': 3.61.0 - '@rushstack/rush-sdk': 5.110.2 - https-proxy-agent: 5.0.1 - node-fetch: 2.6.7 - transitivePeerDependencies: - - '@types/node' - - encoding - - supports-color - dev: false - - /@rushstack/rush-azure-storage-build-cache-plugin@5.110.2: - resolution: {integrity: sha512-w6YtTSzbhTUEWFlIKvoi+5Wj0jv539moPJGKFjwtE+LlZTEteNb6I024BDMhAZ4IEwGyNSV9dbT0kLeOQDhuOQ==} - dependencies: - '@azure/identity': 2.1.0 - '@azure/storage-blob': 12.11.0 - '@rushstack/node-core-library': 3.61.0 - '@rushstack/rush-sdk': 5.110.2 - '@rushstack/terminal': 0.7.12 - transitivePeerDependencies: - - '@types/node' - - encoding - - supports-color - dev: false - - /@rushstack/rush-http-build-cache-plugin@5.110.2: - resolution: {integrity: sha512-JkOnCQkvQrGMM4h55McYKIvgAVS+z0AOl2+VKiiJd00GF1v6bq5zYaRXgbIIcnoPy53F8qrv+MUvzVjHnIzS2A==} - dependencies: - '@rushstack/node-core-library': 3.61.0 - '@rushstack/rush-sdk': 5.110.2 - https-proxy-agent: 5.0.1 - node-fetch: 2.6.7 - transitivePeerDependencies: - - '@types/node' - - encoding - - supports-color - dev: false - - /@rushstack/rush-sdk@5.110.2: - resolution: {integrity: sha512-xvULJf7gsELXMvFMbb/9m1nvP9v9TON4LmbDUKv3kleHiV2+rJoZhtUh2UJ1PIkeVCxXmM54BKkrNN+bWGJ6Dw==} - dependencies: - '@rushstack/node-core-library': 3.61.0 - '@types/node-fetch': 2.6.2 - tapable: 2.2.1 - transitivePeerDependencies: - - '@types/node' - dev: false + dev: true /@rushstack/set-webpack-public-path-plugin@4.1.16(@types/node@18.17.15)(@types/webpack@4.41.32)(webpack@4.47.0): resolution: {integrity: sha512-9YD76OHSYr3pqJwc3wcxIFL1kSxPUyw3xThaZrJDBumMRdAEx7Wj3J0xkPtri5BS06yi49fIC1Di75CxeworzA==} @@ -10077,26 +9837,6 @@ packages: - '@types/node' - webpack - /@rushstack/stream-collator@4.1.13: - resolution: {integrity: sha512-jE0MZSFtsrhYjig4XSuh3J+4R60tAUwpDt+PtD89z7OR6eQOpL19HrTuEaaPph9p0yyurGBRfafLs168wL/BIQ==} - dependencies: - '@rushstack/node-core-library': 3.61.0 - '@rushstack/terminal': 0.7.12 - transitivePeerDependencies: - - '@types/node' - dev: false - - /@rushstack/terminal@0.7.12: - resolution: {integrity: sha512-wTiQvgcdxAmw29m6+2l3P2KnXYm9AL0DwgjOnBf5+yoiFq6sRYUlEZYGicbrjC/dhILd2cXK9vqnsvk36WRHYQ==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 3.61.0 - dev: false - /@rushstack/terminal@0.7.20: resolution: {integrity: sha512-e23GExH43r1VSpcudhvXNlatjDn/jZiajaW3Bs/Nd9wyRPsWxs1b+6iEFdZSDoBDRwAKxrSv96no9qCszOSmkQ==} peerDependencies: @@ -10119,6 +9859,7 @@ packages: argparse: 1.0.10 colors: 1.2.5 string-argv: 0.3.2 + dev: true /@rushstack/webpack-plugin-utilities@0.3.16(@types/webpack@4.41.32)(webpack@4.47.0): resolution: {integrity: sha512-0Xb0GESYEyv6Q7hzANZ8RIWa3seiJiCKBNNG83znQwMZ9l0bfnoJzZ3cYODkofoK0E8/nr4hTsn/pWKommf6Mw==} @@ -11937,8 +11678,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.10: - resolution: {integrity: sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==} + /@types/node@20.11.14: + resolution: {integrity: sha512-w3yWCcwULefjP9DmDDsgUskrMoOy5Z8MiwKHr1FvqGPtx7CvJzQvxD7eKpxNtklQxLruxSXWddyeRtyud0RcXQ==} dependencies: undici-types: 5.26.5 dev: true @@ -21882,18 +21623,15 @@ packages: - typescript dev: true - /pnpm-sync-lib@0.0.2: - resolution: {integrity: sha512-RcZfh6xmM4cKaDOAcOj/K9McJJXIyFs/lbSniZWfHEGyPzESHZ34Y2XiGPh1Z0Tx5yVD1UFjXt9ITsa3wefRmQ==} + /pnpm-sync-lib@0.1.0: + resolution: {integrity: sha512-s+LzY+TElBBMPMRTQJWsWxvMIXqHgiDhmKp4F0ZvNlBnnB0MAQjsyARtJm29NlJiDT+TX3L1FSCFi8HEooAAEw==} dependencies: - '@microsoft/rush-lib': 5.110.2 '@pnpm/lockfile-file': 8.1.6(@pnpm/logger@5.0.0) '@pnpm/logger': 5.0.0 - '@rushstack/node-core-library': 3.63.0(@types/node@18.17.15) + '@rushstack/node-core-library': 3.64.2 '@rushstack/package-extractor': 0.6.23 transitivePeerDependencies: - '@types/node' - - encoding - - supports-color dev: false /polished@4.2.2: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 673c1cb4970..ad4016d6181 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "f03cbbd5d270dc888897c311d74c9a33ff71b5d3", + "pnpmShrinkwrapHash": "3bceb357183173e58aa624d2fc84bdc450e84f2e", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 66b7469424f..8294427d161 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -58,7 +58,7 @@ "tar": "~6.1.11", "true-case-path": "~2.2.1", "uuid": "~8.3.2", - "pnpm-sync-lib": "0.0.2" + "pnpm-sync-lib": "0.1.0" }, "devDependencies": { "@pnpm/logger": "4.0.0", From 03e0f15554ac173b31fe3c577d2131ff9a7d0fa9 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 16:15:53 -0500 Subject: [PATCH 030/180] Fix caching in a few projects. --- .../config/rush-project.json | 11 +++++++++++ .../heft-storybook-react-tutorial-app/package.json | 2 +- .../api-extractor-d-cts-test/config/rush-project.json | 2 +- .../api-extractor-d-mts-test/config/rush-project.json | 2 +- .../eslint-config/fix-caching_2024-01-31-21-18.json | 11 +++++++++++ eslint/eslint-config/config/rush-project.json | 2 +- 6 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 build-tests-samples/heft-storybook-react-tutorial-app/config/rush-project.json create mode 100644 common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json diff --git a/build-tests-samples/heft-storybook-react-tutorial-app/config/rush-project.json b/build-tests-samples/heft-storybook-react-tutorial-app/config/rush-project.json new file mode 100644 index 00000000000..b0ee347694e --- /dev/null +++ b/build-tests-samples/heft-storybook-react-tutorial-app/config/rush-project.json @@ -0,0 +1,11 @@ +// This file exists for caching purposes in the rushstack repo +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-project.schema.json", + + "operationSettings": [ + { + "operationName": "_phase:build", + "outputFolderNames": ["dist"] + } + ] +} diff --git a/build-tests-samples/heft-storybook-react-tutorial-app/package.json b/build-tests-samples/heft-storybook-react-tutorial-app/package.json index ac0b725d710..4de772bbf20 100644 --- a/build-tests-samples/heft-storybook-react-tutorial-app/package.json +++ b/build-tests-samples/heft-storybook-react-tutorial-app/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "build": "heft build --clean --storybook", - "_phase:build": "heft run --only build -- --clean", + "_phase:build": "heft run --only build -- --clean --storybook", "_phase:test": "" }, "dependencies": { diff --git a/build-tests/api-extractor-d-cts-test/config/rush-project.json b/build-tests/api-extractor-d-cts-test/config/rush-project.json index 2af7036b0ef..514e557d5eb 100644 --- a/build-tests/api-extractor-d-cts-test/config/rush-project.json +++ b/build-tests/api-extractor-d-cts-test/config/rush-project.json @@ -3,7 +3,7 @@ "operationSettings": [ { - "operationName": "build", + "operationName": "_phase:build", "outputFolderNames": ["lib", "dist"] } ] diff --git a/build-tests/api-extractor-d-mts-test/config/rush-project.json b/build-tests/api-extractor-d-mts-test/config/rush-project.json index 2af7036b0ef..514e557d5eb 100644 --- a/build-tests/api-extractor-d-mts-test/config/rush-project.json +++ b/build-tests/api-extractor-d-mts-test/config/rush-project.json @@ -3,7 +3,7 @@ "operationSettings": [ { - "operationName": "build", + "operationName": "_phase:build", "outputFolderNames": ["lib", "dist"] } ] diff --git a/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json b/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json new file mode 100644 index 00000000000..7fb2f3841ff --- /dev/null +++ b/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/eslint-config" + } + ], + "packageName": "@rushstack/eslint-config", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/eslint/eslint-config/config/rush-project.json b/eslint/eslint-config/config/rush-project.json index 2af7036b0ef..514e557d5eb 100644 --- a/eslint/eslint-config/config/rush-project.json +++ b/eslint/eslint-config/config/rush-project.json @@ -3,7 +3,7 @@ "operationSettings": [ { - "operationName": "build", + "operationName": "_phase:build", "outputFolderNames": ["lib", "dist"] } ] From 2b913e5e9f152fa63d42ed1be5ac200a01dc1e5c Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 17:12:50 -0500 Subject: [PATCH 031/180] Clean up the dependenciesMeta verification code. --- ...-up-dependenciesmeta_2024-01-31-22-12.json | 11 +++ .../installManager/WorkspaceInstallManager.ts | 82 ++++++++----------- 2 files changed, 46 insertions(+), 47 deletions(-) create mode 100644 common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json diff --git a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json new file mode 100644 index 00000000000..efcd84c45fb --- /dev/null +++ b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@microsoft/rush" + } + ], + "packageName": "@microsoft/rush", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index 5784bca4956..206344dbc1e 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -145,6 +145,16 @@ export class WorkspaceInstallManager extends BaseInstallManager { path.join(subspace.getSubspaceTempFolder(), 'pnpm-workspace.yaml') ); + // For pnpm pacakge manager, we need to handle dependenciesMeta changes in package.json. See more: https://pnpm.io/package_json#dependenciesmeta + // If dependenciesMeta settings is different between package.json and pnpm-lock.yaml, then shrinkwrapIsUpToDate return false. + // Build a object for dependenciesMeta settings in projects' package.jsons + // key is the package path, value is the dependenciesMeta info for that package + const expectedDependenciesMetaByProjectRelativePath: Record = {}; + const commonTempFolder: string = this.rushConfiguration.commonTempFolder; + const rushJsonFolder: string = this.rushConfiguration.rushJsonFolder; + // get the relative path from common temp folder to repo root folder + const relativeFromTempFolderToRootFolder: string = path.relative(commonTempFolder, rushJsonFolder); + // Loop through the projects and add them to the workspace file. While we're at it, also validate that // referenced workspace projects are valid, and check if the shrinkwrap file is already up-to-date. for (const rushProject of this.rushConfiguration.projects) { @@ -253,63 +263,41 @@ export class WorkspaceInstallManager extends BaseInstallManager { ); shrinkwrapIsUpToDate = false; } - } - // For pnpm pacakge manager, we need to handle dependenciesMeta changes in package.json. See more: https://pnpm.io/package_json#dependenciesmeta - // If dependenciesMeta settings is different between package.json and pnpm-lock.yaml, then shrinkwrapIsUpToDate return false. - if (this.rushConfiguration.packageManager === 'pnpm') { - // First, build a object for dependenciesMeta settings in package.json - // key is the package path, value is the dependenciesMeta info for that package - const packagePathToDependenciesMetaInPackageJson: { [key: string]: IDependenciesMetaTable } = {}; - const commonTempFolder: string = this.rushConfiguration.commonTempFolder; - const rushJsonFolder: string = this.rushConfiguration.rushJsonFolder; - - // get the relative path from common temp folder to repo root folder - const relativeFromTempFolderToRootFolder: string = path.relative(commonTempFolder, rushJsonFolder); - for (const rushProject of this.rushConfiguration.projects) { - if (!subspace.contains(rushProject)) { - // skip processing any project that isn't in this subspace - continue; + const dependencyMetaList: ReadonlyArray = packageJson.dependencyMetaList; + if (dependencyMetaList.length !== 0) { + const dependenciesMeta: IDependenciesMetaTable = {}; + for (const dependencyMeta of dependencyMetaList) { + dependenciesMeta[dependencyMeta.name] = { + injected: dependencyMeta.injected + }; } - const packageJson: PackageJsonEditor = rushProject.packageJsonEditor; - const projectRelativeFolder: string = rushProject.projectRelativeFolder; // get the relative path from common temp folder to package folder, to align with the value in pnpm-lock.yaml - const relativePathFromTempFolderToPackageFolder: string = - relativeFromTempFolderToRootFolder + '/' + projectRelativeFolder; - const dependencyMetaList: ReadonlyArray = packageJson.dependencyMetaList; - - if (dependencyMetaList.length !== 0) { - const dependenciesMeta: IDependenciesMetaTable = {}; - for (const dependencyMeta of dependencyMetaList) { - dependenciesMeta[dependencyMeta.name] = { - injected: dependencyMeta.injected - }; - } - packagePathToDependenciesMetaInPackageJson[relativePathFromTempFolderToPackageFolder] = - dependenciesMeta; - } + const relativePathFromTempFolderToPackageFolder: string = `${relativeFromTempFolderToRootFolder}/${rushProject.projectRelativeFolder}`; + expectedDependenciesMetaByProjectRelativePath[relativePathFromTempFolderToPackageFolder] = + dependenciesMeta; } + } - // Second, build a object for dependenciesMeta settings in pnpm-lock.yaml - // key is the package path, value is the dependenciesMeta info for that package - const packagePathToDependenciesMetaInShrinkwrapFile: { [key: string]: IDependenciesMetaTable } = {}; - if (shrinkwrapFile?.importers !== undefined) { - for (const [key, value] of shrinkwrapFile?.importers) { - if (value.dependenciesMeta !== undefined) { - packagePathToDependenciesMetaInShrinkwrapFile[key] = value.dependenciesMeta; - } + // Build a object for dependenciesMeta settings in pnpm-lock.yaml + // key is the package path, value is the dependenciesMeta info for that package + const lockfileDependenciesMetaByProjectRelativePath: { [key: string]: IDependenciesMetaTable } = {}; + if (shrinkwrapFile?.importers !== undefined) { + for (const [key, value] of shrinkwrapFile?.importers) { + if (value.dependenciesMeta !== undefined) { + lockfileDependenciesMetaByProjectRelativePath[key] = value.dependenciesMeta; } } - - // Now, we compare these two objects to see if they are equal or not - shrinkwrapIsUpToDate = - objectsAreDeepEqual( - packagePathToDependenciesMetaInPackageJson, - packagePathToDependenciesMetaInShrinkwrapFile - ) && shrinkwrapIsUpToDate; } + // Now, we compare these two objects to see if they are equal or not + shrinkwrapIsUpToDate = + objectsAreDeepEqual( + expectedDependenciesMetaByProjectRelativePath, + lockfileDependenciesMetaByProjectRelativePath + ) && shrinkwrapIsUpToDate; + // Write the common package.json InstallHelpers.generateCommonPackageJson(this.rushConfiguration, subspace, undefined); From d7dbfdd8c02bfe48af372cb47c23d60ded6c37c0 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 17:22:47 -0500 Subject: [PATCH 032/180] Introduce an explicit warning about dependenciesMeta. --- ...lean-up-dependenciesmeta_2024-01-31-22-22.json | 10 ++++++++++ .../installManager/WorkspaceInstallManager.ts | 15 ++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json diff --git a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json new file mode 100644 index 00000000000..2861bf63a6a --- /dev/null +++ b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Introduce an explicit warning message during `rush install` or `rush update` about `dependenciesMeta` not being up-to-date.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index 206344dbc1e..bcc1cbf6820 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -292,11 +292,16 @@ export class WorkspaceInstallManager extends BaseInstallManager { } // Now, we compare these two objects to see if they are equal or not - shrinkwrapIsUpToDate = - objectsAreDeepEqual( - expectedDependenciesMetaByProjectRelativePath, - lockfileDependenciesMetaByProjectRelativePath - ) && shrinkwrapIsUpToDate; + const dependenciesMetaAreEqual: boolean = objectsAreDeepEqual( + expectedDependenciesMetaByProjectRelativePath, + lockfileDependenciesMetaByProjectRelativePath + ); + if (!dependenciesMetaAreEqual) { + shrinkwrapWarnings.push( + "The dependenciesMeta settings in one or more package.json don't match the current shrinkwrap." + ); + shrinkwrapIsUpToDate = false; + } // Write the common package.json InstallHelpers.generateCommonPackageJson(this.rushConfiguration, subspace, undefined); From 6c4f3ed6ee307427cc52231672e216fa226b5217 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 22:25:56 +0000 Subject: [PATCH 033/180] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 12 ++++++++++++ apps/rush/CHANGELOG.md | 9 ++++++++- .../@microsoft/rush/main_2024-01-31-21-44.json | 10 ---------- 3 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 common/changes/@microsoft/rush/main_2024-01-31-21-44.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 29b04391a9a..670e20fd076 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.113.3", + "tag": "@microsoft/rush_v5.113.3", + "date": "Wed, 31 Jan 2024 22:25:55 GMT", + "comments": { + "none": [ + { + "comment": "Fix an issue where `rush update` would sometimes not correctly sync the `pnpm-lock.yaml` file back to `common/config/rush/` after a project's `package.json` has been updated." + } + ] + } + }, { "version": "5.113.2", "tag": "@microsoft/rush_v5.113.2", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index f35ec98c142..bbdfab518b5 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/rush -This log was last generated on Wed, 31 Jan 2024 18:45:33 GMT and should not be manually modified. +This log was last generated on Wed, 31 Jan 2024 22:25:55 GMT and should not be manually modified. + +## 5.113.3 +Wed, 31 Jan 2024 22:25:55 GMT + +### Updates + +- Fix an issue where `rush update` would sometimes not correctly sync the `pnpm-lock.yaml` file back to `common/config/rush/` after a project's `package.json` has been updated. ## 5.113.2 Wed, 31 Jan 2024 18:45:33 GMT diff --git a/common/changes/@microsoft/rush/main_2024-01-31-21-44.json b/common/changes/@microsoft/rush/main_2024-01-31-21-44.json deleted file mode 100644 index 3cf96298765..00000000000 --- a/common/changes/@microsoft/rush/main_2024-01-31-21-44.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Fix an issue where `rush update` would sometimes not correctly sync the `pnpm-lock.yaml` file back to `common/config/rush/` after a project's `package.json` has been updated.", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From 15fc68760271e6528b0f8da6b0d826f01946125a Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 22:25:58 +0000 Subject: [PATCH 034/180] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- rush-plugins/rush-http-build-cache-plugin/package.json | 2 +- rush-plugins/rush-redis-cobuild-plugin/package.json | 2 +- rush-plugins/rush-serve-plugin/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 08a82beb521..529ed634e7b 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.113.2", + "version": "5.113.3", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index df193468cc5..ef5aeec4e3d 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.113.2", + "version": "5.113.3", "nextBump": "patch", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index b16a42d9bc2..6b788e75694 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.113.2", + "version": "5.113.3", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 4a1fe87dd92..62793a964c2 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.113.2", + "version": "5.113.3", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index c64a151cd45..7b98e200440 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.113.2", + "version": "5.113.3", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index b7dd86c2134..c89d4931c79 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.113.2", + "version": "5.113.3", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index 92163135926..3d3f2dafdc0 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-http-build-cache-plugin", - "version": "5.113.2", + "version": "5.113.3", "description": "Rush plugin for generic HTTP cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index b92cc28af0c..5a3da5c4fec 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-redis-cobuild-plugin", - "version": "5.113.2", + "version": "5.113.3", "description": "Rush plugin for Redis cobuild lock", "repository": { "type": "git", diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index b228b6191d1..b4cb087d5ac 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-serve-plugin", - "version": "5.113.2", + "version": "5.113.3", "description": "A Rush plugin that hooks into a rush action and serves output folders from all projects in the repository.", "license": "MIT", "repository": { From f3f1cdc7e7b2666ca3ab7e76f781cf2ea91c0957 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 22:49:17 +0000 Subject: [PATCH 035/180] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 12 ++++++++++++ apps/rush/CHANGELOG.md | 9 ++++++++- .../clean-up-dependenciesmeta_2024-01-31-22-12.json | 11 ----------- .../clean-up-dependenciesmeta_2024-01-31-22-22.json | 10 ---------- 4 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json delete mode 100644 common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 670e20fd076..9bf1e9a57f0 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.113.4", + "tag": "@microsoft/rush_v5.113.4", + "date": "Wed, 31 Jan 2024 22:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Introduce an explicit warning message during `rush install` or `rush update` about `dependenciesMeta` not being up-to-date." + } + ] + } + }, { "version": "5.113.3", "tag": "@microsoft/rush_v5.113.3", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index bbdfab518b5..25c0a6e75a1 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/rush -This log was last generated on Wed, 31 Jan 2024 22:25:55 GMT and should not be manually modified. +This log was last generated on Wed, 31 Jan 2024 22:49:17 GMT and should not be manually modified. + +## 5.113.4 +Wed, 31 Jan 2024 22:49:17 GMT + +### Updates + +- Introduce an explicit warning message during `rush install` or `rush update` about `dependenciesMeta` not being up-to-date. ## 5.113.3 Wed, 31 Jan 2024 22:25:55 GMT diff --git a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json deleted file mode 100644 index efcd84c45fb..00000000000 --- a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-12.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@microsoft/rush" - } - ], - "packageName": "@microsoft/rush", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json b/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json deleted file mode 100644 index 2861bf63a6a..00000000000 --- a/common/changes/@microsoft/rush/clean-up-dependenciesmeta_2024-01-31-22-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Introduce an explicit warning message during `rush install` or `rush update` about `dependenciesMeta` not being up-to-date.", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From 7c1aa81588ac1e0cefe150fc2dea21ab8bdb611b Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 31 Jan 2024 22:49:19 +0000 Subject: [PATCH 036/180] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- rush-plugins/rush-http-build-cache-plugin/package.json | 2 +- rush-plugins/rush-redis-cobuild-plugin/package.json | 2 +- rush-plugins/rush-serve-plugin/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 529ed634e7b..c1f6192a308 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.113.3", + "version": "5.113.4", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index ef5aeec4e3d..3ba18561b11 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.113.3", + "version": "5.113.4", "nextBump": "patch", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 6b788e75694..611f1330bb2 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.113.3", + "version": "5.113.4", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 62793a964c2..bcd3ce497a3 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.113.3", + "version": "5.113.4", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index 7b98e200440..850a53778d3 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.113.3", + "version": "5.113.4", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index c89d4931c79..ed40f17a1fc 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.113.3", + "version": "5.113.4", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index 3d3f2dafdc0..2da0d936ba3 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-http-build-cache-plugin", - "version": "5.113.3", + "version": "5.113.4", "description": "Rush plugin for generic HTTP cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index 5a3da5c4fec..ca5b3b30c2d 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-redis-cobuild-plugin", - "version": "5.113.3", + "version": "5.113.4", "description": "Rush plugin for Redis cobuild lock", "repository": { "type": "git", diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index b4cb087d5ac..e8747291805 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-serve-plugin", - "version": "5.113.3", + "version": "5.113.4", "description": "A Rush plugin that hooks into a rush action and serves output folders from all projects in the repository.", "license": "MIT", "repository": { From 904113d6a8c75d8316a53e788eb790b5a07beeac Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 31 Jan 2024 17:52:04 -0800 Subject: [PATCH 037/180] Upgrade Rush --- common/config/rush/subspaces.json | 35 +++++++++++++++++++++++++++++++ rush.json | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 common/config/rush/subspaces.json diff --git a/common/config/rush/subspaces.json b/common/config/rush/subspaces.json new file mode 100644 index 00000000000..d3c3ae8c516 --- /dev/null +++ b/common/config/rush/subspaces.json @@ -0,0 +1,35 @@ +/** + * This configuration file manages the experimental "subspaces" feature for Rush, + * which allows multiple PNPM lockfiles to be used in a single Rush workspace. + * For full documentation, please see https://rushjs.io + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/subspaces.schema.json", + + /** + * Set this flag to "true" to enable usage of subspaces. + */ + "subspacesEnabled": false, + + /** + * (DEPRECATED) This is a temporary workaround for migrating from an earlier prototype + * of this feature: https://github.com/microsoft/rushstack/pull/3481 + * It allows subspaces with only one project to store their config files in the project folder. + */ + "splitWorkspaceCompatibility": false, + + /** + * When a command such as "rush update" is invoked without the "--subspace" or "--to" + * parameters, Rush will install all subspaces. In a huge monorepo with numerous subspaces, + * this would be extremely slow. Set "preventSelectingAllSubspaces" to true to avoid this + * mistake by always requiring selection parameters for commands such as "rush update". + */ + "preventSelectingAllSubspaces": false, + + /** + * The list of subspace names, which should be lowercase alphanumeric words separated by + * hyphens, for example "my-subspace". The corresponding config files will have paths + * such as "common/config/subspaces/my-subspace/package-lock.yaml". + */ + "subspaceNames": [] +} diff --git a/rush.json b/rush.json index c5d8d295c9f..40132bae786 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.113.0", + "rushVersion": "5.113.4", /** * The next field selects which package manager should be installed and determines its version. From 4c31a72cce7e20657ac81750d0ad3692b4ebb66f Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 31 Jan 2024 17:58:41 -0800 Subject: [PATCH 038/180] rush rebuild --- .../workspace/common/pnpm-lock.yaml | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index bb1fe546a34..c697615db87 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -11,8 +11,8 @@ importers: rush-lib-test: dependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.2.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.4.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 @@ -30,15 +30,15 @@ importers: rush-sdk-test: dependencies: '@rushstack/rush-sdk': - specifier: file:rushstack-rush-sdk-5.113.2.tgz - version: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz(@types/node@18.17.15) + specifier: file:rushstack-rush-sdk-5.113.4.tgz + version: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 devDependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.2.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.113.4.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15) '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -1201,7 +1201,7 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /configstore@5.0.1: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} @@ -4238,11 +4238,11 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.113.2.tgz + file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz name: '@microsoft/rush-lib' - version: 5.113.2 + version: 5.113.4 engines: {node: '>=5.6.0'} dependencies: '@pnpm/dependency-path': 2.1.2 @@ -4578,11 +4578,11 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.113.2.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz name: '@rushstack/rush-sdk' - version: 5.113.2 + version: 5.113.4 dependencies: '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 From 4e9901c2773fcb35b14b014e3812b73e0c3366f6 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Sun, 4 Feb 2024 00:47:42 +0000 Subject: [PATCH 039/180] [node-core-library] Remove FileWriterStats type in favor of FileSystemStats --- libraries/node-core-library/src/FileWriter.ts | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/libraries/node-core-library/src/FileWriter.ts b/libraries/node-core-library/src/FileWriter.ts index 98a6c942917..f7361582714 100644 --- a/libraries/node-core-library/src/FileWriter.ts +++ b/libraries/node-core-library/src/FileWriter.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type * as fs from 'fs'; +import type { FileSystemStats } from './FileSystem'; import { Import } from './Import'; const fsx: typeof import('fs-extra') = Import.lazy('fs-extra', require); @@ -34,15 +34,6 @@ export interface IFileWriterFlags { exclusive?: boolean; } -/** - * An alias for the Node.js `fs.Stats` object. - * - * @remarks - * This avoids the need to import the `fs` package when using the {@link FileWriter} API. - * @public - */ -export type FileWriterStats = fs.Stats; - /** * API for interacting with file handles. * @public @@ -117,7 +108,7 @@ export class FileWriter { * Gets the statistics for the given file handle. Throws if the file handle has been closed. * Behind the scenes it uses `fs.statSync()`. */ - public getStatistics(): FileWriterStats { + public getStatistics(): FileSystemStats { if (!this._fileDescriptor) { throw new Error(`Cannot get file statistics, file descriptor has already been released.`); } From 880906adddc65d6fd83a3177f95caf9bbfd38437 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Sun, 4 Feb 2024 00:48:55 +0000 Subject: [PATCH 040/180] [node-core-library] Prevent accidentaly deleting freshly created lockfile --- libraries/node-core-library/src/LockFile.ts | 27 +++---- .../src/test/LockFile.test.ts | 78 +++++++++++++++++-- 2 files changed, 83 insertions(+), 22 deletions(-) diff --git a/libraries/node-core-library/src/LockFile.ts b/libraries/node-core-library/src/LockFile.ts index e95cc03b81a..7b45462ad08 100644 --- a/libraries/node-core-library/src/LockFile.ts +++ b/libraries/node-core-library/src/LockFile.ts @@ -260,20 +260,12 @@ export class LockFile { let currentBirthTimeMs: number; try { - try { - // open in write mode since if this file exists, it cannot be from the current process - // TODO: This will malfunction if the same process tries to acquire two locks on the same file. - // We should ideally maintain a dictionary of normalized acquired filenames - lockFileHandle = FileWriter.open(pidLockFilePath); - lockFileHandle.write(startTime); - currentBirthTimeMs = lockFileHandle.getStatistics().birthtime.getTime(); - } catch (error) { - // sometimes FileSystem.getStatistics leads to failure when multiple processes try to acquire - // lock for the same resource, so if we get an error, gracefully exit. - // see https://github.com/microsoft/rushstack/issues/4491 - lockFileHandle?.close(); - return undefined; - } + // open in write mode since if this file exists, it cannot be from the current process + // TODO: This will malfunction if the same process tries to acquire two locks on the same file. + // We should ideally maintain a dictionary of normalized acquired filenames + lockFileHandle = FileWriter.open(pidLockFilePath); + lockFileHandle.write(startTime); + currentBirthTimeMs = lockFileHandle.getStatistics().birthtime.getTime(); let smallestBirthTimeMs: number = currentBirthTimeMs; let smallestBirthTimePid: string = pid.toString(); @@ -306,8 +298,11 @@ export class LockFile { otherPidOldStartTime = FileSystem.readFile(fileInFolderPath); // check the timestamp of the file otherBirthtimeMs = FileSystem.getStatistics(fileInFolderPath).birthtime.getTime(); - } catch (err) { - // this means the file is probably deleted already + } catch (error) { + if (FileSystem.isNotExistError(error)) { + // the file is already deleted by other process, skip it + continue; + } } // if the otherPidOldStartTime is invalid, then we should look at the timestamp, diff --git a/libraries/node-core-library/src/test/LockFile.test.ts b/libraries/node-core-library/src/test/LockFile.test.ts index 029670cff9b..ba55919aafc 100644 --- a/libraries/node-core-library/src/test/LockFile.test.ts +++ b/libraries/node-core-library/src/test/LockFile.test.ts @@ -203,18 +203,84 @@ describe(LockFile.name, () => { expect(lock).toBeUndefined(); }); - test('gracefully handles failure to read lock file statistics', () => { + test('deletes other hanging lockfiles if corresponding processes are not running anymore', () => { + // ensure test folder is clean const testFolder: string = path.join(libTestFolder, '4'); + FileSystem.ensureEmptyFolder(testFolder); + const resourceName: string = 'test'; - // simulate failure; see https://github.com/microsoft/rushstack/issues/4491 - jest.spyOn(FileWriter.prototype, 'getStatistics').mockImplementation(() => { - throw new Error(); + const otherPid: number = 999999999; + const otherPidInitialStartTime: string = '2012-01-02 12:53:12'; + + // simulate a hanging lockfile that was not cleaned by other process + const otherPidLockFileName: string = LockFile.getLockFilePath(testFolder, resourceName, otherPid); + const lockFileHandle: FileWriter = FileWriter.open(otherPidLockFileName); + lockFileHandle.write(otherPidInitialStartTime); + lockFileHandle.close(); + FileSystem.updateTimes(otherPidLockFileName, { + accessedTime: 10000, + modifiedTime: 10000 + }); + + // return undefined as if the process was not running anymore + setLockFileGetProcessStartTime((pid: number) => { + return pid === otherPid ? undefined : getProcessStartTime(pid); }); - const lock: LockFile | undefined = LockFile.tryAcquire(testFolder, resourceName); + const deleteFileSpy = jest.spyOn(FileSystem, 'deleteFile'); + LockFile.tryAcquire(testFolder, resourceName); - expect(lock).toBeUndefined(); + expect(deleteFileSpy).toHaveBeenCalledTimes(1); + expect(deleteFileSpy).toHaveBeenNthCalledWith(1, otherPidLockFileName); + }); + + test('doesn’t attempt deleting other process lockfile if it is released in the middle of acquiring process', () => { + // ensure test folder is clean + const testFolder: string = path.join(libTestFolder, '5'); + FileSystem.ensureEmptyFolder(testFolder); + + const resourceName: string = 'test'; + + const otherPid: number = 999999999; + const otherPidStartTime: string = '2012-01-02 12:53:12'; + + const otherPidLockFileName: string = LockFile.getLockFilePath(testFolder, resourceName, otherPid); + + // create an open lockfile for other process + const lockFileHandle: FileWriter = FileWriter.open(otherPidLockFileName); + lockFileHandle.write(otherPidStartTime); + lockFileHandle.close(); + FileSystem.updateTimes(otherPidLockFileName, { + accessedTime: 10000, + modifiedTime: 10000 + }); + + // return other process start time as if it was still running + setLockFileGetProcessStartTime((pid: number) => { + return pid === otherPid ? otherPidStartTime : getProcessStartTime(pid); + }); + + const originalReadFile = FileSystem.readFile; + jest.spyOn(FileSystem, 'readFile').mockImplementation((path: string) => { + if (path === otherPidLockFileName) { + // simulate other process lock release right before the current process reads + // other process lockfile to decide on next steps for acquiring the lock + FileSystem.deleteFile(path); + } + + return originalReadFile(path); + }); + + const deleteFileSpy = jest.spyOn(FileSystem, 'deleteFile'); + + LockFile.tryAcquire(testFolder, resourceName); + + // Ensure there were no other FileSystem.deleteFile calls after our lock release simulation. + // An extra attempt to delete the lockfile might lead to unexpectedly deleting a new lockfile + // created by another process right after releasing/deleting the previous lockfile + expect(deleteFileSpy).toHaveBeenCalledTimes(1); + expect(deleteFileSpy).toHaveBeenNthCalledWith(1, otherPidLockFileName); }); }); } From 4663042293697cb109090a34b618dbfb72e7aae2 Mon Sep 17 00:00:00 2001 From: wesley-weiming <24312810+wesley-weiming@users.noreply.github.com> Date: Sun, 4 Feb 2024 17:08:35 +0800 Subject: [PATCH 041/180] feat: add project impact graph generator --- common/reviews/api/rush-lib.api.md | 1 + .../src/api/ExperimentsConfiguration.ts | 5 + .../src/cli/actions/BaseInstallAction.ts | 11 ++ .../src/logic/ProjectImpactGraphGenerator.ts | 114 ++++++++++++++++++ .../src/schemas/experiments.schema.json | 4 + 5 files changed, 135 insertions(+) create mode 100644 libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index 7e4e65cb00c..d29c2ab0c73 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -460,6 +460,7 @@ export interface IExperimentsJson { usePnpmFrozenLockfileForRushInstall?: boolean; usePnpmLockfileOnlyThenFrozenLockfileForRushUpdate?: boolean; usePnpmPreferFrozenLockfileForRushUpdate?: boolean; + useProjectImpactGraphGeneratorAfterRushUpdate?: boolean; } // @beta diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index b15ff0655e9..aab04e98fbe 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -76,6 +76,11 @@ export interface IExperimentsJson { * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ forbidPhantomResolvableNodeModulesFolders?: boolean; + + /** + * If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished. + */ + useProjectImpactGraphGeneratorAfterRushUpdate?: boolean; } /** diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 94a7abf8cc7..0ecf936823f 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -22,6 +22,7 @@ import { VersionMismatchFinder } from '../../logic/versionMismatch/VersionMismat import { Variants } from '../../api/Variants'; import { RushConstants } from '../../logic/RushConstants'; import type { SelectionParameterSet } from '../parsing/SelectionParameterSet'; +import { ProjectImpactGraphGenerator } from '../../logic/ProjectImpactGraphGenerator'; /** * This is the common base class for InstallAction and UpdateAction. @@ -194,6 +195,16 @@ export abstract class BaseInstallAction extends BaseRushAction { this.parser.isDebug, this._ignoreHooksParameter.value ); + if ( + this.actionName === 'update' && + this.rushConfiguration.experimentsConfiguration.configuration + .useProjectImpactGraphGeneratorAfterRushUpdate + ) { + const projectImpactGraphGenerator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator( + this.rushConfiguration + ); + projectImpactGraphGenerator.generate(); + } } } diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts new file mode 100644 index 00000000000..923a2c21d32 --- /dev/null +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import fs from 'fs'; +import yaml from 'js-yaml'; +import path from 'path'; +import colors from 'colors/safe'; +import type { RushConfiguration } from '../api/RushConfiguration'; +import type { RushConfigurationProject } from '../api/RushConfigurationProject'; +import { Stopwatch } from '../utilities/Stopwatch'; + +/** + * Project property configuration + */ +export interface IProjectConfiguration { + includedGlobs: string[]; + excludedGlobs?: string[]; + dependentProjects: string[]; +} + +/** + * The schema of `project-impact-graph.yaml` + */ +export interface IFileSchema { + globalExcludedGlobs: string[]; + projects: { + [key: string]: IProjectConfiguration; + }; +} + +export class ProjectImpactGraphGenerator { + /** + * Full path of repository root + */ + private _repositoryRoot: string; + + /** + * Projects within the Rush configuration + */ + private _projects: RushConfigurationProject[]; + + /** + * Default global excluded globs + * Only used if the `/.mergequeueignore` does not exist + */ + private _DefaultGlobalExcludedGlobs: string[] = ['common/autoinstallers/**']; + + /** + * Get repositoryRoot and load projects within the rush.json + */ + public constructor(rushConfiguration: RushConfiguration) { + this._repositoryRoot = rushConfiguration.rushJsonFolder; + this._projects = rushConfiguration.projects; + } + + /** + * Load global excluded globs + * @param repositoryRoot + */ + private _loadGlobalExcludedGlobs(repositoryRoot: string): string[] | undefined { + const filePath: string = path.join(repositoryRoot, '.mergequeueignore'); + if (fs.existsSync(filePath)) { + const globs: string[] = fs.readFileSync(filePath).toString().split('\n'); + return globs; + } + } + + /** + * Load project excluded globs + * @param projectRootRelativePath - project root relative path + */ + private _loadProjectExcludedGlobs(projectRootRelativePath: string): string[] | undefined { + const filePath: string = path.join(this._repositoryRoot, projectRootRelativePath, '.mergequeueignore'); + if (fs.existsSync(filePath)) { + const globs: string[] = fs.readFileSync(filePath).toString().split('\n'); + return globs.map((glob) => path.join(projectRootRelativePath, glob)); + } + } + + /** + * Core Logic: generate project-impact-graph.yaml + */ + public generate(): void { + const stopwatch: Stopwatch = Stopwatch.start(); + const content: IFileSchema = {} as IFileSchema; + content.globalExcludedGlobs = + this._loadGlobalExcludedGlobs(this._repositoryRoot) || this._DefaultGlobalExcludedGlobs; + content.projects = {}; + this._projects.forEach((project) => { + // ignore the top project + if (project.projectRelativeFolder !== '.') { + const dependentList: string[] = [project.packageName]; + project.consumingProjects.forEach((item) => { + dependentList.push(item.packageName); + }); + content.projects[`${project.packageName}`] = { + includedGlobs: [`${project.projectRelativeFolder}/**`], + dependentProjects: dependentList.sort() + }; + const projectExcludedGlobs: string[] | undefined = this._loadProjectExcludedGlobs( + project.projectRelativeFolder + ); + if (projectExcludedGlobs) { + content.projects[`${project.packageName}`].excludedGlobs = projectExcludedGlobs; + } + } + }); + + fs.writeFileSync(path.join(this._repositoryRoot, 'project-impact-graph.yaml'), yaml.safeDump(content)); + stopwatch.stop(); + // eslint-disable-next-line no-console + console.log('\n' + colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`)); + } +} diff --git a/libraries/rush-lib/src/schemas/experiments.schema.json b/libraries/rush-lib/src/schemas/experiments.schema.json index d14fc18534d..1a16784b96c 100644 --- a/libraries/rush-lib/src/schemas/experiments.schema.json +++ b/libraries/rush-lib/src/schemas/experiments.schema.json @@ -53,6 +53,10 @@ "forbidPhantomResolvableNodeModulesFolders": { "description": "If true, Rush will not allow node_modules in the repo folder or in parent folders.", "type": "boolean" + }, + "useProjectImpactGraphGeneratorAfterRushUpdate": { + "description": "If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished.", + "type": "boolean" } }, "additionalProperties": false From bc6e46ae3fbbc74568fab70f40373d9aa64a9f74 Mon Sep 17 00:00:00 2001 From: wesley-weiming <24312810+wesley-weiming@users.noreply.github.com> Date: Sun, 4 Feb 2024 19:40:33 +0800 Subject: [PATCH 042/180] fix: add change log --- ...ate-impact-graph-after-update_2024-02-04-11-38.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json diff --git a/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json b/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json new file mode 100644 index 00000000000..4225c7e961d --- /dev/null +++ b/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Add project impact graph generator", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From b534ea75605e7680768f4c0ed6b116586b1f1638 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Sun, 4 Feb 2024 00:55:07 +0000 Subject: [PATCH 043/180] Cleanup --- ...ckfile-handle-failure-gracefully_2024-01-29-14-13.json | 4 ++-- common/reviews/api/node-core-library.api.md | 5 +---- libraries/node-core-library/src/index.ts | 2 +- libraries/node-core-library/src/test/LockFile.test.ts | 8 ++++---- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json index 9c82e3f685b..cb02a3778ad 100644 --- a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json +++ b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json @@ -2,9 +2,9 @@ "changes": [ { "packageName": "@rushstack/node-core-library", - "comment": "Gracefully handle irregular LockFile.tryAcquire fail on macOS/Linux when multiple processes try to acquire the same lock", + "comment": "LockFile: prevent accidentaly deleting freshly created lockfile when multiple processes try to acquire the same lock on macOS/Linux", "type": "patch" } ], "packageName": "@rushstack/node-core-library" -} \ No newline at end of file +} diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index d18ea9b1429..0ab31e490c0 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -304,14 +304,11 @@ export type FileSystemStats = fs.Stats; export class FileWriter { close(): void; readonly filePath: string; - getStatistics(): FileWriterStats; + getStatistics(): FileSystemStats; static open(filePath: string, flags?: IFileWriterFlags): FileWriter; write(text: string): void; } -// @public -export type FileWriterStats = fs.Stats; - // @public export enum FolderConstants { Git = ".git", diff --git a/libraries/node-core-library/src/index.ts b/libraries/node-core-library/src/index.ts index e5cb4924cbf..66589e27de1 100644 --- a/libraries/node-core-library/src/index.ts +++ b/libraries/node-core-library/src/index.ts @@ -98,7 +98,7 @@ export { IFileSystemUpdateTimeParameters, IFileSystemWriteFileOptions } from './FileSystem'; -export { FileWriter, FileWriterStats, IFileWriterFlags } from './FileWriter'; +export { FileWriter, IFileWriterFlags } from './FileWriter'; export { LegacyAdapters, LegacyCallback } from './LegacyAdapters'; export { StringBuilder, IStringBuilder } from './StringBuilder'; export { ISubprocessOptions, SubprocessTerminator } from './SubprocessTerminator'; diff --git a/libraries/node-core-library/src/test/LockFile.test.ts b/libraries/node-core-library/src/test/LockFile.test.ts index ba55919aafc..9661e84b387 100644 --- a/libraries/node-core-library/src/test/LockFile.test.ts +++ b/libraries/node-core-library/src/test/LockFile.test.ts @@ -262,14 +262,14 @@ describe(LockFile.name, () => { }); const originalReadFile = FileSystem.readFile; - jest.spyOn(FileSystem, 'readFile').mockImplementation((path: string) => { - if (path === otherPidLockFileName) { + jest.spyOn(FileSystem, 'readFile').mockImplementation((filePath: string) => { + if (filePath === otherPidLockFileName) { // simulate other process lock release right before the current process reads // other process lockfile to decide on next steps for acquiring the lock - FileSystem.deleteFile(path); + FileSystem.deleteFile(filePath); } - return originalReadFile(path); + return originalReadFile(filePath); }); const deleteFileSpy = jest.spyOn(FileSystem, 'deleteFile'); From 37b5aa406018a43a4f5ed2f90696ed3e3565e787 Mon Sep 17 00:00:00 2001 From: Andrey Romanov <2734841+andrew--r@users.noreply.github.com> Date: Sun, 4 Feb 2024 20:19:15 +0000 Subject: [PATCH 044/180] Refactor currentBirthTimeMs definition --- libraries/node-core-library/src/LockFile.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/node-core-library/src/LockFile.ts b/libraries/node-core-library/src/LockFile.ts index 7b45462ad08..813be514e32 100644 --- a/libraries/node-core-library/src/LockFile.ts +++ b/libraries/node-core-library/src/LockFile.ts @@ -257,15 +257,13 @@ export class LockFile { let lockFile: LockFile; - let currentBirthTimeMs: number; - try { // open in write mode since if this file exists, it cannot be from the current process // TODO: This will malfunction if the same process tries to acquire two locks on the same file. // We should ideally maintain a dictionary of normalized acquired filenames lockFileHandle = FileWriter.open(pidLockFilePath); lockFileHandle.write(startTime); - currentBirthTimeMs = lockFileHandle.getStatistics().birthtime.getTime(); + const currentBirthTimeMs: number = lockFileHandle.getStatistics().birthtime.getTime(); let smallestBirthTimeMs: number = currentBirthTimeMs; let smallestBirthTimePid: string = pid.toString(); From f7a5dc4ffb97803d02c348ce09ef17549b5f2d68 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 16:35:39 -0500 Subject: [PATCH 045/180] Introduce a Webpack plugin that generates hashes based on final file contents. --- .../rush/nonbrowser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 34 +- common/config/rush/repo-state.json | 2 +- common/reviews/api/node-core-library.api.md | 1 + .../api/webpack5-true-hash-plugin.api.md | 41 + libraries/node-core-library/src/Text.ts | 8 + rush.json | 6 + .../webpack5-true-hash-plugin/.eslintrc.js | 12 + webpack/webpack5-true-hash-plugin/.npmignore | 30 + webpack/webpack5-true-hash-plugin/LICENSE | 24 + webpack/webpack5-true-hash-plugin/README.md | 9 + .../config/api-extractor.json | 19 + .../config/jest.config.json | 5 + .../webpack5-true-hash-plugin/config/rig.json | 7 + .../webpack5-true-hash-plugin/package.json | 37 + .../src/TrueHashPlugin.ts | 349 ++++++++ .../webpack5-true-hash-plugin/src/index.ts | 10 + .../src/test/LocalizedAsyncDynamic.test.ts | 105 +++ ...cDynamicFormatWithNoLocaleFallback.test.ts | 116 +++ .../src/test/LocalizedNoAsync.test.ts | 115 +++ .../src/test/LocalizedRuntime.test.ts | 8 + ...calizedRuntimeDifferentHashLengths.test.ts | 12 + .../src/test/LocalizedRuntimeTestBase.ts | 105 +++ .../src/test/MemFSPlugin.ts | 31 + .../src/test/MixedAsync.test.ts | 106 +++ .../src/test/MixedAsyncDynamic.test.ts | 107 +++ .../src/test/NoLocalizedFiles.test.ts | 74 ++ .../LocalizedAsyncDynamic.test.ts.snap | 380 +++++++++ ...micFormatWithNoLocaleFallback.test.ts.snap | 432 ++++++++++ .../LocalizedNoAsync.test.ts.snap | 81 ++ .../LocalizedRuntime.test.ts.snap | 681 ++++++++++++++++ ...edRuntimeDifferentHashLengths.test.ts.snap | 681 ++++++++++++++++ .../__snapshots__/MixedAsync.test.ts.snap | 763 ++++++++++++++++++ .../MixedAsyncDynamic.test.ts.snap | 476 +++++++++++ .../NoLocalizedFiles.test.ts.snap | 308 +++++++ .../webpack5-true-hash-plugin/tsconfig.json | 6 + 36 files changed, 5178 insertions(+), 7 deletions(-) create mode 100644 common/reviews/api/webpack5-true-hash-plugin.api.md create mode 100644 webpack/webpack5-true-hash-plugin/.eslintrc.js create mode 100644 webpack/webpack5-true-hash-plugin/.npmignore create mode 100644 webpack/webpack5-true-hash-plugin/LICENSE create mode 100644 webpack/webpack5-true-hash-plugin/README.md create mode 100644 webpack/webpack5-true-hash-plugin/config/api-extractor.json create mode 100644 webpack/webpack5-true-hash-plugin/config/jest.config.json create mode 100644 webpack/webpack5-true-hash-plugin/config/rig.json create mode 100644 webpack/webpack5-true-hash-plugin/package.json create mode 100644 webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/index.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap create mode 100644 webpack/webpack5-true-hash-plugin/tsconfig.json diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index f5b7599d5b1..5de1d6d5ca7 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -274,6 +274,10 @@ "name": "@rushstack/webpack4-module-minifier-plugin", "allowedCategories": [ "tests" ] }, + { + "name": "@rushstack/webpack5-localization-plugin", + "allowedCategories": [ "libraries" ] + }, { "name": "@rushstack/webpack5-module-minifier-plugin", "allowedCategories": [ "tests" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dc62b49920d..d862aba1c70 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1774,10 +1774,10 @@ importers: version: link:../../heft-plugins/heft-typescript-plugin '@types/jest': specifier: ts4.9 - version: 29.5.11 + version: 29.5.12 '@types/node': specifier: ts4.9 - version: 20.11.5 + version: 20.11.16 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -4355,6 +4355,28 @@ importers: specifier: ~5.82.1 version: 5.82.1 + ../../webpack/webpack5-true-hash-plugin: + dependencies: + '@rushstack/node-core-library': + specifier: workspace:* + version: link:../../libraries/node-core-library + devDependencies: + '@rushstack/heft': + specifier: workspace:* + version: link:../../apps/heft + '@rushstack/webpack5-localization-plugin': + specifier: workspace:* + version: link:../webpack5-localization-plugin + local-node-rig: + specifier: workspace:* + version: link:../../rigs/local-node-rig + memfs: + specifier: 3.4.3 + version: 3.4.3 + webpack: + specifier: ~5.82.1 + version: 5.82.1 + packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -11425,8 +11447,8 @@ packages: expect: 29.6.2 pretty-format: 29.6.2 - /@types/jest@29.5.11: - resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: expect: 29.6.2 pretty-format: 29.6.2 @@ -11538,8 +11560,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.5: - resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + /@types/node@20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} dependencies: undici-types: 5.26.5 dev: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 2f5157a3cab..e24ccd6c724 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "4c17c55360a1f1c707f1aa08e0089c7563d471c0", + "pnpmShrinkwrapHash": "4a56584d543c9c5a5d512d77ac32785fc025f9ae", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 8c0d2cbf518..1b8d1152ea0 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -1046,6 +1046,7 @@ export class Text { static readLinesFromIterable(iterable: Iterable, options?: IReadLinesFromIterableOptions): Generator; static readLinesFromIterableAsync(iterable: AsyncIterable, options?: IReadLinesFromIterableOptions): AsyncGenerator; static replaceAll(input: string, searchValue: string, replaceValue: string): string; + static reverse(s: string): string; static truncateWithEllipsis(s: string, maximumLength: number): string; } diff --git a/common/reviews/api/webpack5-true-hash-plugin.api.md b/common/reviews/api/webpack5-true-hash-plugin.api.md new file mode 100644 index 00000000000..c767b7eb5a1 --- /dev/null +++ b/common/reviews/api/webpack5-true-hash-plugin.api.md @@ -0,0 +1,41 @@ +## API Report File for "@rushstack/webpack5-true-hash-plugin" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +/// + +import type { Compiler } from 'webpack'; +import type { default as default_2 } from 'webpack'; +import type { WebpackPluginInstance } from 'webpack'; + +// @public (undocumented) +export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { + hashFunction: (contents: string | Buffer) => string; +} + +// @public (undocumented) +export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { + // Warning: (ae-forgotten-export) The symbol "WebpackHash" needs to be exported by the entry point index.d.ts + hash?: WebpackHash; +} + +// @public (undocumented) +export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; + +// @public (undocumented) +export interface ITrueHashPluginOptionsBase { + // (undocumented) + stageOverride?: number; +} + +// @public (undocumented) +export class TrueHashPlugin implements WebpackPluginInstance { + constructor(options: ITrueHashPluginOptions); + apply(compiler: Compiler): void; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/libraries/node-core-library/src/Text.ts b/libraries/node-core-library/src/Text.ts index 75895cf0515..e3e801e6595 100644 --- a/libraries/node-core-library/src/Text.ts +++ b/libraries/node-core-library/src/Text.ts @@ -271,4 +271,12 @@ export class Text { yield remaining; } } + + /** + * Returns a new string that is the input string with the order of characters reversed. + */ + public static reverse(s: string): string { + // Benchmarks of several algorithms: https://jsbench.me/4bkfflcm2z + return s.split('').reduce((newString, char) => char + newString, ''); + } } diff --git a/rush.json b/rush.json index 40132bae786..7a43c1adfb2 100644 --- a/rush.json +++ b/rush.json @@ -1300,6 +1300,12 @@ "projectFolder": "webpack/webpack5-localization-plugin", "reviewCategory": "libraries", "shouldPublish": true + }, + { + "packageName": "@rushstack/webpack5-true-hash-plugin", + "projectFolder": "webpack/webpack5-true-hash-plugin", + "reviewCategory": "libraries", + "shouldPublish": true } ] } diff --git a/webpack/webpack5-true-hash-plugin/.eslintrc.js b/webpack/webpack5-true-hash-plugin/.eslintrc.js new file mode 100644 index 00000000000..27dc0bdff95 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/.eslintrc.js @@ -0,0 +1,12 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); +// This is a workaround for https://github.com/microsoft/rushstack/issues/3021 +require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); + +module.exports = { + extends: [ + 'local-node-rig/profiles/default/includes/eslint/profile/node-trusted-tool', + 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals' + ], + parserOptions: { tsconfigRootDir: __dirname } +}; diff --git a/webpack/webpack5-true-hash-plugin/.npmignore b/webpack/webpack5-true-hash-plugin/.npmignore new file mode 100644 index 00000000000..302dbc5b019 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/.npmignore @@ -0,0 +1,30 @@ +# THIS IS A STANDARD TEMPLATE FOR .npmignore FILES IN THIS REPO. + +# Ignore all files by default, to avoid accidentally publishing unintended files. +* + +# Use negative patterns to bring back the specific things we want to publish. +!/bin/** +!/lib/** +!/lib-*/** +!/dist/** +!ThirdPartyNotice.txt + +# Ignore certain patterns that should not get published. +/dist/*.stats.* +/lib/**/test/ +/lib-*/**/test/ +*.test.js + +# NOTE: These don't need to be specified, because NPM includes them automatically. +# +# package.json +# README (and its variants) +# CHANGELOG (and its variants) +# LICENSE / LICENCE + +#-------------------------------------------- +# DO NOT MODIFY THE TEMPLATE ABOVE THIS LINE +#-------------------------------------------- + +# (Add your project-specific overrides here) \ No newline at end of file diff --git a/webpack/webpack5-true-hash-plugin/LICENSE b/webpack/webpack5-true-hash-plugin/LICENSE new file mode 100644 index 00000000000..adf929fb918 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/LICENSE @@ -0,0 +1,24 @@ +@rushstack/webpack5-true-hash-plugin + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webpack/webpack5-true-hash-plugin/README.md b/webpack/webpack5-true-hash-plugin/README.md new file mode 100644 index 00000000000..a657864b58c --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/README.md @@ -0,0 +1,9 @@ +# @rushstack/webpack5-true-hash-plugin + +## Installation + +`npm install @rushstack/webpack5-true-hash-plugin --save-dev` + +## Overview + +This plugin updates the hashes of the output files to be the true content hash of the file. It also supports chunks produced by the `@rushstack/webpack5-localization-plugin`. diff --git a/webpack/webpack5-true-hash-plugin/config/api-extractor.json b/webpack/webpack5-true-hash-plugin/config/api-extractor.json new file mode 100644 index 00000000000..fba8a2992f6 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/config/api-extractor.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "/lib/index.d.ts", + + "apiReport": { + "enabled": true, + "reportFolder": "../../../common/reviews/api" + }, + + "docModel": { + "enabled": false, + "apiJsonFilePath": "../../../common/temp/api/.api.json" + }, + + "dtsRollup": { + "enabled": true + } +} diff --git a/webpack/webpack5-true-hash-plugin/config/jest.config.json b/webpack/webpack5-true-hash-plugin/config/jest.config.json new file mode 100644 index 00000000000..b50b9d93828 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/config/jest.config.json @@ -0,0 +1,5 @@ +{ + "extends": "local-node-rig/profiles/default/config/jest.config.json", + + "testTimeout": 1e5 +} diff --git a/webpack/webpack5-true-hash-plugin/config/rig.json b/webpack/webpack5-true-hash-plugin/config/rig.json new file mode 100644 index 00000000000..165ffb001f5 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "local-node-rig" +} diff --git a/webpack/webpack5-true-hash-plugin/package.json b/webpack/webpack5-true-hash-plugin/package.json new file mode 100644 index 00000000000..7a192f8309a --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/package.json @@ -0,0 +1,37 @@ +{ + "name": "@rushstack/webpack5-true-hash-plugin", + "version": "0.0.0", + "description": "This plugin facilitates true-content hashes of webpack chunks, including support for the @rushstack localization plugins.", + "main": "lib/index.js", + "typings": "dist/webpack5-true-hash-plugin.d.ts", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/rushstack.git", + "directory": "webpack/webpack5-true-hash-plugin" + }, + "scripts": { + "build": "heft build --clean", + "_phase:build": "heft run --only build -- --clean", + "_phase:test": "heft run --only test -- --clean" + }, + "peerDependencies": { + "webpack": "^5.68.0", + "@types/node": "*" + }, + "dependencies": { + "@rushstack/node-core-library": "workspace:*" + }, + "devDependencies": { + "@rushstack/heft": "workspace:*", + "local-node-rig": "workspace:*", + "memfs": "3.4.3", + "webpack": "~5.82.1", + "@rushstack/webpack5-localization-plugin": "workspace:*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } +} diff --git a/webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts new file mode 100644 index 00000000000..bd422fbb956 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts @@ -0,0 +1,349 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { + default as webpack, + Compilation, + Compiler, + WebpackPluginInstance, + Chunk, + Asset, + sources +} from 'webpack'; +import type { ILocalizedWebpackChunk } from '@rushstack/webpack5-localization-plugin'; +import { Text } from '@rushstack/node-core-library'; + +const PLUGIN_NAME: 'true-hash' = 'true-hash'; + +type WebpackHash = Parameters[0]; + +interface IHashReplacement { + existingHash: string; + trueHashByLocale: string | Record; +} + +/** + * @public + */ +export interface ITrueHashPluginOptionsBase { + stageOverride?: number; +} + +/** + * @public + */ +export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { + /** + * The name of the hash algorithm to use, e.g. 'sha256', or a webpack Hash object. + * + * @defaultValue + * 'sha256' + */ + hash?: WebpackHash; +} + +/** + * @public + */ +export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { + /** + * A function that takes the contents of a file and returns a hash. + */ + hashFunction: (contents: string | Buffer) => string; +} + +/** + * @public + */ +export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; + +/** + * @public + */ +export class TrueHashPlugin implements WebpackPluginInstance { + private readonly _options: ITrueHashPluginOptions; + + public constructor(options: ITrueHashPluginOptions) { + this._options = options; + } + + /** + * Apply this plugin to the specified webpack compiler. + */ + public apply(compiler: Compiler): void { + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { + const { webpack: thisWebpack } = compiler; + const { + stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, + hash, + hashFunction + } = this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; + let hashFn: (contents: string | Buffer) => string; + if (hashFunction) { + hashFn = hashFunction; + if (hash) { + compilation.errors.push( + new thisWebpack.WebpackError( + `The TrueHashPlugin was configured with both "hash" and "hashFunction". ` + + `Only one of these options can be specified. Falling back to the custom hash function.` + ) + ); + } + } else { + const { + hashFunction: hashFunctionFromOptions = 'md5', + hashDigest = 'hex', + hashDigestLength + } = compilation.outputOptions; + const hashToUse: WebpackHash = hash ?? hashFunctionFromOptions; + hashFn = (contents: string | Buffer) => + thisWebpack.util + .createHash(hashToUse) + .update(contents) + .digest(hashDigest) + .toString() + .slice(0, hashDigestLength); + } + + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: processAssetsStage + }, + () => { + const unprocessedDependenciesByChunk: Map> = new Map(); + const dependenciesByChunk: Map> = new Map(); + const dependentsByChunk: Map> = new Map(); + for (const chunk of compilation.chunks) { + let unprocessedDependencies: Set | undefined = unprocessedDependenciesByChunk.get(chunk); + if (!unprocessedDependencies) { + unprocessedDependencies = new Set(); + unprocessedDependenciesByChunk.set(chunk, unprocessedDependencies); + } + + let dependencies: Set | undefined = dependenciesByChunk.get(chunk); + if (!dependencies) { + dependencies = new Set(); + dependenciesByChunk.set(chunk, dependencies); + } + + for (const asyncChunk of chunk.getAllAsyncChunks()) { + unprocessedDependencies.add(asyncChunk); + dependencies.add(asyncChunk); + + let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); + if (!dependents) { + dependents = new Set(); + dependentsByChunk.set(asyncChunk, dependents); + } + + dependents.add(chunk); + } + } + + const hashReplacementsByChunk: Map = new Map(); + const unprocessedChunks: Set = new Set(compilation.chunks); + while (unprocessedChunks.size > 0) { + for (const chunk of unprocessedChunks) { + if (unprocessedDependenciesByChunk.get(chunk)?.size === 0) { + // TODO: do we need to check if the chunk is rendered? + if (!chunk.renderedHash) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} could not find the hash for chunk ${chunk.id}.` + ) + ); + } else { + const existingHash: string = chunk.contentHash.javascript; + const chunkDependencies: Set | undefined = dependenciesByChunk.get(chunk); + if (!chunkDependencies) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} could not find dependencies for chunk ${chunk.id}.` + ) + ); + } else { + function processChunkAsset( + jsAssetName: string, + locale: string | undefined + ): string | undefined { + const asset: Readonly | undefined = compilation.getAsset(jsAssetName); + if (!asset) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} could not find asset "${jsAssetName}" for chunk ${chunk.id}.` + ) + ); + } else { + let assetSource: sources.Source = asset.source; + const assetName: string = asset.name; + if (chunkDependencies!.size > 0) { + const relevantHashReplacements: Map = new Map(); + let hasAnyReplacements: boolean = false; + let allReplacementsAreTheSameLengthAsOriginals: boolean = true; + for (const dependency of chunkDependencies!) { + const asyncChunkHashReplacements: IHashReplacement | undefined = + hashReplacementsByChunk.get(dependency); + if (!asyncChunkHashReplacements) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} could not find hash replacements for chunk ${dependency.id}.` + ) + ); + } else { + const { existingHash: otherChunkExistingHash, trueHashByLocale } = + asyncChunkHashReplacements; + let replacementHash: string | undefined; + if (typeof trueHashByLocale === 'object') { + if (locale) { + replacementHash = trueHashByLocale[locale]; + } + } else { + replacementHash = trueHashByLocale; + } + + if (replacementHash) { + if (relevantHashReplacements.has(otherChunkExistingHash)) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} found multiple replacements for hash ${otherChunkExistingHash} ` + + `in chunk ${chunk.id}.` + ) + ); + } else { + allReplacementsAreTheSameLengthAsOriginals &&= + replacementHash.length === otherChunkExistingHash.length; + relevantHashReplacements.set(otherChunkExistingHash, replacementHash); + hasAnyReplacements = true; + } + } + } + } + + if (hasAnyReplacements) { + const sourceString: string = assetSource.source().toString(); + const replaceSource: sources.ReplaceSource = + new thisWebpack.sources.ReplaceSource(assetSource, assetName); + + if (allReplacementsAreTheSameLengthAsOriginals) { + // If all of the replacements are the same length as the originals, we can walk the string + // in non-reverse order. + const regexp: RegExp = new RegExp( + Array.from(relevantHashReplacements.keys()) + .map((hashToReplace) => Text.escapeRegExp(hashToReplace)) + .join('|'), + 'g' + ); + let match: RegExpMatchArray | null; + while ((match = regexp.exec(sourceString)) !== null) { + const { 0: originalHash, index } = match; + const matchStart: number = index!; + const matchEnd: number = matchStart + originalHash.length - 1; + const replacement: string = relevantHashReplacements.get(originalHash)!; + replaceSource.replace(matchStart, matchEnd, replacement); + } + } else { + // If the replacements are not the same length as the originals, we need to reverse the + // string and walk it in reverse order to keep the indices correct. + const reversedSourceString: string = Text.reverse(sourceString); + const sourceStringLength: number = sourceString.length; + const regexp: RegExp = new RegExp( + Array.from(relevantHashReplacements.keys()) + .map((hashToReplace) => Text.escapeRegExp(Text.reverse(hashToReplace))) + .join('|'), + 'g' + ); + let match: RegExpMatchArray | null; + while ((match = regexp.exec(reversedSourceString)) !== null) { + const { 0: reverseOriginalHash, index } = match; + const matchStart: number = index!; + const matchEnd: number = matchStart + reverseOriginalHash.length - 1; + const replacement: string = relevantHashReplacements.get( + Text.reverse(reverseOriginalHash) + )!; + + // Figure out the location in the original string + const reversedMatchStart: number = sourceStringLength - matchEnd - 1; + const reversedMatchEnd: number = sourceStringLength - matchStart - 1; + replaceSource.replace(reversedMatchStart, reversedMatchEnd, replacement); + } + } + + assetSource = replaceSource; + compilation.updateAsset(jsAssetName, assetSource); + } + } + + if (jsAssetName.includes(existingHash)) { + const trueHash: string = hashFn(assetSource.buffer()); + if (trueHash !== existingHash) { + compilation.renameAsset(jsAssetName, jsAssetName.replace(existingHash, trueHash)); + return trueHash; + } + } + } + } + + const localizedFiles: Record | undefined = ( + chunk as ILocalizedWebpackChunk + ).localizedFiles; + if (localizedFiles) { + const trueHashByLocale: Record = {}; + hashReplacementsByChunk.set(chunk, { + existingHash, + trueHashByLocale + }); + for (const [locale, jsAssetName] of Object.entries(localizedFiles)) { + const trueHash: string | undefined = processChunkAsset(jsAssetName, locale); + if (trueHash) { + trueHashByLocale[locale] = trueHash; + } + } + } else { + const assetNames: string[] = Array.from(chunk.files); + let jsAssetName: string | undefined; + for (const assetName of assetNames) { + if (assetName.endsWith('.js')) { + if (jsAssetName) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} found multiple .js assets for chunk ${chunk.id}.` + ) + ); + } else { + jsAssetName = assetName; + } + } + } + + if (!jsAssetName) { + compilation.errors.push( + new thisWebpack.WebpackError( + `${TrueHashPlugin.name} could not find a .js asset for chunk ${chunk.id}.` + ) + ); + } else { + const trueHash: string | undefined = processChunkAsset(jsAssetName, undefined); + if (trueHash) { + hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); + } + } + } + } + + unprocessedChunks.delete(chunk); + const dependents: Set | undefined = dependentsByChunk.get(chunk); + if (dependents) { + for (const dependent of dependents) { + unprocessedDependenciesByChunk.get(dependent)?.delete(chunk); + } + } + } + } + } + } + } + ); + }); + } +} diff --git a/webpack/webpack5-true-hash-plugin/src/index.ts b/webpack/webpack5-true-hash-plugin/src/index.ts new file mode 100644 index 00000000000..2045d3bbaf2 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/index.ts @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +export { + TrueHashPlugin, + type ITrueHashPluginOptions, + type ICustomHashFunctionOptions, + type IHashAlgorithmOptions, + type ITrueHashPluginOptionsBase +} from './TrueHashPlugin'; diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts new file mode 100644 index 00000000000..cf7db83f98b --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, + '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const resJsonLoader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.resjson': { + test: 'baz' + }, + '/a/strings2.resjson': { + another: 'some random translation' + } + } + } + }, + runtimeLocaleExpression: 'self.__locale' + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js', + chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + }, + module: { + rules: [ + { + test: /\.resjson$/, + use: { + loader: resJsonLoader + }, + type: 'json', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles async localized chunks with a runtime locale expression (unminified)', async () => { + await testLocalizedAsyncDynamicInner(false); + }); + + it('Handles async localized chunks with a runtime locale expression (minified)', async () => { + await testLocalizedAsyncDynamicInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts new file mode 100644 index 00000000000..497991dd1a6 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, + '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}`, + '/b/entry.js': `console.log('hello world');` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const resJsonLoader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.resjson': { + test: 'baz' + }, + '/a/strings2.resjson': { + another: 'some random translation' + } + } + } + }, + runtimeLocaleExpression: 'self.__locale + "/"', + formatLocaleForFilename: (locale: string) => { + if (locale === 'none') { + return ''; + } else { + return `${locale}/`; + } + } + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js', + other: '/b/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js', + chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + }, + module: { + rules: [ + { + test: /\.resjson$/, + use: { + loader: resJsonLoader + }, + type: 'json', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + expect(stats.compilation.assets).toMatchSnapshot('Assets'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles async localized chunks with a runtime locale expression (unminified)', async () => { + await testLocalizedAsyncDynamicInner(false); + }); + + it('Handles async localized chunks with a runtime locale expression (minified)', async () => { + await testLocalizedAsyncDynamicInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts new file mode 100644 index 00000000000..ad6efc38fbe --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testLocalizedNoAsyncInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js"] }', + '/a/entry.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/strings1.resjson': JSON.stringify({ + test: 'blah\r\n\t\\\'"', + '_test.comment': 'A string' + }), + '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const resJsonLoader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1', + fillMissingTranslationStrings: true + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.resjson': { + test: `return:\r,newline:\n,tab:\t,backslash:\\,apos:',quote:"` + } + } + }, + passthroughLocale: { + passthroughLocaleName: 'default', + usePassthroughLocale: true + }, + pseudolocales: { + 'qps-ploc': { + prepend: '!--', + append: '-|-' + } + } + }, + localizationStats: { + dropPath: 'localization-stats.json' + } + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale].js' + }, + module: { + rules: [ + { + test: /\.resjson$/, + use: { + loader: resJsonLoader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles localized compilation with no async chunks (unminified)', async () => { + await testLocalizedNoAsyncInner(false); + }); + + it('Handles localized compilation with no async chunks (minified)', async () => { + await testLocalizedNoAsyncInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts new file mode 100644 index 00000000000..a6c838fe034 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); + +import { runTests } from './LocalizedRuntimeTestBase'; + +runTests(); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts new file mode 100644 index 00000000000..f2cb276e654 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); + +import { createHash } from 'crypto'; + +import { runTests } from './LocalizedRuntimeTestBase'; + +runTests({ + hashFunction: (contents) => createHash('sha256').update(contents).digest('hex') +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts new file mode 100644 index 00000000000..0c6aa1bc7a0 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { type ITrueHashPluginOptions, TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): void { + async function testLocalizedRuntimeInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, + '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin(trueHashPluginOptions); + + const resJsonLoader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.resjson': { + test: 'baz' + }, + '/a/strings2.resjson': { + another: 'some random translation' + } + } + } + } + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js', + chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + }, + module: { + rules: [ + { + test: /\.resjson$/, + use: { + loader: resJsonLoader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); + } + + describe(TrueHashPlugin.name, () => { + it('Handles async localized chunks (unminified)', async () => { + await testLocalizedRuntimeInner(false); + }); + + it('Handles async localized chunks (minified)', async () => { + await testLocalizedRuntimeInner(true); + }); + }); +} diff --git a/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts b/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts new file mode 100644 index 00000000000..d96ddc8de84 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { Compiler, WebpackPluginInstance } from 'webpack'; +import type { Volume } from 'memfs/lib/volume'; + +const PLUGIN_NAME: 'MemFSPlugin' = 'MemFSPlugin'; +export class MemFSPlugin implements WebpackPluginInstance { + private readonly _memfs: Volume; + + public constructor(memfs: Volume) { + this._memfs = memfs; + } + + public apply(compiler: Compiler): void { + const nodeFileSystem: typeof compiler.inputFileSystem = compiler.inputFileSystem; + compiler.inputFileSystem = this._memfs; + compiler.intermediateFileSystem = this._memfs; + compiler.outputFileSystem = this._memfs; + compiler.resolverFactory.hooks.resolveOptions.for('loader').tap( + { + stage: 10, + name: PLUGIN_NAME + }, + (options) => { + options.fileSystem = nodeFileSystem; + return options; + } + ); + } +} diff --git a/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts new file mode 100644 index 00000000000..4b22f1d278a --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testMixedAsyncInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', + '/a/async1.js': `console.log("blah1");`, + '/a/async2.js': `console.log("blah2");`, + '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, + '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, + '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const loader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/locjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.loc.json': { + test: 'baz' + }, + '/a/strings2.loc.json': { + another: 'some random translation' + } + } + } + } + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js', + chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + }, + module: { + rules: [ + { + test: /\.loc.json$/, + use: { + loader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { + await testMixedAsyncInner(false); + }); + + it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { + await testMixedAsyncInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts new file mode 100644 index 00000000000..aa6811b420f --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { Import } from '@rushstack/node-core-library'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testMixedAsyncDynamicInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', + '/a/async1.js': `console.log("blah1");`, + '/a/async2.js': `console.log("blah2");`, + '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, + '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, + '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` + }, + '/' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const loader: string = Import.resolveModule({ + modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/locjson-loader.js', + baseFolderPath: __dirname + }); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.loc.json': { + test: 'baz' + }, + '/a/strings2.loc.json': { + another: 'some random translation' + } + } + } + }, + runtimeLocaleExpression: 'self.__locale' + }); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js', + chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + }, + module: { + rules: [ + { + test: /\.loc.json$/, + use: { + loader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { + await testMixedAsyncDynamicInner(false); + }); + + it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { + await testMixedAsyncDynamicInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts new file mode 100644 index 00000000000..30b7cacbe03 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testNonLocalizedInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/package.json': '{}', + '/entry.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, + '/async1.js': `export function foo() { console.log('foo1'); }`, + '/async2.js': `export function foo() { console.log('foo2'); }` + }, + '/src' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: {} + } + }); + + const compiler: webpack.Compiler = webpack({ + entry: { + main: '/entry.js' + }, + output: { + path: '/release', + filename: '[name]_[locale]_[contenthash].js' + }, + context: '/', + optimization: { + minimize, + moduleIds: 'named' + }, + mode: 'production', + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(LocalizationPlugin.name, () => { + it('Handles non-localized compilations (unminified)', async () => { + await testNonLocalizedInner(false); + }); + + it('Handles non-localized compilations (minified)', async () => { + await testNonLocalizedInner(true); + }); +}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap new file mode 100644 index 00000000000..069daff734d --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap @@ -0,0 +1,380 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` +Object { + "/release/chunks/async1_LOCALE1_cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1_LOCALE2_7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2_LOCALE1_a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2_LOCALE2_3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/main_none_f7963e05e4bc9b80c7ff.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+self.__locale+\\"_\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async1_LOCALE2_00e76f2f6b11e0336c85.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE1_0d52bc34c94d8e75d358.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE2_c95a3b39f36e77b61d6c.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/main_none_6b703da1c73e6761b602.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + self.__locale + \\"_\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap new file mode 100644 index 00000000000..bf7c066763e --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap @@ -0,0 +1,432 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` +Object { + "chunks/async1_LOCALE1/_cad17fe7b3c351329046.js": SizeOnlySource { + "_size": 326, + }, + "chunks/async1_LOCALE2/_7985b395dd8638da988b.js": SizeOnlySource { + "_size": 334, + }, + "chunks/async2_LOCALE1/_a451214780b2bb8a7567.js": SizeOnlySource { + "_size": 326, + }, + "chunks/async2_LOCALE2/_3ab09d6118116a26d5bb.js": SizeOnlySource { + "_size": 334, + }, + "main__4b2006fcf108c33ae5e1.js": SizeOnlySource { + "_size": 2569, + }, + "other__544743f724b236ee60fe.js": SizeOnlySource { + "_size": 27, + }, +} +`; + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` +Object { + "/release/chunks/async1_LOCALE1/_cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1_LOCALE2/_7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2_LOCALE1/_a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2_LOCALE2/_3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/main__4b2006fcf108c33ae5e1.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+self.__locale+\\"/_\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async1_LOCALE2/_00e76f2f6b11e0336c85.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE1/_0d52bc34c94d8e75d358.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE2/_c95a3b39f36e77b61d6c.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/main__26017230ef6216b3cf08.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + self.__locale + \\"/\\" + \\"_\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", + "/release/other__ea8cfa44fb56d61926bb.js": "/******/ (() => { // webpackBootstrap +var __webpack_exports__ = {}; +console.log('hello world'); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap new file mode 100644 index 00000000000..1a737437985 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap @@ -0,0 +1,81 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Content 1`] = ` +Object { + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main_default.js\\",\\"LOCALE2\\":\\"main_LOCALE2.js\\",\\"LOCALE1\\":\\"main_LOCALE1.js\\",\\"qps-ploc\\":\\"main_qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main_LOCALE1.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", + "/release/main_LOCALE2.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", + "/release/main_default.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", + "/release/main_qps-ploc.js": "(()=>{\\"use strict\\";console.log(\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\",\\"!--śōmēţĥĩńĝ ēĺśē-|-\\")})();", +} +`; + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Warnings 1`] = `Array []`; + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Content 1`] = ` +Object { + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main_default.js\\",\\"LOCALE2\\":\\"main_LOCALE2.js\\",\\"LOCALE1\\":\\"main_LOCALE1.js\\",\\"qps-ploc\\":\\"main_qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main_LOCALE1.js": "/******/ (() => { // webpackBootstrap +/******/ \\"use strict\\"; +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: ./a/strings1.resjson +const strings = {\\"test\\":\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\"}; +/* harmony default export */ const strings1_resjson = (strings); +;// CONCATENATED MODULE: ./a/strings2.resjson +const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); +;// CONCATENATED MODULE: ./a/entry.js + console.log(strings1_resjson.test, strings2_resjson.another); +/******/ })() +;", + "/release/main_LOCALE2.js": "/******/ (() => { // webpackBootstrap +/******/ \\"use strict\\"; +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: ./a/strings1.resjson +const strings = {\\"test\\":\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\"}; +/* harmony default export */ const strings1_resjson = (strings); +;// CONCATENATED MODULE: ./a/strings2.resjson +const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); +;// CONCATENATED MODULE: ./a/entry.js + console.log(strings1_resjson.test, strings2_resjson.another); +/******/ })() +;", + "/release/main_default.js": "/******/ (() => { // webpackBootstrap +/******/ \\"use strict\\"; +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: ./a/strings1.resjson +const strings = {\\"test\\":\\"test\\"}; +/* harmony default export */ const strings1_resjson = (strings); +;// CONCATENATED MODULE: ./a/strings2.resjson +const strings2_resjson_strings = {\\"another\\":\\"another\\"}; +/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); +;// CONCATENATED MODULE: ./a/entry.js + console.log(strings1_resjson.test, strings2_resjson.another); +/******/ })() +;", + "/release/main_qps-ploc.js": "/******/ (() => { // webpackBootstrap +/******/ \\"use strict\\"; +var __webpack_exports__ = {}; + +;// CONCATENATED MODULE: ./a/strings1.resjson +const strings = {\\"test\\":\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\"}; +/* harmony default export */ const strings1_resjson = (strings); +;// CONCATENATED MODULE: ./a/strings2.resjson +const strings2_resjson_strings = {\\"another\\":\\"!--śōmēţĥĩńĝ ēĺśē-|-\\"}; +/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); +;// CONCATENATED MODULE: ./a/entry.js + console.log(strings1_resjson.test, strings2_resjson.another); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap new file mode 100644 index 00000000000..8e8ef3eaaa5 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap @@ -0,0 +1,681 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized chunks (minified): Content 1`] = ` +Object { + "/release/chunks/async1_LOCALE1_e795ad0fdd98b21e2d14.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1_LOCALE2_8b94b0a6bc0d7c5b4c44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2_LOCALE1_fd27edad5b9ce4d9eec1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2_LOCALE2_cd16fef4b4d31d50c7ff.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/main_LOCALE1_7dec37ac7ee45bbbbb88.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE1\\"+\\"_\\"+{515:\\"e795ad0fdd98b21e2d14\\",989:\\"fd27edad5b9ce4d9eec1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE2\\"+\\"_\\"+{515:\\"8b94b0a6bc0d7c5b4c44\\",989:\\"cd16fef4b4d31d50c7ff\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async1_LOCALE2_09e4b8b6df2295cc04fb.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE1_923fbcff1c3f86213cea.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE2_839abaf0fa6cdd8179ba.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main_LOCALE1_e4caa8e1b70145ddf35d.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE1\\" + \\"_\\" + {\\"515\\":\\"a0dc7ce0f9ce060c986e\\",\\"989\\":\\"923fbcff1c3f86213cea\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", + "/release/main_LOCALE2_4dec796e272184502d1b.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE2\\" + \\"_\\" + {\\"515\\":\\"09e4b8b6df2295cc04fb\\",\\"989\\":\\"839abaf0fa6cdd8179ba\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized chunks (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap new file mode 100644 index 00000000000..17785e94337 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap @@ -0,0 +1,681 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized chunks (minified): Content 1`] = ` +Object { + "/release/chunks/async1_LOCALE1_48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1_LOCALE2_bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2_LOCALE1_9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2_LOCALE2_e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/main_LOCALE1_8386d5ee64efcdf87f853e856d993ba1bbd2068bb5c19b325855189767ccd3b8.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE1\\"+\\"_\\"+{515:\\"48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73\\",989:\\"9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE2\\"+\\"_\\"+{515:\\"bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5\\",989:\\"e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async1_LOCALE2_9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE1_c6f2ba01a69ea8170907f54734f3f539a7f44d9d9aa463963ec63181294f748a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2_LOCALE2_0496c0d557f60f54802c2f22ae7a0d5186ada796cb053da5f964ce070e79de2c.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main_LOCALE1_2419bbeabdf6496af60707f34628603cc06a75b7f041d65ad054772ae55da966.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE1\\" + \\"_\\" + {\\"515\\":\\"64cd1683fc081fb426519e5f5e38154a0a9db67429cf60140b6a7a393f3a745d\\",\\"989\\":\\"c6f2ba01a69ea8170907f54734f3f539a7f44d9d9aa463963ec63181294f748a\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", + "/release/main_LOCALE2_7f3e49c9be7f7dd3aa49e771d464af242f9b2960dab3c130b0b697826e8922a0.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE2\\" + \\"_\\" + {\\"515\\":\\"9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6\\",\\"989\\":\\"0496c0d557f60f54802c2f22ae7a0d5186ada796cb053da5f964ce070e79de2c\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized chunks (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap new file mode 100644 index 00000000000..80ae8a45851 --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -0,0 +1,763 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` +Object { + "/release/chunks/async1_none_601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2_none_e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1_LOCALE1_168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1_LOCALE2_14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2_LOCALE1_e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2_LOCALE2_fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main_LOCALE1_93987ff51c3b1f9333f9.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"_\\"+{5:\\"e442ade75ccc8ccb7d2f\\",14:\\"168f848b770aa62ad17d\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"_\\"+{5:\\"fd29172ccf479e97aa94\\",14:\\"14e0a3b5691b9628be91\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u { + +console.log(\\"blah1\\"); + +/***/ }) + +}]);", + "/release/chunks/async2_none_41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ (() => { + +console.log(\\"blah2\\"); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1_LOCALE1_40f629a47fce31f71795.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1_LOCALE2_47968ebc87e0937a22bc.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2_LOCALE1_e928396bee55883d3b7a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2_LOCALE2_92ed268b2fc76b31ee2a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main_LOCALE1_cf45bf1d56011ead1a1e.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"_\\" + {\\"5\\":\\"e928396bee55883d3b7a\\",\\"14\\":\\"40f629a47fce31f71795\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", + "/release/main_LOCALE2_e381102f9fbc8c4631ae.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"_\\" + {\\"5\\":\\"92ed268b2fc76b31ee2a\\",\\"14\\":\\"47968ebc87e0937a22bc\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap new file mode 100644 index 00000000000..0dc19f7809f --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -0,0 +1,476 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` +Object { + "/release/chunks/async1_none_601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2_none_e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1_LOCALE1_168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1_LOCALE2_14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2_LOCALE1_e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2_LOCALE2_fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main_none_c4865b069a7b15858c56.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"_\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s { + +console.log(\\"blah1\\"); + +/***/ }) + +}]);", + "/release/chunks/async2_none_41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ (() => { + +console.log(\\"blah2\\"); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1_LOCALE1_40f629a47fce31f71795.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1_LOCALE2_47968ebc87e0937a22bc.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2_LOCALE1_e928396bee55883d3b7a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2_LOCALE2_92ed268b2fc76b31ee2a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main_none_049cbab8d82633074b27.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?self.__locale:\\"none\\") + \\"_\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", +} +`; + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; + +exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap new file mode 100644 index 00000000000..ec6580d527e --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap @@ -0,0 +1,308 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`LocalizationPlugin Handles non-localized compilations (minified): Content 1`] = ` +Object { + "/release/async1_none_48a722dc54a6c9ffce23.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/async2_none_533c236877cb65c0fb15.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/main_none_e5984c6b7fb97f82b50a.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\"_none_\\"+{515:\\"48a722dc54a6c9ffce23\\",989:\\"533c236877cb65c0fb15\\"}[e]+\\".js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(f);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),c=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",c.name=\\"ChunkLoadError\\",c.type=i,c.request=a,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,c,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);se.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", +} +`; + +exports[`LocalizationPlugin Handles non-localized compilations (minified): Errors 1`] = `Array []`; + +exports[`LocalizationPlugin Handles non-localized compilations (minified): Warnings 1`] = `Array []`; + +exports[`LocalizationPlugin Handles non-localized compilations (unminified): Content 1`] = ` +Object { + "/release/async1_none_a138af13bd80cae8310a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"foo\\": () => (/* binding */ foo) +/* harmony export */ }); +function foo() { console.log('foo1'); } + +/***/ }) + +}]);", + "/release/async2_none_0c142ab36ce8fdb6d445.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"foo\\": () => (/* binding */ foo) +/* harmony export */ }); +function foo() { console.log('foo2'); } + +/***/ }) + +}]);", + "/release/main_none_ded83b51a15fab4d3199.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_none_\\" + {\\"515\\":\\"a138af13bd80cae8310a\\",\\"989\\":\\"0c142ab36ce8fdb6d445\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo());__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./async2.js\\")).then(mod => mod.foo()); +/******/ })() +;", +} +`; + +exports[`LocalizationPlugin Handles non-localized compilations (unminified): Errors 1`] = `Array []`; + +exports[`LocalizationPlugin Handles non-localized compilations (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/tsconfig.json b/webpack/webpack5-true-hash-plugin/tsconfig.json new file mode 100644 index 00000000000..7902d0431ea --- /dev/null +++ b/webpack/webpack5-true-hash-plugin/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json", + "compilerOptions": { + "target": "ES2019" + } +} From 6d626e3de832f5501053999aee7f2358bfd29156 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 17:28:18 -0500 Subject: [PATCH 046/180] Expand test cases for the localization plugin. --- .../src/test/LocalizedAsyncDynamic.test.ts | 17 +- ...cDynamicFormatWithNoLocaleFallback.test.ts | 17 +- .../src/test/LocalizedNoAsync.test.ts | 4 +- .../src/test/LocalizedRuntime.test.ts | 17 +- .../src/test/MixedAsync.test.ts | 116 +++ .../src/test/MixedAsyncDynamic.test.ts | 20 +- .../src/test/NoLocalizedFiles.test.ts | 19 +- .../LocalizedAsyncDynamic.test.ts.snap | 399 ++++++++- ...micFormatWithNoLocaleFallback.test.ts.snap | 449 ++++++++-- .../LocalizedNoAsync.test.ts.snap | 24 +- .../LocalizedRuntime.test.ts.snap | 710 ++++++++++++++- ...edRuntimeDifferentHashLengths.test.ts.snap | 681 +++++++++++++++ .../__snapshots__/MixedAsync.test.ts.snap | 817 ++++++++++++++++++ .../MixedAsyncDynamic.test.ts.snap | 438 +++++++++- .../NoLocalizedFiles.test.ts.snap | 293 ++++++- 15 files changed, 3810 insertions(+), 211 deletions(-) create mode 100644 webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts create mode 100644 webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap create mode 100644 webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts index 5b0ca68ad89..e226609c8a9 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -17,8 +17,10 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise memoryFileSystem.fromJSON( { '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async' */ './async');`, + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entrySingleChunk.js': `import(/* webpackChunkName: 'async1' */ './async1');`, + '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` }, @@ -34,10 +36,10 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { - localeName: 'en-us' + localeName: 'LOCALE1' }, translatedStrings: { - foo: { + LOCALE2: { '/a/strings1.resjson': { test: 'baz' }, @@ -57,12 +59,13 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise const compiler: Compiler = webpack({ entry: { - main: '/a/entry.js' + mainSingleChunk: '/a/entrySingleChunk.js', + mainTwoChunks: '/a/entryTwoChunks.js' }, output: { path: '/release', - filename: '[name]-[locale].js', - chunkFilename: 'chunks/[name]-[locale].js' + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' }, module: { rules: [ diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts index 57a427e194b..8a452a63525 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -17,8 +17,10 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise memoryFileSystem.fromJSON( { '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async' */ './async');`, + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entrySingleChunk.js': `import(/* webpackChunkName: 'async1' */ './async1');`, + '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}`, '/b/entry.js': `console.log('hello world');` @@ -35,10 +37,10 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { - localeName: 'en-us' + localeName: 'LOCALE1' }, translatedStrings: { - foo: { + LOCALE2: { '/a/strings1.resjson': { test: 'baz' }, @@ -65,13 +67,14 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise const compiler: Compiler = webpack({ entry: { - main: '/a/entry.js', + mainSingleChunk: '/a/entrySingleChunk.js', + mainTwoChunks: '/a/entryTwoChunks.js', other: '/b/entry.js' }, output: { path: '/release', - filename: '[locale][name].js', - chunkFilename: 'chunks/[locale][name].js' + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' }, module: { rules: [ diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts index 03f388d3142..3747c9efd78 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts @@ -31,11 +31,11 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { - localeName: 'en-us', + localeName: 'LOCALE1', fillMissingTranslationStrings: true }, translatedStrings: { - foo: { + LOCALE2: { '/a/strings1.resjson': { test: `return:\r,newline:\n,tab:\t,backslash:\\,apos:',quote:"` } diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts index d7456f11445..34449c7235f 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts @@ -17,8 +17,10 @@ async function testLocalizedRuntimeInner(minimize: boolean): Promise { memoryFileSystem.fromJSON( { '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async' */ './async');`, + '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, + '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, + '/a/entrySingleChunk.js': `import(/* webpackChunkName: 'async1' */ './async1');`, + '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` }, @@ -29,10 +31,10 @@ async function testLocalizedRuntimeInner(minimize: boolean): Promise { const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { - localeName: 'en-us' + localeName: 'LOCALE1' }, translatedStrings: { - foo: { + LOCALE2: { '/a/strings1.resjson': { test: 'baz' }, @@ -48,12 +50,13 @@ async function testLocalizedRuntimeInner(minimize: boolean): Promise { const compiler: Compiler = webpack({ entry: { - main: '/a/entry.js' + mainSingleChunk: '/a/entrySingleChunk.js', + mainTwoChunks: '/a/entryTwoChunks.js' }, output: { path: '/release', - filename: '[name]-[locale].js', - chunkFilename: 'chunks/[name]-[locale].js' + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' }, module: { rules: [ diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts new file mode 100644 index 00000000000..6333cf672ea --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { resolve } from 'path'; +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; + +import { LocalizationPlugin } from '../LocalizationPlugin'; +import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; +// import { TrueHashPlugin } from '../../../webpack5-true-hash-plugin/src/TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testMixedAsyncInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', + '/a/async1.js': `console.log("blah1");`, + '/a/async2.js': `console.log("blah2");`, + '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, + '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, + '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` + }, + '/' + ); + + // const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + + let localizationStats: ILocalizationStats | undefined; + function statsCallback(stats: ILocalizationStats): void { + localizationStats = stats; + } + + const loader: string = resolve(__dirname, '../loaders/locjson-loader.js'); + const options: ILocalizationPluginOptions = { + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.loc.json': { + test: 'baz' + }, + '/a/strings2.loc.json': { + another: 'some random translation' + } + } + } + }, + localizationStats: { + callback: statsCallback + } + }; + + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' + }, + module: { + rules: [ + { + test: /\.loc.json$/, + use: { + loader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); + + expect(localizationStats).toMatchSnapshot('Localization Stats'); +} + +describe(LocalizationPlugin.name, () => { + it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { + await testMixedAsyncInner(false); + }); + + it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { + await testMixedAsyncInner(true); + }); +}); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index 354a963ee0b..fd2566515ff 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -17,9 +17,12 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { memoryFileSystem.fromJSON( { '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', - '/a/async.js': `console.log("blah");`, - '/a/asyncLoc.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc' */ './asyncLoc');import(/* webpackChunkName: 'async' */ './async');`, + '/a/async1.js': `console.log("blah1");`, + '/a/async2.js': `console.log("blah2");`, + '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, + '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, + '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');`, + '/a/entryFourChunks.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` }, @@ -30,10 +33,10 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { - localeName: 'en-us' + localeName: 'LOCALE1' }, translatedStrings: { - foo: { + LOCALE2: { '/a/strings1.loc.json': { test: 'baz' }, @@ -50,12 +53,13 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { const compiler: Compiler = webpack({ entry: { - main: '/a/entry.js' + mainTwoChunks: '/a/entryTwoChunks.js', + mainFourChunks: '/a/entryFourChunks.js' }, output: { path: '/release', - filename: '[name]-[locale].js', - chunkFilename: 'chunks/[name]-[locale].js' + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' }, module: { rules: [ diff --git a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts index 20388576737..228ecdd73e4 100644 --- a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts @@ -8,14 +8,17 @@ import webpack, { type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; async function testNonLocalizedInner(minimize: boolean): Promise { const memoryFileSystem: Volume = new Volume(); memoryFileSystem.fromJSON( { '/package.json': '{}', - '/entry.js': `console.log("Do stuff");import(/* webpackChunkName: 'async' */ './async.js').then(mod => mod.foo());`, - '/async.js': `export function foo() { console.log('foo'); }` + '/entrySingleChunk.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());`, + '/entryTwoChunks.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, + '/async1.js': `export function foo() { console.log('foo1'); }`, + '/async2.js': `export function foo() { console.log('foo2'); }` }, '/src' ); @@ -23,7 +26,7 @@ async function testNonLocalizedInner(minimize: boolean): Promise { const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ localizedData: { defaultLocale: { - localeName: 'en-us' + localeName: 'LOCALE1' }, translatedStrings: {} } @@ -31,11 +34,12 @@ async function testNonLocalizedInner(minimize: boolean): Promise { const compiler: webpack.Compiler = webpack({ entry: { - main: '/entry.js' + mainSingleChunk: '/entrySingleChunk.js', + mainTwoChunks: '/entryTwoChunks.js' }, output: { path: '/release', - filename: '[name]-[locale].js' + filename: '[name]-[locale]-[contenthash].js' }, context: '/', optimization: { @@ -43,12 +47,9 @@ async function testNonLocalizedInner(minimize: boolean): Promise { moduleIds: 'named' }, mode: 'production', - plugins: [localizationPlugin] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); - compiler.inputFileSystem = memoryFileSystem; - compiler.outputFileSystem = memoryFileSystem; - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); await promisify(compiler.close.bind(compiler))(); if (!stats) { diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap index f10566354ba..60d005261c8 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap @@ -2,9 +2,12 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async-en-us.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);const a=JSON.parse('{\\"B\\":\\"blah\\"}'),h=JSON.parse('{\\"P\\":\\"something else\\"}');console.log(a.B,h.P)}}]);", - "/release/chunks/async-foo.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);const a=JSON.parse('{\\"B\\":\\"baz\\"}'),h=JSON.parse('{\\"P\\":\\"some random translation\\"}');console.log(a.B,h.P)}}]);", - "/release/main-none.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async-\\"+self.__locale+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk-none-68a37a79b5f57b145053.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { -/***/ \\"./a/async.js\\": +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async1-LOCALE2-624dafee0ae29c9ceab3.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings1_resjson_namespaceObject = JSON.parse('{\\"B\\":\\"blah\\"}'); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"something else\\"}'); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson_namespaceObject.B, strings2_resjson_namespaceObject.P); +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); /***/ }) }]);", - "/release/chunks/async-foo.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[931],{ + "/release/chunks/async2-LOCALE1-abe104ddce8341ef1bb7.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ -/***/ \\"./a/async.js\\": +/***/ \\"./a/async2.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings1_resjson_namespaceObject = JSON.parse('{\\"B\\":\\"baz\\"}'); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random translation\\"}'); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson_namespaceObject.B, strings2_resjson_namespaceObject.P); +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); /***/ }) }]);", - "/release/main-none.js": "/******/ (() => { // webpackBootstrap + "/release/chunks/async2-LOCALE2-abe104ddce8341ef1bb7.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/mainSingleChunk-none-12605f94c24d06759067.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"-\\" + \\"624dafee0ae29c9ceab3\\" + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); +/******/ })() +;", + "/release/mainTwoChunks-none-c8d335424a028821be16.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -115,7 +442,7 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async\\" + \\"-\\" + self.__locale + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -223,7 +550,7 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -307,7 +634,7 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ /************************************************************************/ var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind(__webpack_require__, \\"./a/async.js\\")); +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", } @@ -319,10 +646,16 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale Object { "entrypoints": Object {}, "namedChunkGroups": Object { - "async": Object { + "async1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/async1-LOCALE1-268cfe557834794b247b.js", + "LOCALE2": "chunks/async1-LOCALE2-268cfe557834794b247b.js", + }, + }, + "async2": Object { "localizedAssets": Object { - "en-us": "chunks/async-en-us.js", - "foo": "chunks/async-foo.js", + "LOCALE1": "chunks/async2-LOCALE1-c8dd89f429d58ff2c174.js", + "LOCALE2": "chunks/async2-LOCALE2-c8dd89f429d58ff2c174.js", }, }, }, diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap index 1004d57776d..d3ee8fda6cc 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap @@ -2,16 +2,25 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` Object { - "chunks/en-us/async.js": SizeOnlySource { - "_size": 199, + "chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "_size": 326, }, - "chunks/foo/async.js": SizeOnlySource { - "_size": 207, + "chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "_size": 334, }, - "main.js": SizeOnlySource { - "_size": 2434, + "chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": SizeOnlySource { + "_size": 326, }, - "other.js": SizeOnlySource { + "chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": SizeOnlySource { + "_size": 334, + }, + "mainSingleChunk--afcc3255fa327e61cdd6.js": SizeOnlySource { + "_size": 2458, + }, + "mainTwoChunks--fa1b1d92e5c85d34a645.js": SizeOnlySource { + "_size": 2569, + }, + "other--544743f724b236ee60fe.js": SizeOnlySource { "_size": 27, }, } @@ -19,10 +28,13 @@ Object { exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/en-us/async.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);const a=JSON.parse('{\\"B\\":\\"blah\\"}'),h=JSON.parse('{\\"P\\":\\"something else\\"}');console.log(a.B,h.P)}}]);", - "/release/chunks/foo/async.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);const a=JSON.parse('{\\"B\\":\\"baz\\"}'),h=JSON.parse('{\\"P\\":\\"some random translation\\"}');console.log(a.B,h.P)}}]);", - "/release/main.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+self.__locale+\\"/async.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk--afcc3255fa327e61cdd6.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings1_resjson_namespaceObject = JSON.parse('{\\"B\\":\\"blah\\"}'); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"something else\\"}'); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson_namespaceObject.B, strings2_resjson_namespaceObject.P); +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); /***/ }) }]);", - "/release/chunks/foo/async.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[931],{ + "/release/chunks/async1-LOCALE2/-624dafee0ae29c9ceab3.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ -/***/ \\"./a/async.js\\": +/***/ \\"./a/async1.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings1_resjson_namespaceObject = JSON.parse('{\\"B\\":\\"baz\\"}'); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random translation\\"}'); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson_namespaceObject.B, strings2_resjson_namespaceObject.P); +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); /***/ }) }]);", - "/release/main.js": "/******/ (() => { // webpackBootstrap + "/release/chunks/async2-LOCALE1/-abe104ddce8341ef1bb7.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); + +/***/ }) + +}]);", + "/release/chunks/async2-LOCALE2/-abe104ddce8341ef1bb7.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((module) => { + +module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); + +/***/ }) + +}]);", + "/release/mainSingleChunk--c45bcdd9b6cbb014e637.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + \\"624dafee0ae29c9ceab3\\" + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); +/******/ })() +;", + "/release/mainTwoChunks--7e74e29909840b009075.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -150,7 +495,7 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + self.__locale + \\"/\\" + \\"\\" + \\"async\\" + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -258,7 +603,7 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -342,10 +687,10 @@ const strings2_resjson_namespaceObject = JSON.parse('{\\"P\\":\\"some random tra /******/ /************************************************************************/ var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind(__webpack_require__, \\"./a/async.js\\")); +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", - "/release/other.js": "/******/ (() => { // webpackBootstrap + "/release/other--ea8cfa44fb56d61926bb.js": "/******/ (() => { // webpackBootstrap var __webpack_exports__ = {}; console.log('hello world'); /******/ })() @@ -359,10 +704,16 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale Object { "entrypoints": Object {}, "namedChunkGroups": Object { - "async": Object { + "async1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/async1-LOCALE1/-268cfe557834794b247b.js", + "LOCALE2": "chunks/async1-LOCALE2/-268cfe557834794b247b.js", + }, + }, + "async2": Object { "localizedAssets": Object { - "en-us": "chunks/en-us/async.js", - "foo": "chunks/foo/async.js", + "LOCALE1": "chunks/async2-LOCALE1/-c8dd89f429d58ff2c174.js", + "LOCALE2": "chunks/async2-LOCALE2/-c8dd89f429d58ff2c174.js", }, }, }, diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap index 3fae95cc347..8f09a1fdce7 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap @@ -2,10 +2,10 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks (minified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"foo\\":\\"main-foo.js\\",\\"en-us\\":\\"main-en-us.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"LOCALE2\\":\\"main-LOCALE2.js\\",\\"LOCALE1\\":\\"main-LOCALE1.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main-LOCALE1.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", + "/release/main-LOCALE2.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", "/release/main-default.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", - "/release/main-en-us.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", - "/release/main-foo.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", "/release/main-qps-ploc.js": "(()=>{\\"use strict\\";console.log(\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\",\\"!--śōmēţĥĩńĝ ēĺśē-|-\\")})();", } `; @@ -16,27 +16,27 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks ( exports[`LocalizationPlugin Handles localized compilation with no async chunks (unminified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"foo\\":\\"main-foo.js\\",\\"en-us\\":\\"main-en-us.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", - "/release/main-default.js": "/******/ (() => { // webpackBootstrap + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"LOCALE2\\":\\"main-LOCALE2.js\\",\\"LOCALE1\\":\\"main-LOCALE1.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main-LOCALE1.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; ;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"test\\"}; +const strings = {\\"test\\":\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\"}; /* harmony default export */ const strings1_resjson = (strings); ;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"another\\"}; +const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; /* harmony default export */ const strings2_resjson = (strings2_resjson_strings); ;// CONCATENATED MODULE: ./a/entry.js console.log(strings1_resjson.test, strings2_resjson.another); /******/ })() ;", - "/release/main-en-us.js": "/******/ (() => { // webpackBootstrap + "/release/main-LOCALE2.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; ;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\"}; +const strings = {\\"test\\":\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\"}; /* harmony default export */ const strings1_resjson = (strings); ;// CONCATENATED MODULE: ./a/strings2.resjson const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; @@ -45,15 +45,15 @@ const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; console.log(strings1_resjson.test, strings2_resjson.another); /******/ })() ;", - "/release/main-foo.js": "/******/ (() => { // webpackBootstrap + "/release/main-default.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; ;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\"}; +const strings = {\\"test\\":\\"test\\"}; /* harmony default export */ const strings1_resjson = (strings); ;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; +const strings2_resjson_strings = {\\"another\\":\\"another\\"}; /* harmony default export */ const strings2_resjson = (strings2_resjson_strings); ;// CONCATENATED MODULE: ./a/entry.js console.log(strings1_resjson.test, strings2_resjson.another); diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap index 5a90e29e530..5f232c71cd9 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap @@ -2,10 +2,14 @@ exports[`LocalizationPlugin Handles async localized chunks (minified): Content 1`] = ` Object { - "/release/chunks/async-en-us.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);console.log(\\"blah\\",\\"something else\\")}}]);", - "/release/chunks/async-foo.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":(_,s,e)=>{e.r(s);console.log(\\"baz\\",\\"some random translation\\")}}]);", - "/release/main-en-us.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async-\\"+\\"en-us\\"+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,s]=t,u=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);s&&s(o)}for(r&&r(t);u{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async-\\"+\\"foo\\"+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,s]=t,u=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);s&&s(o)}for(r&&r(t);u{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1-LOCALE2-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2-LOCALE1-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2-LOCALE2-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/mainSingleChunk-LOCALE1-7dacce16709cbca8eee9.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE1\\"+\\"-757eed4fceee59e0f2f0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE2\\"+\\"-757eed4fceee59e0f2f0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); -;// CONCATENATED MODULE: ./a/strings1.resjson +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async1-LOCALE2-e05854dd4a56c95bf492.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2-LOCALE1-8f6ec87915dee33984d8.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson.test, strings2_resjson.another); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); /***/ }) }]);", - "/release/chunks/async-foo.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[931],{ + "/release/chunks/async2-LOCALE2-8f6ec87915dee33984d8.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ -/***/ \\"./a/async.js\\": +/***/ \\"./a/async2.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), -;// CONCATENATED MODULE: ./a/strings1.resjson +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/async.js - console.log(strings1_resjson.test, strings2_resjson.another); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); /***/ }) }]);", - "/release/main-en-us.js": "/******/ (() => { // webpackBootstrap + "/release/mainSingleChunk-LOCALE1-45f38c90067dd172f484.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -88,6 +194,18 @@ const strings2_resjson_strings = {\\"another\\":\\"some random translation\\"}; /******/ __webpack_require__.m = __webpack_modules__; /******/ /************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ /******/ /* webpack/runtime/ensure chunk */ /******/ (() => { /******/ __webpack_require__.f = {}; @@ -106,7 +224,7 @@ const strings2_resjson_strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async\\" + \\"-\\" + \\"en-us\\" + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + \\"e05854dd4a56c95bf492\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -214,7 +332,7 @@ const strings2_resjson_strings = {\\"another\\":\\"some random translation\\"}; /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 315: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -298,10 +416,10 @@ const strings2_resjson_strings = {\\"another\\":\\"some random translation\\"}; /******/ /************************************************************************/ var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind(__webpack_require__, \\"./a/async.js\\")); +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/main-foo.js": "/******/ (() => { // webpackBootstrap + "/release/mainSingleChunk-LOCALE2-45f38c90067dd172f484.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -332,6 +450,530 @@ __webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind( /******/ __webpack_require__.m = __webpack_modules__; /******/ /************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + \\"e05854dd4a56c95bf492\\" + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); +/******/ })() +;", + "/release/mainTwoChunks-LOCALE1-a22e644b70bf9f846a29.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 903: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", + "/release/mainTwoChunks-LOCALE2-a22e644b70bf9f846a29.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ /******/ /* webpack/runtime/ensure chunk */ /******/ (() => { /******/ __webpack_require__.f = {}; @@ -350,7 +992,7 @@ __webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind( /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async\\" + \\"-\\" + \\"foo\\" + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -458,7 +1100,7 @@ __webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind( /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -542,7 +1184,7 @@ __webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind( /******/ /************************************************************************/ var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind(__webpack_require__, \\"./a/async.js\\")); +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", } diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap new file mode 100644 index 00000000000..f6c3eea9f95 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap @@ -0,0 +1,681 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`LocalizationPlugin Handles async localized chunks (minified): Content 1`] = ` +Object { + "/release/chunks/async1-LOCALE1-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1-LOCALE2-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2-LOCALE1-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2-LOCALE2-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/main-LOCALE1-a716d14ad513259014c5.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async1-LOCALE2-e05854dd4a56c95bf492.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./a/async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2-LOCALE1-8f6ec87915dee33984d8.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/async2-LOCALE2-8f6ec87915dee33984d8.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); +/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); + console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.resjson\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main-LOCALE1-2a1ba42e3fc11bfee8e7.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", + "/release/main-LOCALE2-2a1ba42e3fc11bfee8e7.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); +/******/ })() +;", +} +`; + +exports[`LocalizationPlugin Handles async localized chunks (unminified): Errors 1`] = `Array []`; + +exports[`LocalizationPlugin Handles async localized chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap new file mode 100644 index 00000000000..afc2b04a0b2 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -0,0 +1,817 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` +Object { + "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1-LOCALE1-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main-LOCALE1-8b04abd202fd70b05e98.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u { + +console.log(\\"blah1\\"); + +/***/ }) + +}]);", + "/release/chunks/async2-none-41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ (() => { + +console.log(\\"blah2\\"); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1-LOCALE1-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1-LOCALE2-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2-LOCALE1-3d37e9adadb328886a0a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2-LOCALE2-3d37e9adadb328886a0a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main-LOCALE1-4ee533bed30d3d488715.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", + "/release/main-LOCALE2-4ee533bed30d3d488715.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", +} +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Localization Stats 1`] = ` +Object { + "entrypoints": Object { + "main": Object { + "localizedAssets": Object { + "LOCALE1": "main-LOCALE1-d9e3bbcd50f1fb4d6390.js", + "LOCALE2": "main-LOCALE2-d9e3bbcd50f1fb4d6390.js", + }, + }, + }, + "namedChunkGroups": Object { + "asyncLoc1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc1-LOCALE1-5491741ac467873e0e20.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-5491741ac467873e0e20.js", + }, + }, + "asyncLoc2": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc2-LOCALE1-cd7bb284d09a7eab49e4.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-cd7bb284d09a7eab49e4.js", + }, + }, + }, +} +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap index 6e76e5e9275..69c3e86fa69 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -2,10 +2,14 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async-none.js": "(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./a/async.js\\":()=>{console.log(\\"blah\\")}}]);", - "/release/chunks/asyncLoc-en-us.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[548],{\\"./a/asyncLoc.js\\":(_,s,e)=>{e.r(s);console.log(\\"blah\\",\\"something else\\")}}]);", - "/release/chunks/asyncLoc-foo.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[548],{\\"./a/asyncLoc.js\\":(_,s,e)=>{e.r(s);console.log(\\"baz\\",\\"some random translation\\")}}]);", - "/release/main-none.js": "(()=>{var e,r,t,o={},n={};function a(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return o[e](t,t.exports,a),t.exports}a.m=o,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if(\\"object\\"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&\\"function\\"==typeof t.then)return t}var n=Object.create(null);a.r(n);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&o&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(n,i),n},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{548:\\"asyncLoc\\",931:\\"async\\"}[e]+\\"-\\"+({548:1}[e]?self.__locale:\\"none\\")+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,o,n)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(p);var n=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),r)return r(o)},p=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+n+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=n,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,n,[i,c,l]=t,u=0;if(i.some((r=>0!==e[r]))){for(o in c)a.o(c,o)&&(a.m[o]=c[o]);l&&l(a)}for(r&&r(t);u{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1-LOCALE1-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/mainFourChunks-none-590d7d1f9c50abc6d8cb.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s { -console.log(\\"blah\\"); +console.log(\\"blah1\\"); /***/ }) }]);", - "/release/chunks/asyncLoc-en-us.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[548],{ + "/release/chunks/async2-none-41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ -/***/ \\"./a/asyncLoc.js\\": +/***/ \\"./a/async2.js\\": +/***/ (() => { + +console.log(\\"blah2\\"); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1-LOCALE1-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), -;// CONCATENATED MODULE: ./a/strings1.loc.json +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const strings1_loc = (strings); -;// CONCATENATED MODULE: ./a/strings2.loc.json -const strings2_loc_strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const strings2_loc = (strings2_loc_strings); -;// CONCATENATED MODULE: ./a/asyncLoc.js - console.log(strings1_loc.test, strings2_loc.another); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); /***/ }) }]);", - "/release/chunks/asyncLoc-foo.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[548],{ + "/release/chunks/asyncLoc1-LOCALE2-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ -/***/ \\"./a/asyncLoc.js\\": +/***/ \\"./a/asyncLoc1.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), -;// CONCATENATED MODULE: ./a/strings1.loc.json +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const strings1_loc = (strings); -;// CONCATENATED MODULE: ./a/strings2.loc.json -const strings2_loc_strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const strings2_loc = (strings2_loc_strings); -;// CONCATENATED MODULE: ./a/asyncLoc.js - console.log(strings1_loc.test, strings2_loc.another); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2-LOCALE1-3d37e9adadb328886a0a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); /***/ }) }]);", - "/release/main-none.js": "/******/ (() => { // webpackBootstrap + "/release/chunks/asyncLoc2-LOCALE2-3d37e9adadb328886a0a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/mainFourChunks-none-22134f50a64ffc7dad50.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -158,7 +274,263 @@ const strings2_loc_strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"548\\":\\"asyncLoc\\",\\"931\\":\\"async\\"}[chunkId] + \\"-\\" + ({\\"548\\":1}[chunkId]?self.__locale:\\"none\\") + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?self.__locale:\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 550: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", + "/release/mainTwoChunks-none-f47e7b2badbfc8b639f5.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -266,7 +638,7 @@ const strings2_loc_strings = {\\"another\\":\\"some random translation\\"}; /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -350,7 +722,7 @@ const strings2_loc_strings = {\\"another\\":\\"some random translation\\"}; /******/ /************************************************************************/ var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | asyncLoc */ 548).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc.js\\"));__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async.js\\", 23)); +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\")); /******/ })() ;", } diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap index 56b72e9f35a..3204e84d5ae 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap @@ -2,8 +2,10 @@ exports[`LocalizationPlugin Handles non-localized compilations (minified): Content 1`] = ` Object { - "/release/async-none.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[931],{\\"./async.js\\":(o,s,c)=>{function e(){console.log(\\"foo\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", - "/release/main-none.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"async-none.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var u=document.getElementsByTagName(\\"script\\"),c=0;c{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,u]=t,c=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);u&&u(o)}for(r&&r(t);ce.foo()))})();", + "/release/async1-none-48a722dc54a6c9ffce23.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/async2-none-533c236877cb65c0fb15.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/mainSingleChunk-none-7d6f7e2f26055818203c.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"async1-none-48a722dc54a6c9ffce23.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var u=document.getElementsByTagName(\\"script\\"),c=0;c{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,u]=t,c=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);u&&u(o)}for(r&&r(t);ce.foo()))})();", + "/release/mainTwoChunks-none-e08b212d84344c842772.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\"-none-\\"+{515:\\"48a722dc54a6c9ffce23\\",989:\\"533c236877cb65c0fb15\\"}[e]+\\".js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(f);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),c=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",c.name=\\"ChunkLoadError\\",c.type=i,c.request=a,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,c,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);se.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", } `; @@ -13,22 +15,293 @@ exports[`LocalizationPlugin Handles non-localized compilations (minified): Warni exports[`LocalizationPlugin Handles non-localized compilations (unminified): Content 1`] = ` Object { - "/release/async-none.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[931],{ + "/release/async1-none-a138af13bd80cae8310a.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ -/***/ \\"./async.js\\": +/***/ \\"./async1.js\\": /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ \\"foo\\": () => (/* binding */ foo) /* harmony export */ }); -function foo() { console.log('foo'); } +function foo() { console.log('foo1'); } /***/ }) }]);", - "/release/main-none.js": "/******/ (() => { // webpackBootstrap + "/release/async2-none-0c142ab36ce8fdb6d445.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"foo\\": () => (/* binding */ foo) +/* harmony export */ }); +function foo() { console.log('foo2'); } + +/***/ }) + +}]);", + "/release/mainSingleChunk-none-508ef9a361c3744d4242.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"\\" + \\"async1\\" + \\"-none-\\" + \\"a138af13bd80cae8310a\\" + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo()); +/******/ })() +;", + "/release/mainTwoChunks-none-b149e5d15775d7f6fd87.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -89,7 +362,7 @@ function foo() { console.log('foo'); } /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"\\" + \\"async\\" + \\"-none.js\\"; +/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-none-\\" + {\\"515\\":\\"a138af13bd80cae8310a\\",\\"989\\":\\"0c142ab36ce8fdb6d445\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -197,7 +470,7 @@ function foo() { console.log('foo'); } /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -281,7 +554,7 @@ function foo() { console.log('foo'); } /******/ /************************************************************************/ var __webpack_exports__ = {}; -console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async */ 931).then(__webpack_require__.bind(__webpack_require__, \\"./async.js\\")).then(mod => mod.foo()); +console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo());__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./async2.js\\")).then(mod => mod.foo()); /******/ })() ;", } From b04feaef84b2bcdc1d385c37077273371b09643f Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 17:48:19 -0500 Subject: [PATCH 047/180] Move TrueHashPlugin into the webpack5-localization-plugin package. --- .../rush/nonbrowser-approved-packages.json | 4 - common/config/rush/pnpm-lock.yaml | 34 +- common/config/rush/repo-state.json | 2 +- common/reviews/api/node-core-library.api.md | 1 - .../api/webpack5-localization-plugin.api.md | 29 + .../api/webpack5-true-hash-plugin.api.md | 41 - rush.json | 6 - .../src/TrueHashPlugin.ts | 56 +- .../webpack5-localization-plugin/src/index.ts | 9 +- .../src/interfaces.ts | 39 +- .../src/test/LocalizedAsyncDynamic.test.ts | 5 +- ...cDynamicFormatWithNoLocaleFallback.test.ts | 5 +- .../src/test/LocalizedNoAsync.test.ts | 7 +- .../src/test/LocalizedRuntime.test.ts | 99 +-- ...calizedRuntimeDifferentHashLengths.test.ts | 0 .../src/test/LocalizedRuntimeTestBase.ts | 30 +- .../src/test/MixedAsync.test.ts | 6 +- .../src/test/MixedAsyncDynamic.test.ts | 5 +- .../src/test/NoLocalizedFiles.test.ts | 5 +- .../LocalizedAsyncDynamic.test.ts.snap | 24 +- ...micFormatWithNoLocaleFallback.test.ts.snap | 48 +- .../LocalizedNoAsync.test.ts.snap | 20 +- .../LocalizedRuntime.test.ts.snap | 40 +- ...edRuntimeDifferentHashLengths.test.ts.snap | 546 ++++++++++++- .../__snapshots__/MixedAsync.test.ts.snap | 28 +- .../MixedAsyncDynamic.test.ts.snap | 24 +- .../webpack5-true-hash-plugin/.eslintrc.js | 12 - webpack/webpack5-true-hash-plugin/.npmignore | 30 - webpack/webpack5-true-hash-plugin/LICENSE | 24 - webpack/webpack5-true-hash-plugin/README.md | 9 - .../config/api-extractor.json | 19 - .../config/jest.config.json | 5 - .../webpack5-true-hash-plugin/config/rig.json | 7 - .../webpack5-true-hash-plugin/package.json | 37 - .../webpack5-true-hash-plugin/src/index.ts | 10 - .../src/test/LocalizedAsyncDynamic.test.ts | 105 --- ...cDynamicFormatWithNoLocaleFallback.test.ts | 116 --- .../src/test/LocalizedNoAsync.test.ts | 115 --- .../src/test/LocalizedRuntime.test.ts | 8 - .../src/test/MemFSPlugin.ts | 31 - .../src/test/MixedAsync.test.ts | 106 --- .../src/test/MixedAsyncDynamic.test.ts | 107 --- .../src/test/NoLocalizedFiles.test.ts | 74 -- .../LocalizedAsyncDynamic.test.ts.snap | 380 --------- ...micFormatWithNoLocaleFallback.test.ts.snap | 432 ---------- .../LocalizedNoAsync.test.ts.snap | 81 -- .../LocalizedRuntime.test.ts.snap | 681 ---------------- ...edRuntimeDifferentHashLengths.test.ts.snap | 681 ---------------- .../__snapshots__/MixedAsync.test.ts.snap | 763 ------------------ .../MixedAsyncDynamic.test.ts.snap | 476 ----------- .../NoLocalizedFiles.test.ts.snap | 308 ------- .../webpack5-true-hash-plugin/tsconfig.json | 6 - 52 files changed, 754 insertions(+), 4982 deletions(-) delete mode 100644 common/reviews/api/webpack5-true-hash-plugin.api.md rename webpack/{webpack5-true-hash-plugin => webpack5-localization-plugin}/src/TrueHashPlugin.ts (93%) rename webpack/{webpack5-true-hash-plugin => webpack5-localization-plugin}/src/test/LocalizedRuntimeDifferentHashLengths.test.ts (100%) rename webpack/{webpack5-true-hash-plugin => webpack5-localization-plugin}/src/test/LocalizedRuntimeTestBase.ts (77%) delete mode 100644 webpack/webpack5-true-hash-plugin/.eslintrc.js delete mode 100644 webpack/webpack5-true-hash-plugin/.npmignore delete mode 100644 webpack/webpack5-true-hash-plugin/LICENSE delete mode 100644 webpack/webpack5-true-hash-plugin/README.md delete mode 100644 webpack/webpack5-true-hash-plugin/config/api-extractor.json delete mode 100644 webpack/webpack5-true-hash-plugin/config/jest.config.json delete mode 100644 webpack/webpack5-true-hash-plugin/config/rig.json delete mode 100644 webpack/webpack5-true-hash-plugin/package.json delete mode 100644 webpack/webpack5-true-hash-plugin/src/index.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap delete mode 100644 webpack/webpack5-true-hash-plugin/tsconfig.json diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index 5de1d6d5ca7..f5b7599d5b1 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -274,10 +274,6 @@ "name": "@rushstack/webpack4-module-minifier-plugin", "allowedCategories": [ "tests" ] }, - { - "name": "@rushstack/webpack5-localization-plugin", - "allowedCategories": [ "libraries" ] - }, { "name": "@rushstack/webpack5-module-minifier-plugin", "allowedCategories": [ "tests" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index d862aba1c70..dc62b49920d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1774,10 +1774,10 @@ importers: version: link:../../heft-plugins/heft-typescript-plugin '@types/jest': specifier: ts4.9 - version: 29.5.12 + version: 29.5.11 '@types/node': specifier: ts4.9 - version: 20.11.16 + version: 20.11.5 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -4355,28 +4355,6 @@ importers: specifier: ~5.82.1 version: 5.82.1 - ../../webpack/webpack5-true-hash-plugin: - dependencies: - '@rushstack/node-core-library': - specifier: workspace:* - version: link:../../libraries/node-core-library - devDependencies: - '@rushstack/heft': - specifier: workspace:* - version: link:../../apps/heft - '@rushstack/webpack5-localization-plugin': - specifier: workspace:* - version: link:../webpack5-localization-plugin - local-node-rig: - specifier: workspace:* - version: link:../../rigs/local-node-rig - memfs: - specifier: 3.4.3 - version: 3.4.3 - webpack: - specifier: ~5.82.1 - version: 5.82.1 - packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -11447,8 +11425,8 @@ packages: expect: 29.6.2 pretty-format: 29.6.2 - /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + /@types/jest@29.5.11: + resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: expect: 29.6.2 pretty-format: 29.6.2 @@ -11560,8 +11538,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.16: - resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} + /@types/node@20.11.5: + resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} dependencies: undici-types: 5.26.5 dev: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index e24ccd6c724..2f5157a3cab 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "4a56584d543c9c5a5d512d77ac32785fc025f9ae", + "pnpmShrinkwrapHash": "4c17c55360a1f1c707f1aa08e0089c7563d471c0", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 1b8d1152ea0..8c0d2cbf518 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -1046,7 +1046,6 @@ export class Text { static readLinesFromIterable(iterable: Iterable, options?: IReadLinesFromIterableOptions): Generator; static readLinesFromIterableAsync(iterable: AsyncIterable, options?: IReadLinesFromIterableOptions): AsyncGenerator; static replaceAll(input: string, searchValue: string, replaceValue: string): string; - static reverse(s: string): string; static truncateWithEllipsis(s: string, maximumLength: number): string; } diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index fd968018aa4..2718149cd63 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -4,19 +4,33 @@ ```ts +/// + import type { Chunk } from 'webpack'; import type { Compiler } from 'webpack'; +import type { default as default_2 } from 'webpack'; import { ILocalizationFile } from '@rushstack/localization-utilities'; import type { IPseudolocaleOptions } from '@rushstack/localization-utilities'; import type { LoaderContext } from 'webpack'; import type { WebpackPluginInstance } from 'webpack'; +// @public (undocumented) +export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { + hashFunction: (contents: string | Buffer) => string; +} + // @public (undocumented) export interface IDefaultLocaleOptions { fillMissingTranslationStrings?: boolean; localeName: string; } +// @public (undocumented) +export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { + // Warning: (ae-forgotten-export) The symbol "WebpackHash" needs to be exported by the entry point index.d.ts + hash?: WebpackHash; +} + // @public (undocumented) export interface ILocaleData { // (undocumented) @@ -125,6 +139,15 @@ export interface _IStringPlaceholder { valuesByLocale: Map; } +// @public (undocumented) +export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; + +// @public (undocumented) +export interface ITrueHashPluginOptionsBase { + // (undocumented) + stageOverride?: number; +} + // @public export class LocalizationPlugin implements WebpackPluginInstance { constructor(options: ILocalizationPluginOptions); @@ -139,6 +162,12 @@ export class LocalizationPlugin implements WebpackPluginInstance { readonly stringKeys: Map; } +// @public (undocumented) +export class TrueHashPlugin implements WebpackPluginInstance { + constructor(options: ITrueHashPluginOptions); + apply(compiler: Compiler): void; +} + // (No @packageDocumentation comment for this package) ``` diff --git a/common/reviews/api/webpack5-true-hash-plugin.api.md b/common/reviews/api/webpack5-true-hash-plugin.api.md deleted file mode 100644 index c767b7eb5a1..00000000000 --- a/common/reviews/api/webpack5-true-hash-plugin.api.md +++ /dev/null @@ -1,41 +0,0 @@ -## API Report File for "@rushstack/webpack5-true-hash-plugin" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -/// - -import type { Compiler } from 'webpack'; -import type { default as default_2 } from 'webpack'; -import type { WebpackPluginInstance } from 'webpack'; - -// @public (undocumented) -export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { - hashFunction: (contents: string | Buffer) => string; -} - -// @public (undocumented) -export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { - // Warning: (ae-forgotten-export) The symbol "WebpackHash" needs to be exported by the entry point index.d.ts - hash?: WebpackHash; -} - -// @public (undocumented) -export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; - -// @public (undocumented) -export interface ITrueHashPluginOptionsBase { - // (undocumented) - stageOverride?: number; -} - -// @public (undocumented) -export class TrueHashPlugin implements WebpackPluginInstance { - constructor(options: ITrueHashPluginOptions); - apply(compiler: Compiler): void; -} - -// (No @packageDocumentation comment for this package) - -``` diff --git a/rush.json b/rush.json index 7a43c1adfb2..40132bae786 100644 --- a/rush.json +++ b/rush.json @@ -1300,12 +1300,6 @@ "projectFolder": "webpack/webpack5-localization-plugin", "reviewCategory": "libraries", "shouldPublish": true - }, - { - "packageName": "@rushstack/webpack5-true-hash-plugin", - "projectFolder": "webpack/webpack5-true-hash-plugin", - "reviewCategory": "libraries", - "shouldPublish": true } ] } diff --git a/webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts similarity index 93% rename from webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts rename to webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index bd422fbb956..2cfbd858d6a 100644 --- a/webpack/webpack5-true-hash-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -1,62 +1,24 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { - default as webpack, - Compilation, - Compiler, - WebpackPluginInstance, - Chunk, - Asset, - sources -} from 'webpack'; -import type { ILocalizedWebpackChunk } from '@rushstack/webpack5-localization-plugin'; +import type { Compilation, Compiler, WebpackPluginInstance, Chunk, Asset, sources } from 'webpack'; import { Text } from '@rushstack/node-core-library'; -const PLUGIN_NAME: 'true-hash' = 'true-hash'; +import type { ILocalizedWebpackChunk } from './webpackInterfaces'; +import type { + ICustomHashFunctionOptions, + IHashAlgorithmOptions, + ITrueHashPluginOptions, + WebpackHash +} from './interfaces'; -type WebpackHash = Parameters[0]; +const PLUGIN_NAME: 'true-hash' = 'true-hash'; interface IHashReplacement { existingHash: string; trueHashByLocale: string | Record; } -/** - * @public - */ -export interface ITrueHashPluginOptionsBase { - stageOverride?: number; -} - -/** - * @public - */ -export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { - /** - * The name of the hash algorithm to use, e.g. 'sha256', or a webpack Hash object. - * - * @defaultValue - * 'sha256' - */ - hash?: WebpackHash; -} - -/** - * @public - */ -export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { - /** - * A function that takes the contents of a file and returns a hash. - */ - hashFunction: (contents: string | Buffer) => string; -} - -/** - * @public - */ -export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; - /** * @public */ diff --git a/webpack/webpack5-localization-plugin/src/index.ts b/webpack/webpack5-localization-plugin/src/index.ts index cc86d18fb27..98f09a388b1 100644 --- a/webpack/webpack5-localization-plugin/src/index.ts +++ b/webpack/webpack5-localization-plugin/src/index.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -export { LocalizationPlugin, IStringPlaceholder as _IStringPlaceholder } from './LocalizationPlugin'; +export { LocalizationPlugin, type IStringPlaceholder as _IStringPlaceholder } from './LocalizationPlugin'; +export { TrueHashPlugin } from './TrueHashPlugin'; export { IDefaultLocaleOptions, @@ -18,7 +19,11 @@ export { ILocalizedStrings, IPassthroughLocaleOptions, IPseudolocalesOptions, - IResolvedMissingTranslations + IResolvedMissingTranslations, + ITrueHashPluginOptions, + ICustomHashFunctionOptions, + IHashAlgorithmOptions, + ITrueHashPluginOptionsBase } from './interfaces'; export { ILocalizedWebpackChunk } from './webpackInterfaces'; diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index 89f508008bb..83b7d959a7f 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { LoaderContext } from 'webpack'; +import type { LoaderContext, default as webpack } from 'webpack'; import type { IPseudolocaleOptions } from '@rushstack/localization-utilities'; /** @@ -209,3 +209,40 @@ export interface ILocalizationStats { entrypoints: { [name: string]: ILocalizationStatsEntrypoint }; namedChunkGroups: { [name: string]: ILocalizationStatsChunkGroup }; } + +export type WebpackHash = Parameters[0]; + +/** + * @public + */ +export interface ITrueHashPluginOptionsBase { + stageOverride?: number; +} + +/** + * @public + */ +export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { + /** + * The name of the hash algorithm to use, e.g. 'sha256', or a webpack Hash object. + * + * @defaultValue + * 'sha256' + */ + hash?: WebpackHash; +} + +/** + * @public + */ +export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { + /** + * A function that takes the contents of a file and returns a hash. + */ + hashFunction: (contents: string | Buffer) => string; +} + +/** + * @public + */ +export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts index e226609c8a9..9e045e78444 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -10,6 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { @@ -27,6 +28,8 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise '/' ); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { localizationStats = stats; @@ -85,7 +88,7 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, context: '/', mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts index 8a452a63525..d915bfaa1c4 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -10,6 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { @@ -28,6 +29,8 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise '/' ); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { localizationStats = stats; @@ -94,7 +97,7 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, context: '/', mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts index 3747c9efd78..3af98b8cacc 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts @@ -10,6 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions } from '../interfaces'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedNoAsyncInner(minimize: boolean): Promise { @@ -27,6 +28,8 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { '/' ); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + const resJsonLoader: string = resolve(__dirname, '../loaders/resjson-loader.js'); const options: ILocalizationPluginOptions = { localizedData: { @@ -65,7 +68,7 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { }, output: { path: '/release', - filename: '[name]-[locale].js' + filename: '[name]-[locale]-[contenthash].js' }, module: { rules: [ @@ -85,7 +88,7 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts index 34449c7235f..a6c838fe034 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntime.test.ts @@ -2,102 +2,7 @@ // See LICENSE in the project root for license information. jest.disableAutomock(); -import { resolve } from 'path'; -import { promisify } from 'util'; -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; +import { runTests } from './LocalizedRuntimeTestBase'; -import { LocalizationPlugin } from '../LocalizationPlugin'; -import type { ILocalizationPluginOptions } from '../interfaces'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testLocalizedRuntimeInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, - '/a/entrySingleChunk.js': `import(/* webpackChunkName: 'async1' */ './async1');`, - '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, - '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, - '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` - }, - '/' - ); - - const resJsonLoader: string = resolve(__dirname, '../loaders/resjson-loader.js'); - const options: ILocalizationPluginOptions = { - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.resjson': { - test: 'baz' - }, - '/a/strings2.resjson': { - another: 'some random translation' - } - } - } - } - }; - - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); - - const compiler: Compiler = webpack({ - entry: { - mainSingleChunk: '/a/entrySingleChunk.js', - mainTwoChunks: '/a/entryTwoChunks.js' - }, - output: { - path: '/release', - filename: '[name]-[locale]-[contenthash].js', - chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' - }, - module: { - rules: [ - { - test: /\.resjson$/, - use: { - loader: resJsonLoader - }, - type: 'javascript/esm', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(LocalizationPlugin.name, () => { - it('Handles async localized chunks (unminified)', async () => { - await testLocalizedRuntimeInner(false); - }); - - it('Handles async localized chunks (minified)', async () => { - await testLocalizedRuntimeInner(true); - }); -}); +runTests(); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts similarity index 100% rename from webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts rename to webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeDifferentHashLengths.test.ts diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts similarity index 77% rename from webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts rename to webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts index 0c6aa1bc7a0..395c19f0541 100644 --- a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntimeTestBase.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -1,15 +1,16 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { resolve } from 'path'; import { promisify } from 'util'; import webpack, { type Compiler, type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; -import { type ITrueHashPluginOptions, TrueHashPlugin } from '../TrueHashPlugin'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; +import type { ILocalizationPluginOptions, ITrueHashPluginOptions } from '../interfaces'; +import { LocalizationPlugin } from '../LocalizationPlugin'; export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): void { async function testLocalizedRuntimeInner(minimize: boolean): Promise { @@ -19,7 +20,8 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/entrySingleChunk.js': `import(/* webpackChunkName: 'async1' */ './async1');`, + '/a/entryTwoChunks.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` }, @@ -28,11 +30,8 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin(trueHashPluginOptions); - const resJsonLoader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ + const resJsonLoader: string = resolve(__dirname, '../loaders/resjson-loader.js'); + const options: ILocalizationPluginOptions = { localizedData: { defaultLocale: { localeName: 'LOCALE1' @@ -48,16 +47,19 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo } } } - }); + }; + + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); const compiler: Compiler = webpack({ entry: { - main: '/a/entry.js' + mainSingleChunk: '/a/entrySingleChunk.js', + mainTwoChunks: '/a/entryTwoChunks.js' }, output: { path: '/release', - filename: '[name]_[locale]_[contenthash].js', - chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' + filename: '[name]-[locale]-[contenthash].js', + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' }, module: { rules: [ @@ -93,7 +95,7 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo expect(results).toMatchSnapshot('Content'); } - describe(TrueHashPlugin.name, () => { + describe(LocalizationPlugin.name, () => { it('Handles async localized chunks (unminified)', async () => { await testLocalizedRuntimeInner(false); }); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 6333cf672ea..073c9fa8e79 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -10,7 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; -// import { TrueHashPlugin } from '../../../webpack5-true-hash-plugin/src/TrueHashPlugin'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testMixedAsyncInner(minimize: boolean): Promise { @@ -29,7 +29,7 @@ async function testMixedAsyncInner(minimize: boolean): Promise { '/' ); - // const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { @@ -87,7 +87,7 @@ async function testMixedAsyncInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index fd2566515ff..21c1922508e 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -10,6 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions } from '../interfaces'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testMixedAsyncDynamicInner(minimize: boolean): Promise { @@ -29,6 +30,8 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { '/' ); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + const loader: string = resolve(__dirname, '../loaders/locjson-loader.js'); const options: ILocalizationPluginOptions = { localizedData: { @@ -79,7 +82,7 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts index 228ecdd73e4..659de6684bb 100644 --- a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts @@ -7,6 +7,7 @@ import { promisify } from 'util'; import webpack, { type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { LocalizationPlugin } from '../LocalizationPlugin'; import { MemFSPlugin } from './MemFSPlugin'; @@ -23,6 +24,8 @@ async function testNonLocalizedInner(minimize: boolean): Promise { '/src' ); + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ localizedData: { defaultLocale: { @@ -47,7 +50,7 @@ async function testNonLocalizedInner(minimize: boolean): Promise { moduleIds: 'named' }, mode: 'production', - plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap index 60d005261c8..8b1f05c1a37 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap @@ -2,12 +2,12 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk-none-68a37a79b5f57b145053.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2-7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1-a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2-3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk-none-715248daf97c3187ae29.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk-none-9c11cf41f90203da4501.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -393,7 +393,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks-none-c8d335424a028821be16.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-5f0b7b3fb7131c37d43d.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap index d3ee8fda6cc..17656fb152d 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap @@ -2,22 +2,22 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` Object { - "chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "chunks/async1-LOCALE1/-cad17fe7b3c351329046.js": SizeOnlySource { "_size": 326, }, - "chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "chunks/async1-LOCALE2/-7985b395dd8638da988b.js": SizeOnlySource { "_size": 334, }, - "chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": SizeOnlySource { + "chunks/async2-LOCALE1/-a451214780b2bb8a7567.js": SizeOnlySource { "_size": 326, }, - "chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": SizeOnlySource { + "chunks/async2-LOCALE2/-3ab09d6118116a26d5bb.js": SizeOnlySource { "_size": 334, }, - "mainSingleChunk--afcc3255fa327e61cdd6.js": SizeOnlySource { + "mainSingleChunk--1b09b26c9a875c002d05.js": SizeOnlySource { "_size": 2458, }, - "mainTwoChunks--fa1b1d92e5c85d34a645.js": SizeOnlySource { + "mainTwoChunks--308686397f9610f5a7e8.js": SizeOnlySource { "_size": 2569, }, "other--544743f724b236ee60fe.js": SizeOnlySource { @@ -28,12 +28,12 @@ Object { exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk--afcc3255fa327e61cdd6.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2/-7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1/-a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2/-3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk--1b09b26c9a875c002d05.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk--06c15ae590e1d6abf2d9.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -446,7 +446,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks--7e74e29909840b009075.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks--eec17adcf65c6f009bc9.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap index 8f09a1fdce7..dadd9ed8fc9 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap @@ -2,11 +2,11 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks (minified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"LOCALE2\\":\\"main-LOCALE2.js\\",\\"LOCALE1\\":\\"main-LOCALE1.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", - "/release/main-LOCALE1.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", - "/release/main-LOCALE2.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", - "/release/main-default.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", - "/release/main-qps-ploc.js": "(()=>{\\"use strict\\";console.log(\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\",\\"!--śōmēţĥĩńĝ ēĺśē-|-\\")})();", + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-3f1378ce57021ce7f26a.js\\",\\"LOCALE2\\":\\"main-LOCALE2-3f1378ce57021ce7f26a.js\\",\\"LOCALE1\\":\\"main-LOCALE1-3f1378ce57021ce7f26a.js\\",\\"qps-ploc\\":\\"main-qps-ploc-3f1378ce57021ce7f26a.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main-LOCALE1-d0826e06031981558e87.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", + "/release/main-LOCALE2-53db16ce65a171b2d58d.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", + "/release/main-default-83f4ee1ad53822d08923.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", + "/release/main-qps-ploc-d917b232cbcc8f9aec8d.js": "(()=>{\\"use strict\\";console.log(\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\",\\"!--śōmēţĥĩńĝ ēĺśē-|-\\")})();", } `; @@ -16,8 +16,8 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks ( exports[`LocalizationPlugin Handles localized compilation with no async chunks (unminified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default.js\\",\\"LOCALE2\\":\\"main-LOCALE2.js\\",\\"LOCALE1\\":\\"main-LOCALE1.js\\",\\"qps-ploc\\":\\"main-qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", - "/release/main-LOCALE1.js": "/******/ (() => { // webpackBootstrap + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-d5bdd52b62703e94ff43.js\\",\\"LOCALE2\\":\\"main-LOCALE2-d5bdd52b62703e94ff43.js\\",\\"LOCALE1\\":\\"main-LOCALE1-d5bdd52b62703e94ff43.js\\",\\"qps-ploc\\":\\"main-qps-ploc-d5bdd52b62703e94ff43.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/main-LOCALE1-5ebe1f1f7b993dda2dc3.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; @@ -31,7 +31,7 @@ const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; console.log(strings1_resjson.test, strings2_resjson.another); /******/ })() ;", - "/release/main-LOCALE2.js": "/******/ (() => { // webpackBootstrap + "/release/main-LOCALE2-a314aaef0a110988940c.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; @@ -45,7 +45,7 @@ const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; console.log(strings1_resjson.test, strings2_resjson.another); /******/ })() ;", - "/release/main-default.js": "/******/ (() => { // webpackBootstrap + "/release/main-default-fc50d2a48e11f2b086ea.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; @@ -59,7 +59,7 @@ const strings2_resjson_strings = {\\"another\\":\\"another\\"}; console.log(strings1_resjson.test, strings2_resjson.another); /******/ })() ;", - "/release/main-qps-ploc.js": "/******/ (() => { // webpackBootstrap + "/release/main-qps-ploc-7e43fa8e6919d74fccb9.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap index 5f232c71cd9..d34aedfd5f0 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap @@ -2,14 +2,14 @@ exports[`LocalizationPlugin Handles async localized chunks (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async1-LOCALE2-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/chunks/async2-LOCALE1-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async2-LOCALE2-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/mainSingleChunk-LOCALE1-7dacce16709cbca8eee9.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE1\\"+\\"-757eed4fceee59e0f2f0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE2\\"+\\"-757eed4fceee59e0f2f0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1-LOCALE2-8b94b0a6bc0d7c5b4c44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2-LOCALE1-fd27edad5b9ce4d9eec1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2-LOCALE2-cd16fef4b4d31d50c7ff.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/mainSingleChunk-LOCALE1-c99f691a28e0096500b0.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE1\\"+\\"-e795ad0fdd98b21e2d14.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE2\\"+\\"-8b94b0a6bc0d7c5b4c44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"e795ad0fdd98b21e2d14\\",989:\\"fd27edad5b9ce4d9eec1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"8b94b0a6bc0d7c5b4c44\\",989:\\"cd16fef4b4d31d50c7ff\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { // webpackBootstrap + "/release/mainSingleChunk-LOCALE1-4381513f6b3bf5b0694e.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -224,7 +224,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + \\"e05854dd4a56c95bf492\\" + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + \\"a0dc7ce0f9ce060c986e\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -419,7 +419,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainSingleChunk-LOCALE2-45f38c90067dd172f484.js": "/******/ (() => { // webpackBootstrap + "/release/mainSingleChunk-LOCALE2-0d704129faccb075adae.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -480,7 +480,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + \\"e05854dd4a56c95bf492\\" + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + \\"09e4b8b6df2295cc04fb\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -675,7 +675,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks-LOCALE1-a22e644b70bf9f846a29.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-LOCALE1-bf1aac04abcf9d7d1208.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -736,7 +736,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"a0dc7ce0f9ce060c986e\\",\\"989\\":\\"923fbcff1c3f86213cea\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -931,7 +931,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", - "/release/mainTwoChunks-LOCALE2-a22e644b70bf9f846a29.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-LOCALE2-8c66f5e4e8a79ed4f133.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -992,7 +992,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"09e4b8b6df2295cc04fb\\",\\"989\\":\\"839abaf0fa6cdd8179ba\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap index f6c3eea9f95..d90888ee4d5 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap @@ -2,12 +2,14 @@ exports[`LocalizationPlugin Handles async localized chunks (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async1-LOCALE2-757eed4fceee59e0f2f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/chunks/async2-LOCALE1-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async2-LOCALE2-7171ee618ce97f0e59d1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/main-LOCALE1-a716d14ad513259014c5.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"757eed4fceee59e0f2f0\\",989:\\"7171ee618ce97f0e59d1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async1-LOCALE2-bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/chunks/async2-LOCALE1-9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", + "/release/chunks/async2-LOCALE2-e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", + "/release/mainSingleChunk-LOCALE1-8878293491cf90535f3985f4681c1f41556d1f68483460051662bfbff830651a.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE1\\"+\\"-48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+\\"LOCALE2\\"+\\"-bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE1\\"+\\"-\\"+{515:\\"48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73\\",989:\\"9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+\\"LOCALE2\\"+\\"-\\"+{515:\\"bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5\\",989:\\"e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { // webpackBootstrap + "/release/mainSingleChunk-LOCALE1-ef330c84c7be4ba6480ccb6ab98e80fd2c5d37f1f8bc695a2a50ee28f626a49c.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -222,7 +224,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + \\"64cd1683fc081fb426519e5f5e38154a0a9db67429cf60140b6a7a393f3a745d\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -330,7 +332,519 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); +/******/ })() +;", + "/release/mainSingleChunk-LOCALE2-8d15f7d9fb0abec48f14f96c434703a91b57a15dcc07c641a720eff4990206e3.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + \\"9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6\\" + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); +/******/ })() +;", + "/release/mainTwoChunks-LOCALE1-d219354be7e0457bbd2da6966f4135606649cf44c4e0d88fea0fadfcfe168931.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE1\\" + \\"-\\" + {\\"515\\":\\"64cd1683fc081fb426519e5f5e38154a0a9db67429cf60140b6a7a393f3a745d\\",\\"989\\":\\"c6f2ba01a69ea8170907f54734f3f539a7f44d9d9aa463963ec63181294f748a\\"}[chunkId] + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { @@ -417,7 +931,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", - "/release/main-LOCALE2-2a1ba42e3fc11bfee8e7.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-LOCALE2-4c93c79b8e1da15251daa8d02960191bceddc14a71b29991ad6ea6fa535ee0aa.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -478,7 +992,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"e05854dd4a56c95bf492\\",\\"989\\":\\"8f6ec87915dee33984d8\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + \\"LOCALE2\\" + \\"-\\" + {\\"515\\":\\"9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6\\",\\"989\\":\\"0496c0d557f60f54802c2f22ae7a0d5186ada796cb053da5f964ce070e79de2c\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -586,7 +1100,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded /******/ var installedChunks = { -/******/ 179: 0 +/******/ 903: 0 /******/ }; /******/ /******/ __webpack_require__.f.j = (chunkId, promises) => { diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap index afc2b04a0b2..e517f22120d 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -4,12 +4,12 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks wit Object { "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1-LOCALE1-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/main-LOCALE1-8b04abd202fd70b05e98.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main-LOCALE1-3cbc930b5f99a71a9557.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"-\\"+{5:\\"e442ade75ccc8ccb7d2f\\",14:\\"168f848b770aa62ad17d\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"-\\"+{5:\\"fd29172ccf479e97aa94\\",14:\\"14e0a3b5691b9628be91\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u { // webpackBootstrap + "/release/main-LOCALE1-53cd5b4b8031fdd624b7.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -301,7 +301,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"e928396bee55883d3b7a\\",\\"14\\":\\"40f629a47fce31f71795\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -496,7 +496,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); /******/ })() ;", - "/release/main-LOCALE2-4ee533bed30d3d488715.js": "/******/ (() => { // webpackBootstrap + "/release/main-LOCALE2-b233e0d532d0327ed6a8.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -587,7 +587,7 @@ __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bi /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"92ed268b2fc76b31ee2a\\",\\"14\\":\\"47968ebc87e0937a22bc\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap index 69c3e86fa69..218247cdd31 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -4,12 +4,12 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks wit Object { "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1-LOCALE1-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/mainFourChunks-none-590d7d1f9c50abc6d8cb.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/mainFourChunks-none-933bb8d6d66d48d6e154.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s { // webpackBootstrap + "/release/mainFourChunks-none-242155afd2d2865fa929.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -469,7 +469,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); /******/ })() ;", - "/release/mainTwoChunks-none-f47e7b2badbfc8b639f5.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-79795bbec1c04f334625.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache diff --git a/webpack/webpack5-true-hash-plugin/.eslintrc.js b/webpack/webpack5-true-hash-plugin/.eslintrc.js deleted file mode 100644 index 27dc0bdff95..00000000000 --- a/webpack/webpack5-true-hash-plugin/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -// This is a workaround for https://github.com/eslint/eslint/issues/3458 -require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); -// This is a workaround for https://github.com/microsoft/rushstack/issues/3021 -require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); - -module.exports = { - extends: [ - 'local-node-rig/profiles/default/includes/eslint/profile/node-trusted-tool', - 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals' - ], - parserOptions: { tsconfigRootDir: __dirname } -}; diff --git a/webpack/webpack5-true-hash-plugin/.npmignore b/webpack/webpack5-true-hash-plugin/.npmignore deleted file mode 100644 index 302dbc5b019..00000000000 --- a/webpack/webpack5-true-hash-plugin/.npmignore +++ /dev/null @@ -1,30 +0,0 @@ -# THIS IS A STANDARD TEMPLATE FOR .npmignore FILES IN THIS REPO. - -# Ignore all files by default, to avoid accidentally publishing unintended files. -* - -# Use negative patterns to bring back the specific things we want to publish. -!/bin/** -!/lib/** -!/lib-*/** -!/dist/** -!ThirdPartyNotice.txt - -# Ignore certain patterns that should not get published. -/dist/*.stats.* -/lib/**/test/ -/lib-*/**/test/ -*.test.js - -# NOTE: These don't need to be specified, because NPM includes them automatically. -# -# package.json -# README (and its variants) -# CHANGELOG (and its variants) -# LICENSE / LICENCE - -#-------------------------------------------- -# DO NOT MODIFY THE TEMPLATE ABOVE THIS LINE -#-------------------------------------------- - -# (Add your project-specific overrides here) \ No newline at end of file diff --git a/webpack/webpack5-true-hash-plugin/LICENSE b/webpack/webpack5-true-hash-plugin/LICENSE deleted file mode 100644 index adf929fb918..00000000000 --- a/webpack/webpack5-true-hash-plugin/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -@rushstack/webpack5-true-hash-plugin - -Copyright (c) Microsoft Corporation. All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webpack/webpack5-true-hash-plugin/README.md b/webpack/webpack5-true-hash-plugin/README.md deleted file mode 100644 index a657864b58c..00000000000 --- a/webpack/webpack5-true-hash-plugin/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# @rushstack/webpack5-true-hash-plugin - -## Installation - -`npm install @rushstack/webpack5-true-hash-plugin --save-dev` - -## Overview - -This plugin updates the hashes of the output files to be the true content hash of the file. It also supports chunks produced by the `@rushstack/webpack5-localization-plugin`. diff --git a/webpack/webpack5-true-hash-plugin/config/api-extractor.json b/webpack/webpack5-true-hash-plugin/config/api-extractor.json deleted file mode 100644 index fba8a2992f6..00000000000 --- a/webpack/webpack5-true-hash-plugin/config/api-extractor.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - - "mainEntryPointFilePath": "/lib/index.d.ts", - - "apiReport": { - "enabled": true, - "reportFolder": "../../../common/reviews/api" - }, - - "docModel": { - "enabled": false, - "apiJsonFilePath": "../../../common/temp/api/.api.json" - }, - - "dtsRollup": { - "enabled": true - } -} diff --git a/webpack/webpack5-true-hash-plugin/config/jest.config.json b/webpack/webpack5-true-hash-plugin/config/jest.config.json deleted file mode 100644 index b50b9d93828..00000000000 --- a/webpack/webpack5-true-hash-plugin/config/jest.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "local-node-rig/profiles/default/config/jest.config.json", - - "testTimeout": 1e5 -} diff --git a/webpack/webpack5-true-hash-plugin/config/rig.json b/webpack/webpack5-true-hash-plugin/config/rig.json deleted file mode 100644 index 165ffb001f5..00000000000 --- a/webpack/webpack5-true-hash-plugin/config/rig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // The "rig.json" file directs tools to look for their config files in an external package. - // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - - "rigPackageName": "local-node-rig" -} diff --git a/webpack/webpack5-true-hash-plugin/package.json b/webpack/webpack5-true-hash-plugin/package.json deleted file mode 100644 index 7a192f8309a..00000000000 --- a/webpack/webpack5-true-hash-plugin/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@rushstack/webpack5-true-hash-plugin", - "version": "0.0.0", - "description": "This plugin facilitates true-content hashes of webpack chunks, including support for the @rushstack localization plugins.", - "main": "lib/index.js", - "typings": "dist/webpack5-true-hash-plugin.d.ts", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/microsoft/rushstack.git", - "directory": "webpack/webpack5-true-hash-plugin" - }, - "scripts": { - "build": "heft build --clean", - "_phase:build": "heft run --only build -- --clean", - "_phase:test": "heft run --only test -- --clean" - }, - "peerDependencies": { - "webpack": "^5.68.0", - "@types/node": "*" - }, - "dependencies": { - "@rushstack/node-core-library": "workspace:*" - }, - "devDependencies": { - "@rushstack/heft": "workspace:*", - "local-node-rig": "workspace:*", - "memfs": "3.4.3", - "webpack": "~5.82.1", - "@rushstack/webpack5-localization-plugin": "workspace:*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } -} diff --git a/webpack/webpack5-true-hash-plugin/src/index.ts b/webpack/webpack5-true-hash-plugin/src/index.ts deleted file mode 100644 index 2045d3bbaf2..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -export { - TrueHashPlugin, - type ITrueHashPluginOptions, - type ICustomHashFunctionOptions, - type IHashAlgorithmOptions, - type ITrueHashPluginOptionsBase -} from './TrueHashPlugin'; diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts deleted file mode 100644 index cf7db83f98b..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; - -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, - '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, - '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` - }, - '/' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const resJsonLoader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.resjson': { - test: 'baz' - }, - '/a/strings2.resjson': { - another: 'some random translation' - } - } - } - }, - runtimeLocaleExpression: 'self.__locale' - }); - - const compiler: Compiler = webpack({ - entry: { - main: '/a/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale]_[contenthash].js', - chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' - }, - module: { - rules: [ - { - test: /\.resjson$/, - use: { - loader: resJsonLoader - }, - type: 'json', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(TrueHashPlugin.name, () => { - it('Handles async localized chunks with a runtime locale expression (unminified)', async () => { - await testLocalizedAsyncDynamicInner(false); - }); - - it('Handles async localized chunks with a runtime locale expression (minified)', async () => { - await testLocalizedAsyncDynamicInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts deleted file mode 100644 index 497991dd1a6..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; - -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js"] }', - '/a/async1.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/async2.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test + strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, - '/a/strings1.resjson': `{"test":"blah","_test.comment":"A string"}`, - '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}`, - '/b/entry.js': `console.log('hello world');` - }, - '/' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const resJsonLoader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.resjson': { - test: 'baz' - }, - '/a/strings2.resjson': { - another: 'some random translation' - } - } - } - }, - runtimeLocaleExpression: 'self.__locale + "/"', - formatLocaleForFilename: (locale: string) => { - if (locale === 'none') { - return ''; - } else { - return `${locale}/`; - } - } - }); - - const compiler: Compiler = webpack({ - entry: { - main: '/a/entry.js', - other: '/b/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale]_[contenthash].js', - chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' - }, - module: { - rules: [ - { - test: /\.resjson$/, - use: { - loader: resJsonLoader - }, - type: 'json', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - expect(stats.compilation.assets).toMatchSnapshot('Assets'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(TrueHashPlugin.name, () => { - it('Handles async localized chunks with a runtime locale expression (unminified)', async () => { - await testLocalizedAsyncDynamicInner(false); - }); - - it('Handles async localized chunks with a runtime locale expression (minified)', async () => { - await testLocalizedAsyncDynamicInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts deleted file mode 100644 index ad6efc38fbe..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/LocalizedNoAsync.test.ts +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; - -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testLocalizedNoAsyncInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js"] }', - '/a/entry.js': `import strings1 from './strings1.resjson'; import strings2 from './strings2.resjson'; console.log(strings1.test, strings2.another);`, - '/a/strings1.resjson': JSON.stringify({ - test: 'blah\r\n\t\\\'"', - '_test.comment': 'A string' - }), - '/a/strings2.resjson': `{"another":"something else","_another.comment":"Another string"}` - }, - '/' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const resJsonLoader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/resjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1', - fillMissingTranslationStrings: true - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.resjson': { - test: `return:\r,newline:\n,tab:\t,backslash:\\,apos:',quote:"` - } - } - }, - passthroughLocale: { - passthroughLocaleName: 'default', - usePassthroughLocale: true - }, - pseudolocales: { - 'qps-ploc': { - prepend: '!--', - append: '-|-' - } - } - }, - localizationStats: { - dropPath: 'localization-stats.json' - } - }); - - const compiler: Compiler = webpack({ - entry: { - main: '/a/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale].js' - }, - module: { - rules: [ - { - test: /\.resjson$/, - use: { - loader: resJsonLoader - }, - type: 'javascript/esm', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(TrueHashPlugin.name, () => { - it('Handles localized compilation with no async chunks (unminified)', async () => { - await testLocalizedNoAsyncInner(false); - }); - - it('Handles localized compilation with no async chunks (minified)', async () => { - await testLocalizedNoAsyncInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts b/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts deleted file mode 100644 index a6c838fe034..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/LocalizedRuntime.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); - -import { runTests } from './LocalizedRuntimeTestBase'; - -runTests(); diff --git a/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts b/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts deleted file mode 100644 index d96ddc8de84..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/MemFSPlugin.ts +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -import type { Compiler, WebpackPluginInstance } from 'webpack'; -import type { Volume } from 'memfs/lib/volume'; - -const PLUGIN_NAME: 'MemFSPlugin' = 'MemFSPlugin'; -export class MemFSPlugin implements WebpackPluginInstance { - private readonly _memfs: Volume; - - public constructor(memfs: Volume) { - this._memfs = memfs; - } - - public apply(compiler: Compiler): void { - const nodeFileSystem: typeof compiler.inputFileSystem = compiler.inputFileSystem; - compiler.inputFileSystem = this._memfs; - compiler.intermediateFileSystem = this._memfs; - compiler.outputFileSystem = this._memfs; - compiler.resolverFactory.hooks.resolveOptions.for('loader').tap( - { - stage: 10, - name: PLUGIN_NAME - }, - (options) => { - options.fileSystem = nodeFileSystem; - return options; - } - ); - } -} diff --git a/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts deleted file mode 100644 index 4b22f1d278a..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/MixedAsync.test.ts +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; - -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testMixedAsyncInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', - '/a/async1.js': `console.log("blah1");`, - '/a/async2.js': `console.log("blah2");`, - '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, - '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, - '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, - '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` - }, - '/' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const loader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/locjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.loc.json': { - test: 'baz' - }, - '/a/strings2.loc.json': { - another: 'some random translation' - } - } - } - } - }); - - const compiler: Compiler = webpack({ - entry: { - main: '/a/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale]_[contenthash].js', - chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' - }, - module: { - rules: [ - { - test: /\.loc.json$/, - use: { - loader - }, - type: 'javascript/esm', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(TrueHashPlugin.name, () => { - it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { - await testMixedAsyncInner(false); - }); - - it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { - await testMixedAsyncInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts deleted file mode 100644 index aa6811b420f..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/MixedAsyncDynamic.test.ts +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Compiler, type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { Import } from '@rushstack/node-core-library'; - -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testMixedAsyncDynamicInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', - '/a/async1.js': `console.log("blah1");`, - '/a/async2.js': `console.log("blah2");`, - '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, - '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, - '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, - '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, - '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` - }, - '/' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const loader: string = Import.resolveModule({ - modulePath: '@rushstack/webpack5-localization-plugin/lib/loaders/locjson-loader.js', - baseFolderPath: __dirname - }); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: { - LOCALE2: { - '/a/strings1.loc.json': { - test: 'baz' - }, - '/a/strings2.loc.json': { - another: 'some random translation' - } - } - } - }, - runtimeLocaleExpression: 'self.__locale' - }); - - const compiler: Compiler = webpack({ - entry: { - main: '/a/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale]_[contenthash].js', - chunkFilename: 'chunks/[name]_[locale]_[contenthash].js' - }, - module: { - rules: [ - { - test: /\.loc.json$/, - use: { - loader - }, - type: 'javascript/esm', - sideEffects: false - } - ] - }, - optimization: { - minimize, - moduleIds: 'named' - }, - context: '/', - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(TrueHashPlugin.name, () => { - it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { - await testMixedAsyncDynamicInner(false); - }); - - it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { - await testMixedAsyncDynamicInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts deleted file mode 100644 index 30b7cacbe03..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/NoLocalizedFiles.test.ts +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -jest.disableAutomock(); -import { promisify } from 'util'; - -import webpack, { type Stats } from 'webpack'; -import { Volume } from 'memfs/lib/volume'; -import { TrueHashPlugin } from '../TrueHashPlugin'; -import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; -import { MemFSPlugin } from './MemFSPlugin'; - -async function testNonLocalizedInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/package.json': '{}', - '/entry.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, - '/async1.js': `export function foo() { console.log('foo1'); }`, - '/async2.js': `export function foo() { console.log('foo2'); }` - }, - '/src' - ); - - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ - localizedData: { - defaultLocale: { - localeName: 'LOCALE1' - }, - translatedStrings: {} - } - }); - - const compiler: webpack.Compiler = webpack({ - entry: { - main: '/entry.js' - }, - output: { - path: '/release', - filename: '[name]_[locale]_[contenthash].js' - }, - context: '/', - optimization: { - minimize, - moduleIds: 'named' - }, - mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); - - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); - } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); -} - -describe(LocalizationPlugin.name, () => { - it('Handles non-localized compilations (unminified)', async () => { - await testNonLocalizedInner(false); - }); - - it('Handles non-localized compilations (minified)', async () => { - await testNonLocalizedInner(true); - }); -}); diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap deleted file mode 100644 index 069daff734d..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap +++ /dev/null @@ -1,380 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` -Object { - "/release/chunks/async1_LOCALE1_cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1_LOCALE2_7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2_LOCALE1_a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2_LOCALE2_3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/main_none_f7963e05e4bc9b80c7ff.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+self.__locale+\\"_\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async1_LOCALE2_00e76f2f6b11e0336c85.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ - -/***/ \\"./a/async1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE1_0d52bc34c94d8e75d358.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE2_c95a3b39f36e77b61d6c.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); - -/***/ }) - -}]);", - "/release/main_none_6b703da1c73e6761b602.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + self.__locale + \\"_\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap deleted file mode 100644 index bf7c066763e..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap +++ /dev/null @@ -1,432 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` -Object { - "chunks/async1_LOCALE1/_cad17fe7b3c351329046.js": SizeOnlySource { - "_size": 326, - }, - "chunks/async1_LOCALE2/_7985b395dd8638da988b.js": SizeOnlySource { - "_size": 334, - }, - "chunks/async2_LOCALE1/_a451214780b2bb8a7567.js": SizeOnlySource { - "_size": 326, - }, - "chunks/async2_LOCALE2/_3ab09d6118116a26d5bb.js": SizeOnlySource { - "_size": 334, - }, - "main__4b2006fcf108c33ae5e1.js": SizeOnlySource { - "_size": 2569, - }, - "other__544743f724b236ee60fe.js": SizeOnlySource { - "_size": 27, - }, -} -`; - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` -Object { - "/release/chunks/async1_LOCALE1/_cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1_LOCALE2/_7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2_LOCALE1/_a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2_LOCALE2/_3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/main__4b2006fcf108c33ae5e1.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+self.__locale+\\"/_\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async1_LOCALE2/_00e76f2f6b11e0336c85.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ - -/***/ \\"./a/async1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE1/_0d52bc34c94d8e75d358.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"blah\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"something else\\"}'); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE2/_c95a3b39f36e77b61d6c.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* .test */ .B + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* .another */ .P); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"B\\":\\"baz\\"}'); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((module) => { - -module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); - -/***/ }) - -}]);", - "/release/main__26017230ef6216b3cf08.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + self.__locale + \\"/\\" + \\"_\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", - "/release/other__ea8cfa44fb56d61926bb.js": "/******/ (() => { // webpackBootstrap -var __webpack_exports__ = {}; -console.log('hello world'); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap deleted file mode 100644 index 1a737437985..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap +++ /dev/null @@ -1,81 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Content 1`] = ` -Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main_default.js\\",\\"LOCALE2\\":\\"main_LOCALE2.js\\",\\"LOCALE1\\":\\"main_LOCALE1.js\\",\\"qps-ploc\\":\\"main_qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", - "/release/main_LOCALE1.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", - "/release/main_LOCALE2.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", - "/release/main_default.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", - "/release/main_qps-ploc.js": "(()=>{\\"use strict\\";console.log(\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\",\\"!--śōmēţĥĩńĝ ēĺśē-|-\\")})();", -} -`; - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (minified): Warnings 1`] = `Array []`; - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Content 1`] = ` -Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main_default.js\\",\\"LOCALE2\\":\\"main_LOCALE2.js\\",\\"LOCALE1\\":\\"main_LOCALE1.js\\",\\"qps-ploc\\":\\"main_qps-ploc.js\\"}}},\\"namedChunkGroups\\":{}}", - "/release/main_LOCALE1.js": "/******/ (() => { // webpackBootstrap -/******/ \\"use strict\\"; -var __webpack_exports__ = {}; - -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/entry.js - console.log(strings1_resjson.test, strings2_resjson.another); -/******/ })() -;", - "/release/main_LOCALE2.js": "/******/ (() => { // webpackBootstrap -/******/ \\"use strict\\"; -var __webpack_exports__ = {}; - -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/entry.js - console.log(strings1_resjson.test, strings2_resjson.another); -/******/ })() -;", - "/release/main_default.js": "/******/ (() => { // webpackBootstrap -/******/ \\"use strict\\"; -var __webpack_exports__ = {}; - -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"test\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"another\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/entry.js - console.log(strings1_resjson.test, strings2_resjson.another); -/******/ })() -;", - "/release/main_qps-ploc.js": "/******/ (() => { // webpackBootstrap -/******/ \\"use strict\\"; -var __webpack_exports__ = {}; - -;// CONCATENATED MODULE: ./a/strings1.resjson -const strings = {\\"test\\":\\"!--ƀĺàĥ\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022-|-\\"}; -/* harmony default export */ const strings1_resjson = (strings); -;// CONCATENATED MODULE: ./a/strings2.resjson -const strings2_resjson_strings = {\\"another\\":\\"!--śōmēţĥĩńĝ ēĺśē-|-\\"}; -/* harmony default export */ const strings2_resjson = (strings2_resjson_strings); -;// CONCATENATED MODULE: ./a/entry.js - console.log(strings1_resjson.test, strings2_resjson.another); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles localized compilation with no async chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap deleted file mode 100644 index 8e8ef3eaaa5..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntime.test.ts.snap +++ /dev/null @@ -1,681 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized chunks (minified): Content 1`] = ` -Object { - "/release/chunks/async1_LOCALE1_e795ad0fdd98b21e2d14.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async1_LOCALE2_8b94b0a6bc0d7c5b4c44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/chunks/async2_LOCALE1_fd27edad5b9ce4d9eec1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async2_LOCALE2_cd16fef4b4d31d50c7ff.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/main_LOCALE1_7dec37ac7ee45bbbbb88.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE1\\"+\\"_\\"+{515:\\"e795ad0fdd98b21e2d14\\",989:\\"fd27edad5b9ce4d9eec1\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE2\\"+\\"_\\"+{515:\\"8b94b0a6bc0d7c5b4c44\\",989:\\"cd16fef4b4d31d50c7ff\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async1_LOCALE2_09e4b8b6df2295cc04fb.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ - -/***/ \\"./a/async1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE1_923fbcff1c3f86213cea.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE2_839abaf0fa6cdd8179ba.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/main_LOCALE1_e4caa8e1b70145ddf35d.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE1\\" + \\"_\\" + {\\"515\\":\\"a0dc7ce0f9ce060c986e\\",\\"989\\":\\"923fbcff1c3f86213cea\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", - "/release/main_LOCALE2_4dec796e272184502d1b.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE2\\" + \\"_\\" + {\\"515\\":\\"09e4b8b6df2295cc04fb\\",\\"989\\":\\"839abaf0fa6cdd8179ba\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized chunks (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap deleted file mode 100644 index 17785e94337..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/LocalizedRuntimeDifferentHashLengths.test.ts.snap +++ /dev/null @@ -1,681 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized chunks (minified): Content 1`] = ` -Object { - "/release/chunks/async1_LOCALE1_48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async1_LOCALE2_bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test,t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/chunks/async2_LOCALE1_9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"blah\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"something else\\"}}}]);", - "/release/chunks/async2_LOCALE2_e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,n)=>{n.r(_);var e=n(\\"./a/strings1.resjson\\"),t=n(\\"./a/strings2.resjson\\");console.log(e.Z.test+t.Z.another)},\\"./a/strings1.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={test:\\"baz\\"}},\\"./a/strings2.resjson\\":(s,_,n)=>{n.d(_,{Z:()=>e});const e={another:\\"some random translation\\"}}}]);", - "/release/main_LOCALE1_8386d5ee64efcdf87f853e856d993ba1bbd2068bb5c19b325855189767ccd3b8.js": "(()=>{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE1\\"+\\"_\\"+{515:\\"48e154cefa3c631967269f65a0c807e9808494fe15cc376120c80fbd79ecca73\\",989:\\"9c88f2a4de2a3a86966bd3dd006dbd59508d34571c439f035b96e9a68edb7d62\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+\\"LOCALE2\\"+\\"_\\"+{515:\\"bf3e076643c7481ea6bb930aefa8021d22ebf337962bd5a8a9cf50ec8877b0a5\\",989:\\"e498cb54def3d623beb5295624626826129dd1e7a9a849831259397b14ab0d88\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var s=document.getElementsByTagName(\\"script\\"),l=0;l{i.onerror=i.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={179:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,s]=t,l=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);s&&s(n)}for(r&&r(t);l { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async1_LOCALE2_9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ - -/***/ \\"./a/async1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE1_c6f2ba01a69ea8170907f54734f3f539a7f44d9d9aa463963ec63181294f748a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/async2_LOCALE2_0496c0d557f60f54802c2f22ae7a0d5186ada796cb053da5f964ce070e79de2c.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_resjson__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.resjson\\"); -/* harmony import */ var _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.resjson\\"); - console.log(_strings1_resjson__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_resjson__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.resjson\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/main_LOCALE1_2419bbeabdf6496af60707f34628603cc06a75b7f041d65ad054772ae55da966.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE1\\" + \\"_\\" + {\\"515\\":\\"64cd1683fc081fb426519e5f5e38154a0a9db67429cf60140b6a7a393f3a745d\\",\\"989\\":\\"c6f2ba01a69ea8170907f54734f3f539a7f44d9d9aa463963ec63181294f748a\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", - "/release/main_LOCALE2_7f3e49c9be7f7dd3aa49e771d464af242f9b2960dab3c130b0b697826e8922a0.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + \\"LOCALE2\\" + \\"_\\" + {\\"515\\":\\"9036e26b6287a4856c2477fe8af07d7f272eb51e38162b68c58ab6b45b6eedd6\\",\\"989\\":\\"0496c0d557f60f54802c2f22ae7a0d5186ada796cb053da5f964ce070e79de2c\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized chunks (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized chunks (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap deleted file mode 100644 index 80ae8a45851..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap +++ /dev/null @@ -1,763 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` -Object { - "/release/chunks/async1_none_601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", - "/release/chunks/async2_none_e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1_LOCALE1_168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1_LOCALE2_14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2_LOCALE1_e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2_LOCALE2_fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/main_LOCALE1_93987ff51c3b1f9333f9.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"_\\"+{5:\\"e442ade75ccc8ccb7d2f\\",14:\\"168f848b770aa62ad17d\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"_\\"+{5:\\"fd29172ccf479e97aa94\\",14:\\"14e0a3b5691b9628be91\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u { - -console.log(\\"blah1\\"); - -/***/ }) - -}]);", - "/release/chunks/async2_none_41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ (() => { - -console.log(\\"blah2\\"); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc1_LOCALE1_40f629a47fce31f71795.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ - -/***/ \\"./a/asyncLoc1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc1_LOCALE2_47968ebc87e0937a22bc.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ - -/***/ \\"./a/asyncLoc1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc2_LOCALE1_e928396bee55883d3b7a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ - -/***/ \\"./a/asyncLoc2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc2_LOCALE2_92ed268b2fc76b31ee2a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ - -/***/ \\"./a/asyncLoc2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/main_LOCALE1_cf45bf1d56011ead1a1e.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ (() => { -/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); -/******/ } -/******/ def['default'] = () => (value); -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"_\\" + {\\"5\\":\\"e928396bee55883d3b7a\\",\\"14\\":\\"40f629a47fce31f71795\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); -/******/ })() -;", - "/release/main_LOCALE2_e381102f9fbc8c4631ae.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ (() => { -/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); -/******/ } -/******/ def['default'] = () => (value); -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"_\\" + {\\"5\\":\\"92ed268b2fc76b31ee2a\\",\\"14\\":\\"47968ebc87e0937a22bc\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap deleted file mode 100644 index 0dc19f7809f..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ /dev/null @@ -1,476 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` -Object { - "/release/chunks/async1_none_601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", - "/release/chunks/async2_none_e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1_LOCALE1_168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1_LOCALE2_14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2_LOCALE1_e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2_LOCALE2_fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/main_none_c4865b069a7b15858c56.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"_\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"_\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s { - -console.log(\\"blah1\\"); - -/***/ }) - -}]);", - "/release/chunks/async2_none_41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./a/async2.js\\": -/***/ (() => { - -console.log(\\"blah2\\"); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc1_LOCALE1_40f629a47fce31f71795.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ - -/***/ \\"./a/asyncLoc1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc1_LOCALE2_47968ebc87e0937a22bc.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ - -/***/ \\"./a/asyncLoc1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc2_LOCALE1_e928396bee55883d3b7a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ - -/***/ \\"./a/asyncLoc2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"blah\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"something else\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/chunks/asyncLoc2_LOCALE2_92ed268b2fc76b31ee2a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ - -/***/ \\"./a/asyncLoc2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); -/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); - console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); - -/***/ }), - -/***/ \\"./a/strings1.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"test\\":\\"baz\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }), - -/***/ \\"./a/strings2.loc.json\\": -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -const strings = {\\"another\\":\\"some random translation\\"}; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); - -/***/ }) - -}]);", - "/release/main_none_049cbab8d82633074b27.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/create fake namespace object */ -/******/ (() => { -/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); -/******/ var leafPrototypes; -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 16: return value when it's Promise-like -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = this(value); -/******/ if(mode & 8) return value; -/******/ if(typeof value === 'object' && value) { -/******/ if((mode & 4) && value.__esModule) return value; -/******/ if((mode & 16) && typeof value.then === 'function') return value; -/******/ } -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ var def = {}; -/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; -/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { -/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); -/******/ } -/******/ def['default'] = () => (value); -/******/ __webpack_require__.d(ns, def); -/******/ return ns; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?self.__locale:\\"none\\") + \\"_\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); -/******/ })() -;", -} -`; - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; - -exports[`TrueHashPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap b/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap deleted file mode 100644 index ec6580d527e..00000000000 --- a/webpack/webpack5-true-hash-plugin/src/test/__snapshots__/NoLocalizedFiles.test.ts.snap +++ /dev/null @@ -1,308 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`LocalizationPlugin Handles non-localized compilations (minified): Content 1`] = ` -Object { - "/release/async1_none_48a722dc54a6c9ffce23.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", - "/release/async2_none_533c236877cb65c0fb15.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", - "/release/main_none_e5984c6b7fb97f82b50a.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\"_none_\\"+{515:\\"48a722dc54a6c9ffce23\\",989:\\"533c236877cb65c0fb15\\"}[e]+\\".js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(f);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={179:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),c=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",c.name=\\"ChunkLoadError\\",c.type=i,c.request=a,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,c,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);se.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", -} -`; - -exports[`LocalizationPlugin Handles non-localized compilations (minified): Errors 1`] = `Array []`; - -exports[`LocalizationPlugin Handles non-localized compilations (minified): Warnings 1`] = `Array []`; - -exports[`LocalizationPlugin Handles non-localized compilations (unminified): Content 1`] = ` -Object { - "/release/async1_none_a138af13bd80cae8310a.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ - -/***/ \\"./async1.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"foo\\": () => (/* binding */ foo) -/* harmony export */ }); -function foo() { console.log('foo1'); } - -/***/ }) - -}]);", - "/release/async2_none_0c142ab36ce8fdb6d445.js": "\\"use strict\\"; -(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ - -/***/ \\"./async2.js\\": -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ \\"foo\\": () => (/* binding */ foo) -/* harmony export */ }); -function foo() { console.log('foo2'); } - -/***/ }) - -}]);", - "/release/main_none_ded83b51a15fab4d3199.js": "/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"_none_\\" + {\\"515\\":\\"a138af13bd80cae8310a\\",\\"989\\":\\"0c142ab36ce8fdb6d445\\"}[chunkId] + \\".js\\"; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ // data-webpack is not used as build has no uniqueName -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); -/******/ } -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName(\\"script\\"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 179: 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". -/******/ -/******/ // a Promise means \\"currently loading\\". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no on chunks loaded -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add \\"moreModules\\" to the modules object, -/******/ // then flag all \\"chunkIds\\" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo());__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./async2.js\\")).then(mod => mod.foo()); -/******/ })() -;", -} -`; - -exports[`LocalizationPlugin Handles non-localized compilations (unminified): Errors 1`] = `Array []`; - -exports[`LocalizationPlugin Handles non-localized compilations (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-true-hash-plugin/tsconfig.json b/webpack/webpack5-true-hash-plugin/tsconfig.json deleted file mode 100644 index 7902d0431ea..00000000000 --- a/webpack/webpack5-true-hash-plugin/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json", - "compilerOptions": { - "target": "ES2019" - } -} From c34f868cfd5b72a49a9cd4d37626da2776215e23 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 18:09:11 -0500 Subject: [PATCH 048/180] Include a useTrueHashes option for the localization plugin. --- .../api/webpack5-localization-plugin.api.md | 2 + .../src/LocalizationPlugin.ts | 21 +- .../src/TrueHashPlugin.ts | 533 +++++++++--------- .../src/interfaces.ts | 5 + .../src/test/LocalizedAsyncDynamic.test.ts | 5 +- ...cDynamicFormatWithNoLocaleFallback.test.ts | 5 +- .../src/test/LocalizedNoAsync.test.ts | 8 +- .../src/test/MixedAsync.test.ts | 8 +- .../src/test/MixedAsyncDynamic.test.ts | 5 +- .../src/test/NoLocalizedFiles.test.ts | 8 +- .../LocalizedAsyncDynamic.test.ts.snap | 24 +- ...micFormatWithNoLocaleFallback.test.ts.snap | 48 +- .../MixedAsyncDynamic.test.ts.snap | 24 +- 13 files changed, 362 insertions(+), 334 deletions(-) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index 2718149cd63..04578945a99 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -60,6 +60,7 @@ export interface ILocalizationPluginOptions { localizedData: ILocalizedData; noStringsLocaleName?: string; runtimeLocaleExpression?: string; + useTrueHashes?: boolean; } // @public (undocumented) @@ -165,6 +166,7 @@ export class LocalizationPlugin implements WebpackPluginInstance { // @public (undocumented) export class TrueHashPlugin implements WebpackPluginInstance { constructor(options: ITrueHashPluginOptions); + // (undocumented) apply(compiler: Compiler): void; } diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index 6b698dc22bf..f8f29c1247d 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -29,6 +29,7 @@ import type { import type { IAssetPathOptions } from './webpackInterfaces'; import { markEntity, getMark } from './utilities/EntityMarker'; import { processLocalizedAsset, processNonLocalizedAsset } from './AssetProcessor'; +import { getHashFunction, type HashFn, updateAssetHashes } from './TrueHashPlugin'; /** * @public @@ -129,10 +130,11 @@ export class LocalizationPlugin implements WebpackPluginInstance { } } + const { webpack: thisWebpack } = compiler; const { WebpackError, runtime: { GetChunkFilenameRuntimeModule } - } = compiler.webpack; + } = thisWebpack; // Side-channel for async chunk URL generator chunk, since the actual chunk is completely inaccessible // from the assetPath hook below when invoked to build the async URL generator @@ -157,6 +159,19 @@ export class LocalizationPlugin implements WebpackPluginInstance { const { runtimeLocaleExpression } = this._options; compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { + let hashFn: HashFn | undefined; + if (this._options.useTrueHashes) { + if (runtimeLocaleExpression) { + compilation.errors.push( + new WebpackError( + `The "useTrueHashes" option cannot be used in conjunction with "runtimeLocaleExpression".` + ) + ); + } else { + hashFn = getHashFunction({ thisWebpack, compilation }); + } + } + compilation.hooks.assetPath.tap( PLUGIN_NAME, (assetPath: string, options: IAssetPathOptions): string => { @@ -340,6 +355,10 @@ export class LocalizationPlugin implements WebpackPluginInstance { } } + if (hashFn) { + updateAssetHashes({ thisWebpack, compilation, hashFn }); + } + // Since the stats generation doesn't depend on content, do it immediately if (statsOptions) { const localizationStats: ILocalizationStats = { diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 2cfbd858d6a..6954ce79b02 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -1,7 +1,15 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { Compilation, Compiler, WebpackPluginInstance, Chunk, Asset, sources } from 'webpack'; +import type { + default as webpack, + Compilation, + Compiler, + WebpackPluginInstance, + Chunk, + Asset, + sources +} from 'webpack'; import { Text } from '@rushstack/node-core-library'; import type { ILocalizedWebpackChunk } from './webpackInterfaces'; @@ -19,292 +27,301 @@ interface IHashReplacement { trueHashByLocale: string | Record; } -/** - * @public - */ -export class TrueHashPlugin implements WebpackPluginInstance { - private readonly _options: ITrueHashPluginOptions; - - public constructor(options: ITrueHashPluginOptions) { - this._options = options; - } - - /** - * Apply this plugin to the specified webpack compiler. - */ - public apply(compiler: Compiler): void { - compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { - const { webpack: thisWebpack } = compiler; - const { - stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, - hash, - hashFunction - } = this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; - let hashFn: (contents: string | Buffer) => string; - if (hashFunction) { - hashFn = hashFunction; - if (hash) { - compilation.errors.push( - new thisWebpack.WebpackError( - `The TrueHashPlugin was configured with both "hash" and "hashFunction". ` + - `Only one of these options can be specified. Falling back to the custom hash function.` - ) - ); - } - } else { - const { - hashFunction: hashFunctionFromOptions = 'md5', - hashDigest = 'hex', - hashDigestLength - } = compilation.outputOptions; - const hashToUse: WebpackHash = hash ?? hashFunctionFromOptions; - hashFn = (contents: string | Buffer) => - thisWebpack.util - .createHash(hashToUse) - .update(contents) - .digest(hashDigest) - .toString() - .slice(0, hashDigestLength); - } - - compilation.hooks.processAssets.tap( - { - name: PLUGIN_NAME, - stage: processAssetsStage - }, - () => { - const unprocessedDependenciesByChunk: Map> = new Map(); - const dependenciesByChunk: Map> = new Map(); - const dependentsByChunk: Map> = new Map(); - for (const chunk of compilation.chunks) { - let unprocessedDependencies: Set | undefined = unprocessedDependenciesByChunk.get(chunk); - if (!unprocessedDependencies) { - unprocessedDependencies = new Set(); - unprocessedDependenciesByChunk.set(chunk, unprocessedDependencies); - } +export type HashFn = (contents: string | Buffer) => string; - let dependencies: Set | undefined = dependenciesByChunk.get(chunk); - if (!dependencies) { - dependencies = new Set(); - dependenciesByChunk.set(chunk, dependencies); - } +export interface IGetHashFunctionOptions { + thisWebpack: typeof webpack; + compilation: Compilation; + options?: ITrueHashPluginOptions; +} - for (const asyncChunk of chunk.getAllAsyncChunks()) { - unprocessedDependencies.add(asyncChunk); - dependencies.add(asyncChunk); +export function getHashFunction({ thisWebpack, compilation, options = {} }: IGetHashFunctionOptions): HashFn { + const { hash, hashFunction } = options as Partial; + let hashFn: (contents: string | Buffer) => string; + if (hashFunction) { + hashFn = hashFunction; + if (hash) { + compilation.errors.push( + new thisWebpack.WebpackError( + `The TrueHashPlugin was configured with both "hash" and "hashFunction". ` + + `Only one of these options can be specified. Falling back to the custom hash function.` + ) + ); + } + } else { + const { + hashFunction: hashFunctionFromOptions = 'md5', + hashDigest = 'hex', + hashDigestLength + } = compilation.outputOptions; + const hashToUse: WebpackHash = hash ?? hashFunctionFromOptions; + hashFn = (contents: string | Buffer) => + thisWebpack.util + .createHash(hashToUse) + .update(contents) + .digest(hashDigest) + .toString() + .slice(0, hashDigestLength); + } - let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); - if (!dependents) { - dependents = new Set(); - dependentsByChunk.set(asyncChunk, dependents); - } + return hashFn; +} - dependents.add(chunk); - } - } +export interface IUpdateAssetHashesOptions { + thisWebpack: typeof webpack; + compilation: Compilation; + hashFn: HashFn; +} - const hashReplacementsByChunk: Map = new Map(); - const unprocessedChunks: Set = new Set(compilation.chunks); - while (unprocessedChunks.size > 0) { - for (const chunk of unprocessedChunks) { - if (unprocessedDependenciesByChunk.get(chunk)?.size === 0) { - // TODO: do we need to check if the chunk is rendered? - if (!chunk.renderedHash) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} could not find the hash for chunk ${chunk.id}.` - ) - ); - } else { - const existingHash: string = chunk.contentHash.javascript; - const chunkDependencies: Set | undefined = dependenciesByChunk.get(chunk); - if (!chunkDependencies) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} could not find dependencies for chunk ${chunk.id}.` - ) - ); - } else { - function processChunkAsset( - jsAssetName: string, - locale: string | undefined - ): string | undefined { - const asset: Readonly | undefined = compilation.getAsset(jsAssetName); - if (!asset) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} could not find asset "${jsAssetName}" for chunk ${chunk.id}.` - ) - ); - } else { - let assetSource: sources.Source = asset.source; - const assetName: string = asset.name; - if (chunkDependencies!.size > 0) { - const relevantHashReplacements: Map = new Map(); - let hasAnyReplacements: boolean = false; - let allReplacementsAreTheSameLengthAsOriginals: boolean = true; - for (const dependency of chunkDependencies!) { - const asyncChunkHashReplacements: IHashReplacement | undefined = - hashReplacementsByChunk.get(dependency); - if (!asyncChunkHashReplacements) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} could not find hash replacements for chunk ${dependency.id}.` - ) - ); - } else { - const { existingHash: otherChunkExistingHash, trueHashByLocale } = - asyncChunkHashReplacements; - let replacementHash: string | undefined; - if (typeof trueHashByLocale === 'object') { - if (locale) { - replacementHash = trueHashByLocale[locale]; - } - } else { - replacementHash = trueHashByLocale; - } +export function updateAssetHashes({ thisWebpack, compilation, hashFn }: IUpdateAssetHashesOptions): void { + const unprocessedDependenciesByChunk: Map> = new Map(); + const dependenciesByChunk: Map> = new Map(); + const dependentsByChunk: Map> = new Map(); + for (const chunk of compilation.chunks) { + let unprocessedDependencies: Set | undefined = unprocessedDependenciesByChunk.get(chunk); + if (!unprocessedDependencies) { + unprocessedDependencies = new Set(); + unprocessedDependenciesByChunk.set(chunk, unprocessedDependencies); + } - if (replacementHash) { - if (relevantHashReplacements.has(otherChunkExistingHash)) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} found multiple replacements for hash ${otherChunkExistingHash} ` + - `in chunk ${chunk.id}.` - ) - ); - } else { - allReplacementsAreTheSameLengthAsOriginals &&= - replacementHash.length === otherChunkExistingHash.length; - relevantHashReplacements.set(otherChunkExistingHash, replacementHash); - hasAnyReplacements = true; - } - } - } - } + let dependencies: Set | undefined = dependenciesByChunk.get(chunk); + if (!dependencies) { + dependencies = new Set(); + dependenciesByChunk.set(chunk, dependencies); + } - if (hasAnyReplacements) { - const sourceString: string = assetSource.source().toString(); - const replaceSource: sources.ReplaceSource = - new thisWebpack.sources.ReplaceSource(assetSource, assetName); + for (const asyncChunk of chunk.getAllAsyncChunks()) { + unprocessedDependencies.add(asyncChunk); + dependencies.add(asyncChunk); - if (allReplacementsAreTheSameLengthAsOriginals) { - // If all of the replacements are the same length as the originals, we can walk the string - // in non-reverse order. - const regexp: RegExp = new RegExp( - Array.from(relevantHashReplacements.keys()) - .map((hashToReplace) => Text.escapeRegExp(hashToReplace)) - .join('|'), - 'g' - ); - let match: RegExpMatchArray | null; - while ((match = regexp.exec(sourceString)) !== null) { - const { 0: originalHash, index } = match; - const matchStart: number = index!; - const matchEnd: number = matchStart + originalHash.length - 1; - const replacement: string = relevantHashReplacements.get(originalHash)!; - replaceSource.replace(matchStart, matchEnd, replacement); - } - } else { - // If the replacements are not the same length as the originals, we need to reverse the - // string and walk it in reverse order to keep the indices correct. - const reversedSourceString: string = Text.reverse(sourceString); - const sourceStringLength: number = sourceString.length; - const regexp: RegExp = new RegExp( - Array.from(relevantHashReplacements.keys()) - .map((hashToReplace) => Text.escapeRegExp(Text.reverse(hashToReplace))) - .join('|'), - 'g' - ); - let match: RegExpMatchArray | null; - while ((match = regexp.exec(reversedSourceString)) !== null) { - const { 0: reverseOriginalHash, index } = match; - const matchStart: number = index!; - const matchEnd: number = matchStart + reverseOriginalHash.length - 1; - const replacement: string = relevantHashReplacements.get( - Text.reverse(reverseOriginalHash) - )!; + let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); + if (!dependents) { + dependents = new Set(); + dependentsByChunk.set(asyncChunk, dependents); + } - // Figure out the location in the original string - const reversedMatchStart: number = sourceStringLength - matchEnd - 1; - const reversedMatchEnd: number = sourceStringLength - matchStart - 1; - replaceSource.replace(reversedMatchStart, reversedMatchEnd, replacement); - } - } + dependents.add(chunk); + } + } - assetSource = replaceSource; - compilation.updateAsset(jsAssetName, assetSource); - } + const hashReplacementsByChunk: Map = new Map(); + const unprocessedChunks: Set = new Set(compilation.chunks); + while (unprocessedChunks.size > 0) { + for (const chunk of unprocessedChunks) { + if (unprocessedDependenciesByChunk.get(chunk)?.size === 0) { + // TODO: do we need to check if the chunk is rendered? + if (!chunk.renderedHash) { + compilation.errors.push( + new thisWebpack.WebpackError(`Could not find the hash for chunk ${chunk.id}.`) + ); + } else { + const existingHash: string = chunk.contentHash.javascript; + const chunkDependencies: Set | undefined = dependenciesByChunk.get(chunk); + if (!chunkDependencies) { + compilation.errors.push( + new thisWebpack.WebpackError(`Could not find dependencies for chunk ${chunk.id}.`) + ); + } else { + function processChunkAsset(jsAssetName: string, locale: string | undefined): string | undefined { + const asset: Readonly | undefined = compilation.getAsset(jsAssetName); + if (!asset) { + compilation.errors.push( + new thisWebpack.WebpackError(`Could not find asset "${jsAssetName}" for chunk ${chunk.id}.`) + ); + } else { + let assetSource: sources.Source = asset.source; + const assetName: string = asset.name; + if (chunkDependencies!.size > 0) { + const relevantHashReplacements: Map = new Map(); + let hasAnyReplacements: boolean = false; + let allReplacementsAreTheSameLengthAsOriginals: boolean = true; + for (const dependency of chunkDependencies!) { + const asyncChunkHashReplacements: IHashReplacement | undefined = + hashReplacementsByChunk.get(dependency); + if (!asyncChunkHashReplacements) { + compilation.errors.push( + new thisWebpack.WebpackError( + `Could not find hash replacements for chunk ${dependency.id}.` + ) + ); + } else { + const { existingHash: otherChunkExistingHash, trueHashByLocale } = + asyncChunkHashReplacements; + let replacementHash: string | undefined; + if (typeof trueHashByLocale === 'object') { + if (locale) { + replacementHash = trueHashByLocale[locale]; } + } else { + replacementHash = trueHashByLocale; + } - if (jsAssetName.includes(existingHash)) { - const trueHash: string = hashFn(assetSource.buffer()); - if (trueHash !== existingHash) { - compilation.renameAsset(jsAssetName, jsAssetName.replace(existingHash, trueHash)); - return trueHash; - } + if (replacementHash) { + if (relevantHashReplacements.has(otherChunkExistingHash)) { + compilation.errors.push( + new thisWebpack.WebpackError( + `Found multiple replacements for hash ${otherChunkExistingHash} ` + + `in chunk ${chunk.id}.` + ) + ); + } else { + allReplacementsAreTheSameLengthAsOriginals &&= + replacementHash.length === otherChunkExistingHash.length; + relevantHashReplacements.set(otherChunkExistingHash, replacementHash); + hasAnyReplacements = true; } } } + } - const localizedFiles: Record | undefined = ( - chunk as ILocalizedWebpackChunk - ).localizedFiles; - if (localizedFiles) { - const trueHashByLocale: Record = {}; - hashReplacementsByChunk.set(chunk, { - existingHash, - trueHashByLocale - }); - for (const [locale, jsAssetName] of Object.entries(localizedFiles)) { - const trueHash: string | undefined = processChunkAsset(jsAssetName, locale); - if (trueHash) { - trueHashByLocale[locale] = trueHash; - } + if (hasAnyReplacements) { + const sourceString: string = assetSource.source().toString(); + const replaceSource: sources.ReplaceSource = new thisWebpack.sources.ReplaceSource( + assetSource, + assetName + ); + + if (allReplacementsAreTheSameLengthAsOriginals) { + // If all of the replacements are the same length as the originals, we can walk the string + // in non-reverse order. + const regexp: RegExp = new RegExp( + Array.from(relevantHashReplacements.keys()) + .map((hashToReplace) => Text.escapeRegExp(hashToReplace)) + .join('|'), + 'g' + ); + let match: RegExpMatchArray | null; + while ((match = regexp.exec(sourceString)) !== null) { + const { 0: originalHash, index } = match; + const matchStart: number = index!; + const matchEnd: number = matchStart + originalHash.length - 1; + const replacement: string = relevantHashReplacements.get(originalHash)!; + replaceSource.replace(matchStart, matchEnd, replacement); } } else { - const assetNames: string[] = Array.from(chunk.files); - let jsAssetName: string | undefined; - for (const assetName of assetNames) { - if (assetName.endsWith('.js')) { - if (jsAssetName) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} found multiple .js assets for chunk ${chunk.id}.` - ) - ); - } else { - jsAssetName = assetName; - } - } - } + // If the replacements are not the same length as the originals, we need to reverse the + // string and walk it in reverse order to keep the indices correct. + const reversedSourceString: string = Text.reverse(sourceString); + const sourceStringLength: number = sourceString.length; + const regexp: RegExp = new RegExp( + Array.from(relevantHashReplacements.keys()) + .map((hashToReplace) => Text.escapeRegExp(Text.reverse(hashToReplace))) + .join('|'), + 'g' + ); + let match: RegExpMatchArray | null; + while ((match = regexp.exec(reversedSourceString)) !== null) { + const { 0: reverseOriginalHash, index } = match; + const matchStart: number = index!; + const matchEnd: number = matchStart + reverseOriginalHash.length - 1; + const replacement: string = relevantHashReplacements.get( + Text.reverse(reverseOriginalHash) + )!; - if (!jsAssetName) { - compilation.errors.push( - new thisWebpack.WebpackError( - `${TrueHashPlugin.name} could not find a .js asset for chunk ${chunk.id}.` - ) - ); - } else { - const trueHash: string | undefined = processChunkAsset(jsAssetName, undefined); - if (trueHash) { - hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); - } + // Figure out the location in the original string + const reversedMatchStart: number = sourceStringLength - matchEnd - 1; + const reversedMatchEnd: number = sourceStringLength - matchStart - 1; + replaceSource.replace(reversedMatchStart, reversedMatchEnd, replacement); } } + + assetSource = replaceSource; + compilation.updateAsset(jsAssetName, assetSource); } + } - unprocessedChunks.delete(chunk); - const dependents: Set | undefined = dependentsByChunk.get(chunk); - if (dependents) { - for (const dependent of dependents) { - unprocessedDependenciesByChunk.get(dependent)?.delete(chunk); - } + if (jsAssetName.includes(existingHash)) { + const trueHash: string = hashFn(assetSource.buffer()); + if (trueHash !== existingHash) { + compilation.renameAsset(jsAssetName, jsAssetName.replace(existingHash, trueHash)); + return trueHash; + } + } + } + } + + const localizedFiles: Record | undefined = (chunk as ILocalizedWebpackChunk) + .localizedFiles; + if (localizedFiles) { + const trueHashByLocale: Record = {}; + hashReplacementsByChunk.set(chunk, { + existingHash, + trueHashByLocale + }); + for (const [locale, jsAssetName] of Object.entries(localizedFiles)) { + const trueHash: string | undefined = processChunkAsset(jsAssetName, locale); + if (trueHash) { + trueHashByLocale[locale] = trueHash; + } + } + } else { + const assetNames: string[] = Array.from(chunk.files); + let jsAssetName: string | undefined; + for (const assetName of assetNames) { + if (assetName.endsWith('.js')) { + if (jsAssetName) { + compilation.errors.push( + new thisWebpack.WebpackError(`Found multiple .js assets for chunk ${chunk.id}.`) + ); + } else { + jsAssetName = assetName; } } } + + if (!jsAssetName) { + compilation.errors.push( + new thisWebpack.WebpackError(`Could not find a .js asset for chunk ${chunk.id}.`) + ); + } else { + const trueHash: string | undefined = processChunkAsset(jsAssetName, undefined); + if (trueHash) { + hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); + } + } + } + } + + unprocessedChunks.delete(chunk); + const dependents: Set | undefined = dependentsByChunk.get(chunk); + if (dependents) { + for (const dependent of dependents) { + unprocessedDependenciesByChunk.get(dependent)?.delete(chunk); } } } + } + } + } +} + +/** + * @public + */ +export class TrueHashPlugin implements WebpackPluginInstance { + private readonly _options: ITrueHashPluginOptions; + + public constructor(options: ITrueHashPluginOptions) { + this._options = options; + } + + public apply(compiler: Compiler): void { + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { + const { webpack: thisWebpack } = compiler; + const { stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = + this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; + const hashFn: (contents: string | Buffer) => string = getHashFunction({ + thisWebpack, + compilation, + options: this._options + }); + + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: processAssetsStage + }, + () => updateAssetHashes({ thisWebpack, compilation, hashFn }) ); }); } diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index 83b7d959a7f..53d51213b1d 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -144,6 +144,11 @@ export interface ILocalizationPluginOptions { * runtimeLocaleExpression produces the same output as formatLocaleForFilename. */ formatLocaleForFilename?: (locale: string) => string; + + /** + * If set to true, update usages of [contenthash] to use the true hash of the file contents + */ + useTrueHashes?: boolean; } /** diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts index 9e045e78444..e226609c8a9 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -10,7 +10,6 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { @@ -28,8 +27,6 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise '/' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { localizationStats = stats; @@ -88,7 +85,7 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, context: '/', mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts index d915bfaa1c4..8a452a63525 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -10,7 +10,6 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise { @@ -29,8 +28,6 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise '/' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { localizationStats = stats; @@ -97,7 +94,7 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, context: '/', mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts index 3af98b8cacc..d5db2cb37d4 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts @@ -10,7 +10,6 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions } from '../interfaces'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testLocalizedNoAsyncInner(minimize: boolean): Promise { @@ -28,8 +27,6 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { '/' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - const resJsonLoader: string = resolve(__dirname, '../loaders/resjson-loader.js'); const options: ILocalizationPluginOptions = { localizedData: { @@ -57,7 +54,8 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { }, localizationStats: { dropPath: 'localization-stats.json' - } + }, + useTrueHashes: true }; const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); @@ -88,7 +86,7 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 073c9fa8e79..711a286b444 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -10,7 +10,6 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testMixedAsyncInner(minimize: boolean): Promise { @@ -29,8 +28,6 @@ async function testMixedAsyncInner(minimize: boolean): Promise { '/' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - let localizationStats: ILocalizationStats | undefined; function statsCallback(stats: ILocalizationStats): void { localizationStats = stats; @@ -55,7 +52,8 @@ async function testMixedAsyncInner(minimize: boolean): Promise { }, localizationStats: { callback: statsCallback - } + }, + useTrueHashes: true }; const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); @@ -87,7 +85,7 @@ async function testMixedAsyncInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index 21c1922508e..fd2566515ff 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -10,7 +10,6 @@ import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; import type { ILocalizationPluginOptions } from '../interfaces'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testMixedAsyncDynamicInner(minimize: boolean): Promise { @@ -30,8 +29,6 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { '/' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - const loader: string = resolve(__dirname, '../loaders/locjson-loader.js'); const options: ILocalizationPluginOptions = { localizedData: { @@ -82,7 +79,7 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { }, context: '/', mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts index 659de6684bb..40828337863 100644 --- a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts @@ -7,7 +7,6 @@ import { promisify } from 'util'; import webpack, { type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { LocalizationPlugin } from '../LocalizationPlugin'; import { MemFSPlugin } from './MemFSPlugin'; @@ -24,15 +23,14 @@ async function testNonLocalizedInner(minimize: boolean): Promise { '/src' ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin({}); - const localizationPlugin: LocalizationPlugin = new LocalizationPlugin({ localizedData: { defaultLocale: { localeName: 'LOCALE1' }, translatedStrings: {} - } + }, + useTrueHashes: true }); const compiler: webpack.Compiler = webpack({ @@ -50,7 +48,7 @@ async function testNonLocalizedInner(minimize: boolean): Promise { moduleIds: 'named' }, mode: 'production', - plugins: [localizationPlugin, trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] }); const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap index 8b1f05c1a37..60d005261c8 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap @@ -2,12 +2,12 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1-cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2-7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1-a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2-3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk-none-715248daf97c3187ae29.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk-none-68a37a79b5f57b145053.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk-none-12605f94c24d06759067.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -393,7 +393,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks-none-5f0b7b3fb7131c37d43d.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-c8d335424a028821be16.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap index 17656fb152d..d3ee8fda6cc 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap @@ -2,22 +2,22 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` Object { - "chunks/async1-LOCALE1/-cad17fe7b3c351329046.js": SizeOnlySource { + "chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": SizeOnlySource { "_size": 326, }, - "chunks/async1-LOCALE2/-7985b395dd8638da988b.js": SizeOnlySource { + "chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": SizeOnlySource { "_size": 334, }, - "chunks/async2-LOCALE1/-a451214780b2bb8a7567.js": SizeOnlySource { + "chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": SizeOnlySource { "_size": 326, }, - "chunks/async2-LOCALE2/-3ab09d6118116a26d5bb.js": SizeOnlySource { + "chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": SizeOnlySource { "_size": 334, }, - "mainSingleChunk--1b09b26c9a875c002d05.js": SizeOnlySource { + "mainSingleChunk--afcc3255fa327e61cdd6.js": SizeOnlySource { "_size": 2458, }, - "mainTwoChunks--308686397f9610f5a7e8.js": SizeOnlySource { + "mainTwoChunks--fa1b1d92e5c85d34a645.js": SizeOnlySource { "_size": 2569, }, "other--544743f724b236ee60fe.js": SizeOnlySource { @@ -28,12 +28,12 @@ Object { exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1/-cad17fe7b3c351329046.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2/-7985b395dd8638da988b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1/-a451214780b2bb8a7567.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2/-3ab09d6118116a26d5bb.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk--1b09b26c9a875c002d05.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk--afcc3255fa327e61cdd6.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk--c45bcdd9b6cbb014e637.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -446,7 +446,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks--eec17adcf65c6f009bc9.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks--7e74e29909840b009075.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap index 218247cdd31..69c3e86fa69 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -4,12 +4,12 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks wit Object { "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1-LOCALE1-168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1-LOCALE2-14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE1-e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE2-fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/mainFourChunks-none-933bb8d6d66d48d6e154.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/mainFourChunks-none-590d7d1f9c50abc6d8cb.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s { // webpackBootstrap + "/release/mainFourChunks-none-22134f50a64ffc7dad50.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -469,7 +469,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); /******/ })() ;", - "/release/mainTwoChunks-none-79795bbec1c04f334625.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-f47e7b2badbfc8b639f5.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache From dd28becc10e2bee769cd7a18030a54252d5c13bc Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 18:44:34 -0500 Subject: [PATCH 049/180] Update the localization stats when assets are renamed. --- .../src/LocalizationPlugin.ts | 24 +++++++++++-------- .../src/TrueHashPlugin.ts | 21 ++++++++++++++-- .../LocalizedNoAsync.test.ts.snap | 4 ++-- .../__snapshots__/MixedAsync.test.ts.snap | 24 +++++++++---------- 4 files changed, 47 insertions(+), 26 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index f8f29c1247d..2f255fe2480 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -289,13 +289,14 @@ export class LocalizationPlugin implements WebpackPluginInstance { const locales: Set = new Set(this._resolvedLocalizedStrings.keys()); const { chunkGraph, chunks } = compilation; + const { localizationStats: statsOptions } = this._options; - const filesByChunkName: Map> = new Map(); + const filesByChunkName: Map> | undefined = statsOptions + ? new Map() + : undefined; const localizedEntryPointNames: string[] = []; const localizedChunkNames: string[] = []; - const { localizationStats: statsOptions } = this._options; - for (const chunk of chunks) { const isLocalized: boolean = _chunkHasLocalizedModules( chunkGraph, @@ -334,11 +335,9 @@ export class LocalizationPlugin implements WebpackPluginInstance { filenameTemplate: template }); - if (statsOptions) { - if (chunk.name) { - filesByChunkName.set(chunk.name, localizedAssets); - (chunk.hasRuntime() ? localizedEntryPointNames : localizedChunkNames).push(chunk.name); - } + if (filesByChunkName && chunk.name) { + filesByChunkName.set(chunk.name, localizedAssets); + (chunk.hasRuntime() ? localizedEntryPointNames : localizedChunkNames).push(chunk.name); } } else { processNonLocalizedAsset({ @@ -356,11 +355,16 @@ export class LocalizationPlugin implements WebpackPluginInstance { } if (hashFn) { - updateAssetHashes({ thisWebpack, compilation, hashFn }); + updateAssetHashes({ + thisWebpack, + compilation, + hashFn, + filesByChunkName + }); } // Since the stats generation doesn't depend on content, do it immediately - if (statsOptions) { + if (statsOptions && filesByChunkName) { const localizationStats: ILocalizationStats = { entrypoints: {}, namedChunkGroups: {} diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 6954ce79b02..02d78bf2d90 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -71,9 +71,15 @@ export interface IUpdateAssetHashesOptions { thisWebpack: typeof webpack; compilation: Compilation; hashFn: HashFn; + filesByChunkName?: Map>; } -export function updateAssetHashes({ thisWebpack, compilation, hashFn }: IUpdateAssetHashesOptions): void { +export function updateAssetHashes({ + thisWebpack, + compilation, + hashFn, + filesByChunkName +}: IUpdateAssetHashesOptions): void { const unprocessedDependenciesByChunk: Map> = new Map(); const dependenciesByChunk: Map> = new Map(); const dependentsByChunk: Map> = new Map(); @@ -233,7 +239,18 @@ export function updateAssetHashes({ thisWebpack, compilation, hashFn }: IUpdateA if (jsAssetName.includes(existingHash)) { const trueHash: string = hashFn(assetSource.buffer()); if (trueHash !== existingHash) { - compilation.renameAsset(jsAssetName, jsAssetName.replace(existingHash, trueHash)); + const newAssetName: string = jsAssetName.replace(existingHash, trueHash); + compilation.renameAsset(jsAssetName, newAssetName); + + if (locale) { + const filesForChunkName: Record | undefined = filesByChunkName?.get( + chunk.name + ); + if (filesForChunkName) { + filesForChunkName[locale] = newAssetName; + } + } + return trueHash; } } diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap index dadd9ed8fc9..35b4af334ae 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedNoAsync.test.ts.snap @@ -2,7 +2,7 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks (minified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-3f1378ce57021ce7f26a.js\\",\\"LOCALE2\\":\\"main-LOCALE2-3f1378ce57021ce7f26a.js\\",\\"LOCALE1\\":\\"main-LOCALE1-3f1378ce57021ce7f26a.js\\",\\"qps-ploc\\":\\"main-qps-ploc-3f1378ce57021ce7f26a.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-83f4ee1ad53822d08923.js\\",\\"LOCALE2\\":\\"main-LOCALE2-53db16ce65a171b2d58d.js\\",\\"LOCALE1\\":\\"main-LOCALE1-d0826e06031981558e87.js\\",\\"qps-ploc\\":\\"main-qps-ploc-d917b232cbcc8f9aec8d.js\\"}}},\\"namedChunkGroups\\":{}}", "/release/main-LOCALE1-d0826e06031981558e87.js": "(()=>{\\"use strict\\";console.log(\\"blah\\\\r\\\\n\\\\t\\\\\\\\\\\\u0027\\\\u0022\\",\\"something else\\")})();", "/release/main-LOCALE2-53db16ce65a171b2d58d.js": "(()=>{\\"use strict\\";console.log(\\"return:\\\\r,newline:\\\\n,tab:\\\\t,backslash:\\\\\\\\,apos:\\\\u0027,quote:\\\\u0022\\",\\"something else\\")})();", "/release/main-default-83f4ee1ad53822d08923.js": "(()=>{\\"use strict\\";console.log(\\"test\\",\\"another\\")})();", @@ -16,7 +16,7 @@ exports[`LocalizationPlugin Handles localized compilation with no async chunks ( exports[`LocalizationPlugin Handles localized compilation with no async chunks (unminified): Content 1`] = ` Object { - "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-d5bdd52b62703e94ff43.js\\",\\"LOCALE2\\":\\"main-LOCALE2-d5bdd52b62703e94ff43.js\\",\\"LOCALE1\\":\\"main-LOCALE1-d5bdd52b62703e94ff43.js\\",\\"qps-ploc\\":\\"main-qps-ploc-d5bdd52b62703e94ff43.js\\"}}},\\"namedChunkGroups\\":{}}", + "/release/localization-stats.json": "{\\"entrypoints\\":{\\"main\\":{\\"localizedAssets\\":{\\"default\\":\\"main-default-fc50d2a48e11f2b086ea.js\\",\\"LOCALE2\\":\\"main-LOCALE2-a314aaef0a110988940c.js\\",\\"LOCALE1\\":\\"main-LOCALE1-5ebe1f1f7b993dda2dc3.js\\",\\"qps-ploc\\":\\"main-qps-ploc-7e43fa8e6919d74fccb9.js\\"}}},\\"namedChunkGroups\\":{}}", "/release/main-LOCALE1-5ebe1f1f7b993dda2dc3.js": "/******/ (() => { // webpackBootstrap /******/ \\"use strict\\"; var __webpack_exports__ = {}; diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap index e517f22120d..8a03dfd7365 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -20,22 +20,22 @@ Object { "entrypoints": Object { "main": Object { "localizedAssets": Object { - "LOCALE1": "main-LOCALE1-83f6b4313f770492c48c.js", - "LOCALE2": "main-LOCALE2-83f6b4313f770492c48c.js", + "LOCALE1": "main-LOCALE1-3cbc930b5f99a71a9557.js", + "LOCALE2": "main-LOCALE2-ba8327e9cbb975e3da43.js", }, }, }, "namedChunkGroups": Object { "asyncLoc1": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc1-LOCALE1-3bacd1d3213fe0fdaab4.js", - "LOCALE2": "chunks/asyncLoc1-LOCALE2-3bacd1d3213fe0fdaab4.js", + "LOCALE1": "chunks/asyncLoc1-LOCALE1-168f848b770aa62ad17d.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-14e0a3b5691b9628be91.js", }, }, "asyncLoc2": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc2-LOCALE1-97e541e9dcd77c08a0f9.js", - "LOCALE2": "chunks/asyncLoc2-LOCALE2-97e541e9dcd77c08a0f9.js", + "LOCALE1": "chunks/asyncLoc2-LOCALE1-e442ade75ccc8ccb7d2f.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-fd29172ccf479e97aa94.js", }, }, }, @@ -792,22 +792,22 @@ Object { "entrypoints": Object { "main": Object { "localizedAssets": Object { - "LOCALE1": "main-LOCALE1-d9e3bbcd50f1fb4d6390.js", - "LOCALE2": "main-LOCALE2-d9e3bbcd50f1fb4d6390.js", + "LOCALE1": "main-LOCALE1-53cd5b4b8031fdd624b7.js", + "LOCALE2": "main-LOCALE2-b233e0d532d0327ed6a8.js", }, }, }, "namedChunkGroups": Object { "asyncLoc1": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc1-LOCALE1-5491741ac467873e0e20.js", - "LOCALE2": "chunks/asyncLoc1-LOCALE2-5491741ac467873e0e20.js", + "LOCALE1": "chunks/asyncLoc1-LOCALE1-40f629a47fce31f71795.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-47968ebc87e0937a22bc.js", }, }, "asyncLoc2": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc2-LOCALE1-cd7bb284d09a7eab49e4.js", - "LOCALE2": "chunks/asyncLoc2-LOCALE2-cd7bb284d09a7eab49e4.js", + "LOCALE1": "chunks/asyncLoc2-LOCALE1-e928396bee55883d3b7a.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-92ed268b2fc76b31ee2a.js", }, }, }, From bc926c5e481f957068f8aa56b138379a08074f76 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 18:53:55 -0500 Subject: [PATCH 050/180] Remove an incorrect documentation comment. --- webpack/webpack5-localization-plugin/src/interfaces.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index 53d51213b1d..c3034fe7846 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -230,9 +230,6 @@ export interface ITrueHashPluginOptionsBase { export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { /** * The name of the hash algorithm to use, e.g. 'sha256', or a webpack Hash object. - * - * @defaultValue - * 'sha256' */ hash?: WebpackHash; } From adc006a267dfaa6779e4f485d68c2aba0913ef7d Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 18:59:11 -0500 Subject: [PATCH 051/180] Don't allow TrueHashesPlugin and useTrueHashes at the same time. --- .../api/webpack5-localization-plugin.api.md | 2 + .../src/LocalizationPlugin.ts | 5 +- .../src/TrueHashPlugin.ts | 52 +++++++++++++------ 3 files changed, 43 insertions(+), 16 deletions(-) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index 04578945a99..db9cde5f634 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -159,6 +159,8 @@ export class LocalizationPlugin implements WebpackPluginInstance { getDataForSerialNumber(serialNumber: string): _IStringPlaceholder | undefined; // (undocumented) getPlaceholder(localizedFileKey: string, stringName: string): _IStringPlaceholder | undefined; + // @internal (undocumented) + readonly _options: ILocalizationPluginOptions; // (undocumented) readonly stringKeys: Map; } diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index 2f255fe2480..ae59f3be855 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -81,7 +81,10 @@ export function getPluginInstance(compiler: Compiler | undefined): LocalizationP export class LocalizationPlugin implements WebpackPluginInstance { public readonly stringKeys: Map = new Map(); - private readonly _options: ILocalizationPluginOptions; + /** + * @internal + */ + public readonly _options: ILocalizationPluginOptions; private readonly _resolvedTranslatedStringsFromOptions: Map< string, Map> diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 02d78bf2d90..fb01e97cb8c 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -19,6 +19,7 @@ import type { ITrueHashPluginOptions, WebpackHash } from './interfaces'; +import { LocalizationPlugin } from './LocalizationPlugin'; const PLUGIN_NAME: 'true-hash' = 'true-hash'; @@ -325,21 +326,42 @@ export class TrueHashPlugin implements WebpackPluginInstance { public apply(compiler: Compiler): void { compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { const { webpack: thisWebpack } = compiler; - const { stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = - this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; - const hashFn: (contents: string | Buffer) => string = getHashFunction({ - thisWebpack, - compilation, - options: this._options - }); - - compilation.hooks.processAssets.tap( - { - name: PLUGIN_NAME, - stage: processAssetsStage - }, - () => updateAssetHashes({ thisWebpack, compilation, hashFn }) - ); + + let hasLocalizationPluginTrueHashOption: boolean = false; + if (compiler.options.plugins) { + for (const plugin of compiler.options.plugins) { + if (plugin instanceof LocalizationPlugin && plugin._options.useTrueHashes) { + hasLocalizationPluginTrueHashOption = true; + break; + } + } + } + + if (hasLocalizationPluginTrueHashOption) { + compilation.warnings.push( + new thisWebpack.WebpackError( + `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "useTrueHashes" option. ` + + `Because the LocalizationPlugin is already handling true hashes, the ${TrueHashPlugin.name} plugin ` + + 'will have no effect.' + ) + ); + } else { + const { stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = + this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; + const hashFn: (contents: string | Buffer) => string = getHashFunction({ + thisWebpack, + compilation, + options: this._options + }); + + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: processAssetsStage + }, + () => updateAssetHashes({ thisWebpack, compilation, hashFn }) + ); + } }); } } From 0be7550a4616af1c9b1e0d44d725324f33645403 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 18:59:17 -0500 Subject: [PATCH 052/180] Update README. --- .../webpack5-localization-plugin/README.md | 64 +++++++++++++++---- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/webpack/webpack5-localization-plugin/README.md b/webpack/webpack5-localization-plugin/README.md index c20e622ba88..8e7d1738776 100644 --- a/webpack/webpack5-localization-plugin/README.md +++ b/webpack/webpack5-localization-plugin/README.md @@ -47,21 +47,21 @@ any translations. ## Options -### `localizedData = { }` +### `localizedData: { }` -#### `localizedData.defaultLocale = { }` +#### `localizedData.defaultLocale: { }` This option has a required property (`localeName`), to specify the name of the locale used in the `.resx` and `.loc.json` files in the source. -##### `localizedData.defaultLocale.fillMissingTranslationStrings = true | false` +##### `localizedData.defaultLocale.fillMissingTranslationStrings: true | false` If this option is set to `true`, strings that are missing from `localizedData.translatedStrings` will be provided by the default locale (the strings in the `.resx` and `.loc.json` files in the source). If this option is unset or set to `false`, an error will be emitted if a string is missing from `localizedData.translatedStrings`. -#### `localizedData.translatedStrings = { }` +#### `localizedData.translatedStrings: { }` This option is used to specify the localization data to be used in the build. This object has the following structure: @@ -101,7 +101,7 @@ translatedStrings: { } ``` -#### `localizedData.resolveMissingTranslatedStrings = (locales: string[], filePath: string, context: LoaderContext<{}>) => { ... }` +#### `localizedData.resolveMissingTranslatedStrings: (locales: string[], filePath: string, context: LoaderContext<{}>) => { ... }` This optional option can be used to resolve translated data that is missing from data that is provided in the `localizedData.translatedStrings` option. Set this option with a function expecting two parameters: @@ -120,7 +120,7 @@ If the function returns data that is missing locales or individual strings, the default locale if `localizedData.defaultLocale.fillMissingTranslationStrings` is set to `true`. If `localizedData.defaultLocale.fillMissingTranslationStrings` is set to `false`, an error will result. -#### `localizedData.passthroughLocale = { }` +#### `localizedData.passthroughLocale: { }` This option is used to specify how and if a passthrough locale should be generated. A passthrough locale is a generated locale in which each string's value is its name. This is useful for debugging and for identifying @@ -128,34 +128,34 @@ cases where a locale is missing. This option takes two optional properties: -##### `localizedData.passthroughLocale.usePassthroughLocale = true | false` +##### `localizedData.passthroughLocale.usePassthroughLocale: true | false` If `passthroughLocale.usePassthroughLocale` is set to `true`, a passthrough locale will be included in the output. By default, the passthrough locale's name is "passthrough." -##### `localizedData.passthroughLocale.passthroughLocaleName = '...'` +##### `localizedData.passthroughLocale.passthroughLocaleName: '...'` If `passthroughLocale.usePassthroughLocale` is set to `true`, the "passthrough" locale name can be overridden by setting a value on `passthroughLocale.passthroughLocaleName`. -#### `localizedData.pseudolocales = { }` +#### `localizedData.pseudolocales: { }` This option allows pseudolocales to be generated from the strings in the default locale. This option takes an option with pseudolocales as keys and options for the [pseudolocale package](https://www.npmjs.com/package/pseudolocale) as values. -### `noStringsLocaleName = '...'` +### `noStringsLocaleName: '...'` The value to replace the `[locale]` token with for chunks without localized strings. Defaults to "none" -### `runtimeLocaleExpression = '...'` +### `runtimeLocaleExpression: '...'` A chunk of raw ECMAScript to inject into the webpack runtime to resolve the current locale at execution time. Allows multiple locales to share the same runtime chunk if it does not directly contain localized strings. -### `localizationStats = { }` +### `localizationStats: { }` -#### `localizationStats.dropPath = '...'` +#### `localizationStats.dropPath: '...'` This option is used to designate a path at which a JSON file describing the localized assets produced should be written. If this property is omitted, the stats file won't be written. @@ -196,11 +196,47 @@ The file has the following format: ``` -#### `localizationStats.callback = (stats) => { ... }` +#### `localizationStats.callback: (stats) => { ... }` This option is used to specify a callback to be called with the stats data that would be dropped at [`localizationStats.dropPath`](#localizationStats.DropPath--) after compilation completes. +### `useTrueHashes: true | false` + +If this option is set to `true`, the plugin will update `[contenthash]` tokens in the output filenames to +use the true hash of the content, rather than an intermediate hash that is shared between all locales. + +Note that this option is not compatible with the `runtimeLocaleExpression` option and will cause an error if +both are set. + +#### `TrueHashPlugin` + +There is another plugin exported from this package called `TrueHashPlugin`. This plugin can be used with +or independent of the `LocalizationPlugin`. It does the same thing as setting `useTrueHashes` to `true` in +the `LocalizationPlugin` options, but if used with the `LocalizationPlugin` and the `localizationStats` option +is set, stats may contain incorrect filenames. + +This plugin takes a few options: + +##### `stageOverride: number` + +If this option is set, override the stage of the `processAssets` hook at which the plugin runs. The default +stage is `PROCESS_ASSETS_STAGE_SUMMARIZE`. + +##### `hash: string | Hash` + +This option is used to specify the hash function to use. It can be a string specifying the name of a hash +function, or a webpack Hash object. It cannot be used with the `hashFunction` option. + +If neither `hash` nor `hashFunction` is set, the plugin will use the hash options from the webpack config. + +##### `hashFunction: (contents: string | Buffer) => string` + +This option is used to specify a custom hash function to use. This function should take a string or buffer +and return a string. It cannot be used with the `hash` option. + +If neither `hash` nor `hashFunction` is set, the plugin will use the hash options from the webpack config. + ## Links - [CHANGELOG.md](https://github.com/microsoft/rushstack/blob/main/webpack/localization-plugin/CHANGELOG.md) - Find From 3769d9f1539f13076f9cddfe5e7d6b57f52cc351 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 19:00:36 -0500 Subject: [PATCH 053/180] Rush change. --- .../true-hash-plugin_2024-02-05-00-00.json | 10 ++++++++++ .../true-hash-plugin_2024-02-05-00-00.json | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json diff --git a/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json b/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json new file mode 100644 index 00000000000..0bd56225f4c --- /dev/null +++ b/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Inclue a `Text.reverse` API for reversing a string.", + "type": "minor" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json new file mode 100644 index 00000000000..fd6a47f273d --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Include an option called `useTrueHashes` that updates \"[contenthash]\" hashes to the actual hashes of chunks.", + "type": "minor" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file From ea91868c94f68aea8f0cb8d32fd1b46823e7f307 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 19:30:44 -0500 Subject: [PATCH 054/180] Update node-core-library API review file. --- common/reviews/api/node-core-library.api.md | 1 + 1 file changed, 1 insertion(+) diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 8c0d2cbf518..1b8d1152ea0 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -1046,6 +1046,7 @@ export class Text { static readLinesFromIterable(iterable: Iterable, options?: IReadLinesFromIterableOptions): Generator; static readLinesFromIterableAsync(iterable: AsyncIterable, options?: IReadLinesFromIterableOptions): AsyncGenerator; static replaceAll(input: string, searchValue: string, replaceValue: string): string; + static reverse(s: string): string; static truncateWithEllipsis(s: string, maximumLength: number): string; } From 17294c1d82bf17ca513b139267b34b5a7614aa33 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 19:51:35 -0500 Subject: [PATCH 055/180] Set default options. --- common/reviews/api/webpack5-localization-plugin.api.md | 2 +- webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index db9cde5f634..d1ae647f0dc 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -167,7 +167,7 @@ export class LocalizationPlugin implements WebpackPluginInstance { // @public (undocumented) export class TrueHashPlugin implements WebpackPluginInstance { - constructor(options: ITrueHashPluginOptions); + constructor(options?: ITrueHashPluginOptions); // (undocumented) apply(compiler: Compiler): void; } diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index fb01e97cb8c..b458ea8c4dc 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -319,7 +319,7 @@ export function updateAssetHashes({ export class TrueHashPlugin implements WebpackPluginInstance { private readonly _options: ITrueHashPluginOptions; - public constructor(options: ITrueHashPluginOptions) { + public constructor(options: ITrueHashPluginOptions = {}) { this._options = options; } From 649cf3545c6c1d3f9806511a8186fe07d0834ce8 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 19:53:11 -0500 Subject: [PATCH 056/180] Introduce tests for builds without hashes. --- .../src/test/MixedAsyncNonHashed.test.ts | 114 ++++++++++++++++++ .../test/NonHashedNonLocalizedAssets.test.ts | 67 ++++++++++ .../MixedAsyncNonHashed.test.ts.snap | 97 +++++++++++++++ .../NonHashedNonLocalizedAssets.test.ts.snap | 37 ++++++ 4 files changed, 315 insertions(+) create mode 100644 webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts create mode 100644 webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts create mode 100644 webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap create mode 100644 webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts new file mode 100644 index 00000000000..8eb685efd74 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { resolve } from 'path'; +import { promisify } from 'util'; + +import webpack, { type Compiler, type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; + +import { LocalizationPlugin } from '../LocalizationPlugin'; +import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testMixedAsyncInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/a/package.json': '{ "name": "a", "sideEffects": ["entry.js", "async.js", "asyncLoc.js"] }', + '/a/async1.js': `console.log("blah1");`, + '/a/async2.js': `console.log("blah2");`, + '/a/asyncLoc1.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test, strings2.another);`, + '/a/asyncLoc2.js': `import strings1 from './strings1.loc.json'; import strings2 from './strings2.loc.json'; console.log(strings1.test + strings2.another);`, + '/a/entry.js': `import(/* webpackChunkName: 'asyncLoc1' */ './asyncLoc1');import(/* webpackChunkName: 'asyncLoc2' */ './asyncLoc2');import(/* webpackChunkName: 'async1' */ './async1');import(/* webpackChunkName: 'async2' */ './async2');`, + '/a/strings1.loc.json': `{"test":{"value":"blah","comment":"A string"}}`, + '/a/strings2.loc.json': `{"another":{"value":"something else","comment":"Another string" }}` + }, + '/' + ); + + let localizationStats: ILocalizationStats | undefined; + function statsCallback(stats: ILocalizationStats): void { + localizationStats = stats; + } + + const loader: string = resolve(__dirname, '../loaders/locjson-loader.js'); + const options: ILocalizationPluginOptions = { + localizedData: { + defaultLocale: { + localeName: 'LOCALE1' + }, + translatedStrings: { + LOCALE2: { + '/a/strings1.loc.json': { + test: 'baz' + }, + '/a/strings2.loc.json': { + another: 'some random translation' + } + } + } + }, + localizationStats: { + callback: statsCallback + }, + useTrueHashes: true + }; + + const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); + + const compiler: Compiler = webpack({ + entry: { + main: '/a/entry.js' + }, + output: { + path: '/release', + filename: '[name]-[locale].js', + chunkFilename: 'chunks/[name]-[locale].js' + }, + module: { + rules: [ + { + test: /\.loc.json$/, + use: { + loader + }, + type: 'javascript/esm', + sideEffects: false + } + ] + }, + optimization: { + minimize, + moduleIds: 'named' + }, + context: '/', + mode: 'production', + plugins: [localizationPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); + + expect(localizationStats).toMatchSnapshot('Localization Stats'); +} + +describe(LocalizationPlugin.name, () => { + it('Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified)', async () => { + await testMixedAsyncInner(false); + }); + + it('Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified)', async () => { + await testMixedAsyncInner(true); + }); +}); diff --git a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts new file mode 100644 index 00000000000..4c929f89ca3 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +jest.disableAutomock(); +import { promisify } from 'util'; + +import webpack, { type Stats } from 'webpack'; +import { Volume } from 'memfs/lib/volume'; + +import { TrueHashPlugin } from '../TrueHashPlugin'; +import { MemFSPlugin } from './MemFSPlugin'; + +async function testNonLocalizedInner(minimize: boolean): Promise { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/package.json': '{}', + '/entrySingleChunk.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());`, + '/entryTwoChunks.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, + '/async1.js': `export function foo() { console.log('foo1'); }`, + '/async2.js': `export function foo() { console.log('foo2'); }` + }, + '/src' + ); + + const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin(); + + const compiler: webpack.Compiler = webpack({ + entry: { + mainSingleChunk: '/entrySingleChunk.js', + mainTwoChunks: '/entryTwoChunks.js' + }, + output: { + path: '/release', + filename: '[name]-[locale].js' + }, + context: '/', + optimization: { + minimize, + moduleIds: 'named' + }, + mode: 'production', + plugins: [trueHashPlugin, new MemFSPlugin(memoryFileSystem)] + }); + + const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); + await promisify(compiler.close.bind(compiler))(); + if (!stats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = stats.toJson('errors-warnings'); + expect(errors).toMatchSnapshot('Errors'); + expect(warnings).toMatchSnapshot('Warnings'); + + const results: {} = memoryFileSystem.toJSON('/release'); + expect(results).toMatchSnapshot('Content'); +} + +describe(TrueHashPlugin.name, () => { + it('Handles non-localized non-hashed compilations (unminified)', async () => { + await testNonLocalizedInner(false); + }); + + it('Handles non-localized non-hashed compilations (minified)', async () => { + await testNonLocalizedInner(true); + }); +}); diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap new file mode 100644 index 00000000000..3b5aa2ffa0a --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap @@ -0,0 +1,97 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Content 1`] = `Object {}`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Errors 1`] = ` +Array [ + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, +] +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Localization Stats 1`] = ` +Object { + "entrypoints": Object { + "main": Object { + "localizedAssets": Object { + "LOCALE1": "main-LOCALE1.js", + "LOCALE2": "main-LOCALE2.js", + }, + }, + }, + "namedChunkGroups": Object { + "asyncLoc1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc1-LOCALE1.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2.js", + }, + }, + "asyncLoc2": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc2-LOCALE1.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2.js", + }, + }, + }, +} +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Warnings 1`] = `Array []`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Content 1`] = `Object {}`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Errors 1`] = ` +Array [ + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, +] +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Localization Stats 1`] = ` +Object { + "entrypoints": Object { + "main": Object { + "localizedAssets": Object { + "LOCALE1": "main-LOCALE1.js", + "LOCALE2": "main-LOCALE2.js", + }, + }, + }, + "namedChunkGroups": Object { + "asyncLoc1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc1-LOCALE1.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2.js", + }, + }, + "asyncLoc2": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc2-LOCALE1.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2.js", + }, + }, + }, +} +`; + +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Warnings 1`] = `Array []`; diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap new file mode 100644 index 00000000000..7d4a8c201ff --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap @@ -0,0 +1,37 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Content 1`] = `Object {}`; + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Errors 1`] = ` +Array [ + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, +] +`; + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Warnings 1`] = `Array []`; + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Content 1`] = `Object {}`; + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Errors 1`] = ` +Array [ + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 515.", + }, + Object { + "message": "Could not find hash replacements for chunk 989.", + }, +] +`; + +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Warnings 1`] = `Array []`; From 021e60d6fa5b75a2cfeeccdd5ba420a2455c1700 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 19:55:19 -0500 Subject: [PATCH 057/180] Fix an issue where missing hashes aren't handled. --- .../src/TrueHashPlugin.ts | 6 +- .../MixedAsyncNonHashed.test.ts.snap | 786 +++++++++++++++++- .../NonHashedNonLocalizedAssets.test.ts.snap | 584 ++++++++++++- 3 files changed, 1311 insertions(+), 65 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index b458ea8c4dc..0d0e20ae304 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -25,7 +25,7 @@ const PLUGIN_NAME: 'true-hash' = 'true-hash'; interface IHashReplacement { existingHash: string; - trueHashByLocale: string | Record; + trueHashByLocale: string | Record | undefined; } export type HashFn = (contents: string | Buffer) => string; @@ -293,9 +293,7 @@ export function updateAssetHashes({ ); } else { const trueHash: string | undefined = processChunkAsset(jsAssetName, undefined); - if (trueHash) { - hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); - } + hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); } } } diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap index 3b5aa2ffa0a..3a732228ad6 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncNonHashed.test.ts.snap @@ -1,24 +1,20 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Content 1`] = `Object {}`; - -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Errors 1`] = ` -Array [ - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 989.", - }, - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 989.", - }, -] +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (minified): Content 1`] = ` +Object { + "/release/chunks/async1-none.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2-none.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1-LOCALE1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main-LOCALE1.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u { + +console.log(\\"blah1\\"); + +/***/ }) + +}]);", + "/release/chunks/async2-none.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./a/async2.js\\": +/***/ (() => { + +console.log(\\"blah2\\"); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1-LOCALE1.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc1-LOCALE2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ + +/***/ \\"./a/asyncLoc1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test, _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2-LOCALE1.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"blah\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"something else\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/chunks/asyncLoc2-LOCALE2.js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ + +/***/ \\"./a/asyncLoc2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\\"./a/strings1.loc.json\\"); +/* harmony import */ var _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\\"./a/strings2.loc.json\\"); + console.log(_strings1_loc_json__WEBPACK_IMPORTED_MODULE_0__/* [\\"default\\"].test */ .Z.test + _strings2_loc_json__WEBPACK_IMPORTED_MODULE_1__/* [\\"default\\"].another */ .Z.another); + +/***/ }), + +/***/ \\"./a/strings1.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"test\\":\\"baz\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }), + +/***/ \\"./a/strings2.loc.json\\": +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"Z\\": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const strings = {\\"another\\":\\"some random translation\\"}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (strings); + +/***/ }) + +}]);", + "/release/main-LOCALE1.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", + "/release/main-LOCALE2.js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/create fake namespace object */ +/******/ (() => { +/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); +/******/ var leafPrototypes; +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 16: return value when it's Promise-like +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = this(value); +/******/ if(mode & 8) return value; +/******/ if(typeof value === 'object' && value) { +/******/ if((mode & 4) && value.__esModule) return value; +/******/ if((mode & 16) && typeof value.then === 'function') return value; +/******/ } +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ var def = {}; +/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; +/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { +/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); +/******/ } +/******/ def['default'] = () => (value); +/******/ __webpack_require__.d(ns, def); +/******/ return ns; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\".js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 179: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +__webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); +/******/ })() +;", +} `; +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Errors 1`] = `Array []`; + exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression and without an asset filename hash (unminified): Localization Stats 1`] = ` Object { "entrypoints": Object { diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap index 7d4a8c201ff..b5e8fb650a2 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap @@ -1,37 +1,565 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Content 1`] = `Object {}`; - -exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Errors 1`] = ` -Array [ - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 989.", - }, -] +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Content 1`] = ` +Object { + "/release/async1-[locale].js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/async2-[locale].js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/mainSingleChunk-[locale].js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"async1-[locale].js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),u=0;u{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,u=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);ue.foo()))})();", + "/release/mainTwoChunks-[locale].js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\"-[locale].js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);se.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", +} `; +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Errors 1`] = `Array []`; + exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Warnings 1`] = `Array []`; -exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Content 1`] = `Object {}`; - -exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Errors 1`] = ` -Array [ - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 515.", - }, - Object { - "message": "Could not find hash replacements for chunk 989.", - }, -] +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Content 1`] = ` +Object { + "/release/async1-[locale].js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ + +/***/ \\"./async1.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"foo\\": () => (/* binding */ foo) +/* harmony export */ }); +function foo() { console.log('foo1'); } + +/***/ }) + +}]);", + "/release/async2-[locale].js": "\\"use strict\\"; +(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + +/***/ \\"./async2.js\\": +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ \\"foo\\": () => (/* binding */ foo) +/* harmony export */ }); +function foo() { console.log('foo2'); } + +/***/ }) + +}]);", + "/release/mainSingleChunk-[locale].js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"\\" + \\"async1\\" + \\"-[locale].js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 315: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo()); +/******/ })() +;", + "/release/mainTwoChunks-[locale].js": "/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({}); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-[locale].js\\"; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ // data-webpack is not used as build has no uniqueName +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute(\\"src\\") == url) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute(\\"nonce\\", __webpack_require__.nc); +/******/ } +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\"; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName(\\"script\\"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ // no baseURI +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 903: 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means \\"already installed\\". +/******/ +/******/ // a Promise means \\"currently loading\\". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var [chunkIds, moreModules, runtime] = data; +/******/ // add \\"moreModules\\" to the modules object, +/******/ // then flag all \\"chunkIds\\" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo());__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./async2.js\\")).then(mod => mod.foo()); +/******/ })() +;", +} `; +exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Errors 1`] = `Array []`; + exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Warnings 1`] = `Array []`; From fa8aa79455e30f1fdbb0512cc6e093d90c345937 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 20:12:55 -0500 Subject: [PATCH 058/180] Ensure there are no warnings or errors. --- .../src/test/LocalizedAsyncDynamic.test.ts | 3 +++ .../LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts | 3 +++ .../src/test/LocalizedNoAsync.test.ts | 3 +++ .../src/test/LocalizedRuntimeTestBase.ts | 3 +++ .../webpack5-localization-plugin/src/test/MixedAsync.test.ts | 3 +++ .../src/test/MixedAsyncDynamic.test.ts | 3 +++ .../src/test/MixedAsyncNonHashed.test.ts | 3 +++ .../src/test/NoLocalizedFiles.test.ts | 3 +++ .../src/test/NonHashedNonLocalizedAssets.test.ts | 3 +++ 9 files changed, 27 insertions(+) diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts index e226609c8a9..d182458fa23 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -101,6 +101,9 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise expect(results).toMatchSnapshot('Content'); expect(localizationStats).toMatchSnapshot('Localization Stats'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts index 8a452a63525..d072075a97e 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -112,6 +112,9 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise expect(results).toMatchSnapshot('Content'); expect(localizationStats).toMatchSnapshot('Localization Stats'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts index d5db2cb37d4..15ff3da150c 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts @@ -100,6 +100,9 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts index 395c19f0541..5e8607e2c0e 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -93,6 +93,9 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 711a286b444..956b928be49 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -101,6 +101,9 @@ async function testMixedAsyncInner(minimize: boolean): Promise { expect(results).toMatchSnapshot('Content'); expect(localizationStats).toMatchSnapshot('Localization Stats'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index fd2566515ff..5b90ba06f1c 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -93,6 +93,9 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts index 8eb685efd74..a5ff950a033 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts @@ -101,6 +101,9 @@ async function testMixedAsyncInner(minimize: boolean): Promise { expect(results).toMatchSnapshot('Content'); expect(localizationStats).toMatchSnapshot('Localization Stats'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts index 40828337863..cdd86cbfdb0 100644 --- a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts @@ -62,6 +62,9 @@ async function testNonLocalizedInner(minimize: boolean): Promise { const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(LocalizationPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts index 4c929f89ca3..8da826a2a1f 100644 --- a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts @@ -54,6 +54,9 @@ async function testNonLocalizedInner(minimize: boolean): Promise { const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + + expect(errors).toHaveLength(0); + expect(warnings).toHaveLength(0); } describe(TrueHashPlugin.name, () => { From 792128ee5f29c5527c374fc84c549fbdb943fa08 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 21:00:47 -0500 Subject: [PATCH 059/180] Fix an issue with cycles occasionally showing up. --- .../src/TrueHashPlugin.ts | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 0d0e20ae304..c14a3d6850e 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -97,23 +97,39 @@ export function updateAssetHashes({ dependenciesByChunk.set(chunk, dependencies); } - for (const asyncChunk of chunk.getAllAsyncChunks()) { - unprocessedDependencies.add(asyncChunk); - dependencies.add(asyncChunk); - - let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); - if (!dependents) { - dependents = new Set(); - dependentsByChunk.set(asyncChunk, dependents); - } + if (chunk.hasRuntime()) { + for (const asyncChunk of chunk.getAllAsyncChunks()) { + unprocessedDependencies.add(asyncChunk); + dependencies.add(asyncChunk); + + let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); + if (!dependents) { + dependents = new Set(); + dependentsByChunk.set(asyncChunk, dependents); + } - dependents.add(chunk); + dependents.add(chunk); + } } } const hashReplacementsByChunk: Map = new Map(); const unprocessedChunks: Set = new Set(compilation.chunks); + let previousSize: number = -1; while (unprocessedChunks.size > 0) { + const currentSize: number = unprocessedChunks.size; + if (currentSize === previousSize) { + compilation.errors.push( + new thisWebpack.WebpackError( + `Detected a cycle in the chunk dependencies. This should not be possible.` + ) + ); + + break; + } + + previousSize = currentSize; + for (const chunk of unprocessedChunks) { if (unprocessedDependenciesByChunk.get(chunk)?.size === 0) { // TODO: do we need to check if the chunk is rendered? From 349d326240300d2621c5325e362fb92132cb912a Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 4 Feb 2024 21:42:27 -0500 Subject: [PATCH 060/180] Update the chunk data. --- .../src/TrueHashPlugin.ts | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index c14a3d6850e..3a6267a5964 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -75,6 +75,11 @@ export interface IUpdateAssetHashesOptions { filesByChunkName?: Map>; } +interface IProcessChunkAssetResult { + trueHash: string; + newJsFilename: string; +} + export function updateAssetHashes({ thisWebpack, compilation, @@ -145,7 +150,10 @@ export function updateAssetHashes({ new thisWebpack.WebpackError(`Could not find dependencies for chunk ${chunk.id}.`) ); } else { - function processChunkAsset(jsAssetName: string, locale: string | undefined): string | undefined { + function processChunkAsset( + jsAssetName: string, + locale: string | undefined + ): IProcessChunkAssetResult | undefined { const asset: Readonly | undefined = compilation.getAsset(jsAssetName); if (!asset) { compilation.errors.push( @@ -256,19 +264,22 @@ export function updateAssetHashes({ if (jsAssetName.includes(existingHash)) { const trueHash: string = hashFn(assetSource.buffer()); if (trueHash !== existingHash) { - const newAssetName: string = jsAssetName.replace(existingHash, trueHash); - compilation.renameAsset(jsAssetName, newAssetName); + const newJsFilename: string = jsAssetName.replace(existingHash, trueHash); + compilation.renameAsset(jsAssetName, newJsFilename); if (locale) { const filesForChunkName: Record | undefined = filesByChunkName?.get( chunk.name ); if (filesForChunkName) { - filesForChunkName[locale] = newAssetName; + filesForChunkName[locale] = newJsFilename; } } - return trueHash; + return { + trueHash, + newJsFilename + }; } } } @@ -283,9 +294,14 @@ export function updateAssetHashes({ trueHashByLocale }); for (const [locale, jsAssetName] of Object.entries(localizedFiles)) { - const trueHash: string | undefined = processChunkAsset(jsAssetName, locale); - if (trueHash) { + const processAssetResult: IProcessChunkAssetResult | undefined = processChunkAsset( + jsAssetName, + locale + ); + if (processAssetResult) { + const { trueHash, newJsFilename } = processAssetResult; trueHashByLocale[locale] = trueHash; + localizedFiles[locale] = newJsFilename; } } } else { @@ -308,8 +324,12 @@ export function updateAssetHashes({ new thisWebpack.WebpackError(`Could not find a .js asset for chunk ${chunk.id}.`) ); } else { - const trueHash: string | undefined = processChunkAsset(jsAssetName, undefined); + const { trueHash, newJsFilename } = processChunkAsset(jsAssetName, undefined) ?? {}; hashReplacementsByChunk.set(chunk, { existingHash, trueHashByLocale: trueHash }); + if (newJsFilename) { + chunk.files.delete(jsAssetName); + chunk.files.add(newJsFilename); + } } } } From 5acc0195d6c41cf94731b97813ad0f276326ce8f Mon Sep 17 00:00:00 2001 From: Will Huang Date: Mon, 5 Feb 2024 13:19:24 +0800 Subject: [PATCH 061/180] Fix issue where filter arguments were being incorrectly passed when subspaces is enabled --- libraries/rush-lib/src/cli/actions/BaseInstallAction.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 8003f198dd7..489e92081a3 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -149,6 +149,8 @@ export abstract class BaseInstallAction extends BaseRushAction { } else { throw new Error('The specified filter arguments resulted in no projects being selected.'); } + // Remove the filter arguments as we already have the selected subspaces + installManagerOptions.pnpmFilterArguments = []; } else if (this._subspaceParameter.value) { // Selecting a single subspace const selectedSubspace: Subspace = this.rushConfiguration.getSubspace(this._subspaceParameter.value); From 1de439d7f505139121e375f977023002c145b716 Mon Sep 17 00:00:00 2001 From: Will Huang Date: Mon, 5 Feb 2024 13:20:54 +0800 Subject: [PATCH 062/180] Change file --- .../rush/will-subspace-patch-3_2024-02-05-05-20.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json diff --git a/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json b/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json new file mode 100644 index 00000000000..3fcdbe0a7bc --- /dev/null +++ b/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fixed issue related to pnpm filter arguments and subspaces", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From e0bf5c152b1e452bd32cfd317009c07f847bdeb4 Mon Sep 17 00:00:00 2001 From: wesley-weiming <24312810+wesley-weiming@users.noreply.github.com> Date: Mon, 5 Feb 2024 20:20:51 +0800 Subject: [PATCH 063/180] fix: use FileSystem instead of fs --- .../common/config/rush/experiments.json | 7 +++- .../src/logic/ProjectImpactGraphGenerator.ts | 33 ++++++++++--------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index db23def61a0..6043d15de1f 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -69,5 +69,10 @@ /** * If true, Rush will not allow node_modules in the repo folder or in parent folders. */ - /*[LINE "HYPOTHETICAL"]*/ "forbidPhantomResolvableNodeModulesFolders": true + /*[LINE "HYPOTHETICAL"]*/ "forbidPhantomResolvableNodeModulesFolders": true, + + /** + * If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished. + */ + /*[LINE "HYPOTHETICAL"]*/ "useProjectImpactGraphGeneratorAfterRushUpdate": true } diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 923a2c21d32..cae60abdb76 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import fs from 'fs'; +import { FileSystem } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; import path from 'path'; import colors from 'colors/safe'; @@ -28,22 +28,22 @@ export interface IFileSchema { }; } +/** + * Default global excluded globs + * Only used if the `/.mergequeueignore` does not exist + */ +const DefaultGlobalExcludedGlobs: string[] = ['common/autoinstallers/**']; + export class ProjectImpactGraphGenerator { /** * Full path of repository root */ - private _repositoryRoot: string; + private readonly _repositoryRoot: string; /** * Projects within the Rush configuration */ - private _projects: RushConfigurationProject[]; - - /** - * Default global excluded globs - * Only used if the `/.mergequeueignore` does not exist - */ - private _DefaultGlobalExcludedGlobs: string[] = ['common/autoinstallers/**']; + private readonly _projects: RushConfigurationProject[]; /** * Get repositoryRoot and load projects within the rush.json @@ -59,8 +59,8 @@ export class ProjectImpactGraphGenerator { */ private _loadGlobalExcludedGlobs(repositoryRoot: string): string[] | undefined { const filePath: string = path.join(repositoryRoot, '.mergequeueignore'); - if (fs.existsSync(filePath)) { - const globs: string[] = fs.readFileSync(filePath).toString().split('\n'); + if (FileSystem.exists(filePath)) { + const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); return globs; } } @@ -71,8 +71,8 @@ export class ProjectImpactGraphGenerator { */ private _loadProjectExcludedGlobs(projectRootRelativePath: string): string[] | undefined { const filePath: string = path.join(this._repositoryRoot, projectRootRelativePath, '.mergequeueignore'); - if (fs.existsSync(filePath)) { - const globs: string[] = fs.readFileSync(filePath).toString().split('\n'); + if (FileSystem.exists(filePath)) { + const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); return globs.map((glob) => path.join(projectRootRelativePath, glob)); } } @@ -84,7 +84,7 @@ export class ProjectImpactGraphGenerator { const stopwatch: Stopwatch = Stopwatch.start(); const content: IFileSchema = {} as IFileSchema; content.globalExcludedGlobs = - this._loadGlobalExcludedGlobs(this._repositoryRoot) || this._DefaultGlobalExcludedGlobs; + this._loadGlobalExcludedGlobs(this._repositoryRoot) || DefaultGlobalExcludedGlobs; content.projects = {}; this._projects.forEach((project) => { // ignore the top project @@ -106,7 +106,10 @@ export class ProjectImpactGraphGenerator { } }); - fs.writeFileSync(path.join(this._repositoryRoot, 'project-impact-graph.yaml'), yaml.safeDump(content)); + FileSystem.writeFile( + path.join(this._repositoryRoot, 'project-impact-graph.yaml'), + yaml.safeDump(content) + ); stopwatch.stop(); // eslint-disable-next-line no-console console.log('\n' + colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`)); From e1b1eb4da0a4036a9db8ac469c00b3d995096555 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Mon, 5 Feb 2024 10:33:51 -0800 Subject: [PATCH 064/180] Update common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json --- .../@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json b/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json index 3fcdbe0a7bc..f21dc2712ad 100644 --- a/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json +++ b/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Fixed issue related to pnpm filter arguments and subspaces", + "comment": "Fix an issue with filtered installs when the experimental subspaces feature is enabled", "type": "none" } ], From 9509a3f5f8b2b0cfd1c129230934e78eafb79388 Mon Sep 17 00:00:00 2001 From: StyleShit <32631382+StyleShit@users.noreply.github.com> Date: Mon, 5 Feb 2024 20:28:19 +0200 Subject: [PATCH 065/180] [eslint-config]: Allow using `as const` in `typedef-var` Closes #4446 --- eslint/eslint-plugin/src/test/typedef-var.test.ts | 3 +++ eslint/eslint-plugin/src/typedef-var.ts | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/eslint/eslint-plugin/src/test/typedef-var.test.ts b/eslint/eslint-plugin/src/test/typedef-var.test.ts index fb12ffe09ff..f74ecaf5112 100644 --- a/eslint/eslint-plugin/src/test/typedef-var.test.ts +++ b/eslint/eslint-plugin/src/test/typedef-var.test.ts @@ -46,6 +46,9 @@ ruleTester.run('typedef-var', typedefVar, { { code: 'for (const x of []) { }' }, + { + code: 'const x = 1 as const;' + }, { // prettier-ignore code: [ diff --git a/eslint/eslint-plugin/src/typedef-var.ts b/eslint/eslint-plugin/src/typedef-var.ts index 33ed7cd1f57..6202d4d2844 100644 --- a/eslint/eslint-plugin/src/typedef-var.ts +++ b/eslint/eslint-plugin/src/typedef-var.ts @@ -50,6 +50,16 @@ const typedefVar: TSESLint.RuleModule = { return; } + if ( + node.init?.type === AST_NODE_TYPES.TSAsExpression && + node.init.typeAnnotation.type === AST_NODE_TYPES.TSTypeReference && + node.init.typeAnnotation.typeName.type === AST_NODE_TYPES.Identifier && + node.init.typeAnnotation.typeName.name === 'const' + ) { + // An `as const` type declaration was provided + return; + } + // These are @typescript-eslint/typedef exemptions if ( node.id.type === AST_NODE_TYPES.ArrayPattern /* ArrayDestructuring */ || From 0192bceecb224e249804b6aaa92dce51dee547a3 Mon Sep 17 00:00:00 2001 From: StyleShit <32631382+StyleShit@users.noreply.github.com> Date: Mon, 5 Feb 2024 20:49:24 +0200 Subject: [PATCH 066/180] wip --- eslint/eslint-plugin/src/test/typedef-var.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eslint/eslint-plugin/src/test/typedef-var.test.ts b/eslint/eslint-plugin/src/test/typedef-var.test.ts index f74ecaf5112..c29bc76b353 100644 --- a/eslint/eslint-plugin/src/test/typedef-var.test.ts +++ b/eslint/eslint-plugin/src/test/typedef-var.test.ts @@ -49,6 +49,9 @@ ruleTester.run('typedef-var', typedefVar, { { code: 'const x = 1 as const;' }, + { + code: 'const x: number = 1;' + }, { // prettier-ignore code: [ From 21a0b675755381eb56fcaa90bf45ba07becd1e4e Mon Sep 17 00:00:00 2001 From: StyleShit <32631382+StyleShit@users.noreply.github.com> Date: Mon, 5 Feb 2024 20:57:08 +0200 Subject: [PATCH 067/180] add changes json --- .../feat-typedef-var-as-const_2024-02-05-18-53.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json diff --git a/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json b/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json new file mode 100644 index 00000000000..244e0917993 --- /dev/null +++ b/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/eslint-plugin", + "comment": "Allow using `as const` in `typedef-var`", + "type": "patch" + } + ], + "packageName": "@rushstack/eslint-plugin" +} \ No newline at end of file From 0fa3567e9ccd3e423f3ef90d2f4f0e9c98f2e010 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 15:52:49 -0500 Subject: [PATCH 068/180] Fix an API Extractor issue. --- common/reviews/api/webpack5-localization-plugin.api.md | 4 +++- webpack/webpack5-localization-plugin/src/index.ts | 7 ++++--- webpack/webpack5-localization-plugin/src/interfaces.ts | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index d1ae647f0dc..7e00f3ab62d 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -27,7 +27,6 @@ export interface IDefaultLocaleOptions { // @public (undocumented) export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { - // Warning: (ae-forgotten-export) The symbol "WebpackHash" needs to be exported by the entry point index.d.ts hash?: WebpackHash; } @@ -172,6 +171,9 @@ export class TrueHashPlugin implements WebpackPluginInstance { apply(compiler: Compiler): void; } +// @public (undocumented) +export type WebpackHash = Parameters[0]; + // (No @packageDocumentation comment for this package) ``` diff --git a/webpack/webpack5-localization-plugin/src/index.ts b/webpack/webpack5-localization-plugin/src/index.ts index 98f09a388b1..5cc4504b00e 100644 --- a/webpack/webpack5-localization-plugin/src/index.ts +++ b/webpack/webpack5-localization-plugin/src/index.ts @@ -5,7 +5,9 @@ export { LocalizationPlugin, type IStringPlaceholder as _IStringPlaceholder } fr export { TrueHashPlugin } from './TrueHashPlugin'; export { + ICustomHashFunctionOptions, IDefaultLocaleOptions, + IHashAlgorithmOptions, ILocaleData, ILocaleElementMap, ILocaleFileData, @@ -21,9 +23,8 @@ export { IPseudolocalesOptions, IResolvedMissingTranslations, ITrueHashPluginOptions, - ICustomHashFunctionOptions, - IHashAlgorithmOptions, - ITrueHashPluginOptionsBase + ITrueHashPluginOptionsBase, + WebpackHash } from './interfaces'; export { ILocalizedWebpackChunk } from './webpackInterfaces'; diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index c3034fe7846..18b1d448ad4 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -215,6 +215,9 @@ export interface ILocalizationStats { namedChunkGroups: { [name: string]: ILocalizationStatsChunkGroup }; } +/** + * @public + */ export type WebpackHash = Parameters[0]; /** From 77a710518fbc87213efac2e0ab5f0d87ed50c9a7 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 15:55:07 -0500 Subject: [PATCH 069/180] Remove the locale token from a non-localized test. --- .../test/NonHashedNonLocalizedAssets.test.ts | 2 +- .../NonHashedNonLocalizedAssets.test.ts.snap | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts index 8da826a2a1f..9372bf401e1 100644 --- a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts @@ -32,7 +32,7 @@ async function testNonLocalizedInner(minimize: boolean): Promise { }, output: { path: '/release', - filename: '[name]-[locale].js' + filename: '[name].js' }, context: '/', optimization: { diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap index b5e8fb650a2..93dbcb8b05b 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/NonHashedNonLocalizedAssets.test.ts.snap @@ -2,10 +2,10 @@ exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified): Content 1`] = ` Object { - "/release/async1-[locale].js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", - "/release/async2-[locale].js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", - "/release/mainSingleChunk-[locale].js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"async1-[locale].js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),u=0;u{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,u=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);ue.foo()))})();", - "/release/mainTwoChunks-[locale].js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\"-[locale].js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);se.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", + "/release/async1.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./async1.js\\":(o,s,c)=>{function e(){console.log(\\"foo1\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/async2.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./async2.js\\":(o,s,c)=>{function e(){console.log(\\"foo2\\")}c.r(s),c.d(s,{foo:()=>e})}}]);", + "/release/mainSingleChunk.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"async1.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var u=document.getElementsByTagName(\\"script\\"),c=0;c{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,u]=t,c=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);u&&u(o)}for(r&&r(t);ce.foo()))})();", + "/release/mainTwoChunks.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>({515:\\"async1\\",989:\\"async2\\"}[e]+\\".js\\"),o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),c=0;c{a.onerror=a.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,s]=t,c=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);s&&s(o)}for(r&&r(t);ce.foo())),o.e(989).then(o.bind(o,\\"./async2.js\\")).then((e=>e.foo()))})();", } `; @@ -15,7 +15,7 @@ exports[`TrueHashPlugin Handles non-localized non-hashed compilations (minified) exports[`TrueHashPlugin Handles non-localized non-hashed compilations (unminified): Content 1`] = ` Object { - "/release/async1-[locale].js": "\\"use strict\\"; + "/release/async1.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ /***/ \\"./async1.js\\": @@ -30,7 +30,7 @@ function foo() { console.log('foo1'); } /***/ }) }]);", - "/release/async2-[locale].js": "\\"use strict\\"; + "/release/async2.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ /***/ \\"./async2.js\\": @@ -45,7 +45,7 @@ function foo() { console.log('foo2'); } /***/ }) }]);", - "/release/mainSingleChunk-[locale].js": "/******/ (() => { // webpackBootstrap + "/release/mainSingleChunk.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -106,7 +106,7 @@ function foo() { console.log('foo2'); } /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"\\" + \\"async1\\" + \\"-[locale].js\\"; +/******/ return \\"\\" + \\"async1\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -301,7 +301,7 @@ var __webpack_exports__ = {}; console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./async1.js\\")).then(mod => mod.foo()); /******/ })() ;", - "/release/mainTwoChunks-[locale].js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -362,7 +362,7 @@ console.log(\\"Do stuff\\");__webpack_require__.e(/* import() | async1 */ 515).t /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-[locale].js\\"; +/******/ return \\"\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ From 0abc34d3d5465707b2949c9feaac0ae9782ee594 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 16:18:37 -0500 Subject: [PATCH 070/180] Pull the true hash plugin out of the published package. --- .../api/webpack5-localization-plugin.api.md | 32 ----- .../webpack5-localization-plugin/README.md | 30 +---- .../src/LocalizationPlugin.ts | 2 +- .../webpack5-localization-plugin/src/index.ts | 8 +- .../src/interfaces.ts | 39 +----- .../src/test/LocalizedRuntimeTestBase.ts | 4 +- .../test/NonHashedNonLocalizedAssets.test.ts | 106 ++++++++++------- .../src/test/TrueHashPlugin.ts | 66 +++++++++++ .../src/{TrueHashPlugin.ts => trueHashes.ts} | 112 ++---------------- 9 files changed, 147 insertions(+), 252 deletions(-) create mode 100644 webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts rename webpack/webpack5-localization-plugin/src/{TrueHashPlugin.ts => trueHashes.ts} (79%) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index 7e00f3ab62d..cf62a4298fd 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -4,32 +4,19 @@ ```ts -/// - import type { Chunk } from 'webpack'; import type { Compiler } from 'webpack'; -import type { default as default_2 } from 'webpack'; import { ILocalizationFile } from '@rushstack/localization-utilities'; import type { IPseudolocaleOptions } from '@rushstack/localization-utilities'; import type { LoaderContext } from 'webpack'; import type { WebpackPluginInstance } from 'webpack'; -// @public (undocumented) -export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { - hashFunction: (contents: string | Buffer) => string; -} - // @public (undocumented) export interface IDefaultLocaleOptions { fillMissingTranslationStrings?: boolean; localeName: string; } -// @public (undocumented) -export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { - hash?: WebpackHash; -} - // @public (undocumented) export interface ILocaleData { // (undocumented) @@ -139,15 +126,6 @@ export interface _IStringPlaceholder { valuesByLocale: Map; } -// @public (undocumented) -export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; - -// @public (undocumented) -export interface ITrueHashPluginOptionsBase { - // (undocumented) - stageOverride?: number; -} - // @public export class LocalizationPlugin implements WebpackPluginInstance { constructor(options: ILocalizationPluginOptions); @@ -164,16 +142,6 @@ export class LocalizationPlugin implements WebpackPluginInstance { readonly stringKeys: Map; } -// @public (undocumented) -export class TrueHashPlugin implements WebpackPluginInstance { - constructor(options?: ITrueHashPluginOptions); - // (undocumented) - apply(compiler: Compiler): void; -} - -// @public (undocumented) -export type WebpackHash = Parameters[0]; - // (No @packageDocumentation comment for this package) ``` diff --git a/webpack/webpack5-localization-plugin/README.md b/webpack/webpack5-localization-plugin/README.md index 8e7d1738776..923ec90cbd0 100644 --- a/webpack/webpack5-localization-plugin/README.md +++ b/webpack/webpack5-localization-plugin/README.md @@ -41,7 +41,7 @@ import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; } ``` -***A note about the dev server:*** When Webpack is being run by the Webpack dev server, this plugin pipes +**_A note about the dev server:_** When Webpack is being run by the Webpack dev server, this plugin pipes the strings in the loc files in the source (the `.loc.json` and the `.resx` files) to the output without any translations. @@ -209,34 +209,6 @@ use the true hash of the content, rather than an intermediate hash that is share Note that this option is not compatible with the `runtimeLocaleExpression` option and will cause an error if both are set. -#### `TrueHashPlugin` - -There is another plugin exported from this package called `TrueHashPlugin`. This plugin can be used with -or independent of the `LocalizationPlugin`. It does the same thing as setting `useTrueHashes` to `true` in -the `LocalizationPlugin` options, but if used with the `LocalizationPlugin` and the `localizationStats` option -is set, stats may contain incorrect filenames. - -This plugin takes a few options: - -##### `stageOverride: number` - -If this option is set, override the stage of the `processAssets` hook at which the plugin runs. The default -stage is `PROCESS_ASSETS_STAGE_SUMMARIZE`. - -##### `hash: string | Hash` - -This option is used to specify the hash function to use. It can be a string specifying the name of a hash -function, or a webpack Hash object. It cannot be used with the `hashFunction` option. - -If neither `hash` nor `hashFunction` is set, the plugin will use the hash options from the webpack config. - -##### `hashFunction: (contents: string | Buffer) => string` - -This option is used to specify a custom hash function to use. This function should take a string or buffer -and return a string. It cannot be used with the `hash` option. - -If neither `hash` nor `hashFunction` is set, the plugin will use the hash options from the webpack config. - ## Links - [CHANGELOG.md](https://github.com/microsoft/rushstack/blob/main/webpack/localization-plugin/CHANGELOG.md) - Find diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index ae59f3be855..caf97cfbed7 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -29,7 +29,7 @@ import type { import type { IAssetPathOptions } from './webpackInterfaces'; import { markEntity, getMark } from './utilities/EntityMarker'; import { processLocalizedAsset, processNonLocalizedAsset } from './AssetProcessor'; -import { getHashFunction, type HashFn, updateAssetHashes } from './TrueHashPlugin'; +import { getHashFunction, type HashFn, updateAssetHashes } from './trueHashes'; /** * @public diff --git a/webpack/webpack5-localization-plugin/src/index.ts b/webpack/webpack5-localization-plugin/src/index.ts index 5cc4504b00e..1d7f61a200c 100644 --- a/webpack/webpack5-localization-plugin/src/index.ts +++ b/webpack/webpack5-localization-plugin/src/index.ts @@ -2,12 +2,9 @@ // See LICENSE in the project root for license information. export { LocalizationPlugin, type IStringPlaceholder as _IStringPlaceholder } from './LocalizationPlugin'; -export { TrueHashPlugin } from './TrueHashPlugin'; export { - ICustomHashFunctionOptions, IDefaultLocaleOptions, - IHashAlgorithmOptions, ILocaleData, ILocaleElementMap, ILocaleFileData, @@ -21,10 +18,7 @@ export { ILocalizedStrings, IPassthroughLocaleOptions, IPseudolocalesOptions, - IResolvedMissingTranslations, - ITrueHashPluginOptions, - ITrueHashPluginOptionsBase, - WebpackHash + IResolvedMissingTranslations } from './interfaces'; export { ILocalizedWebpackChunk } from './webpackInterfaces'; diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index 18b1d448ad4..4a2e164e97d 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { LoaderContext, default as webpack } from 'webpack'; +import type { LoaderContext } from 'webpack'; import type { IPseudolocaleOptions } from '@rushstack/localization-utilities'; /** @@ -214,40 +214,3 @@ export interface ILocalizationStats { entrypoints: { [name: string]: ILocalizationStatsEntrypoint }; namedChunkGroups: { [name: string]: ILocalizationStatsChunkGroup }; } - -/** - * @public - */ -export type WebpackHash = Parameters[0]; - -/** - * @public - */ -export interface ITrueHashPluginOptionsBase { - stageOverride?: number; -} - -/** - * @public - */ -export interface IHashAlgorithmOptions extends ITrueHashPluginOptionsBase { - /** - * The name of the hash algorithm to use, e.g. 'sha256', or a webpack Hash object. - */ - hash?: WebpackHash; -} - -/** - * @public - */ -export interface ICustomHashFunctionOptions extends ITrueHashPluginOptionsBase { - /** - * A function that takes the contents of a file and returns a hash. - */ - hashFunction: (contents: string | Buffer) => string; -} - -/** - * @public - */ -export type ITrueHashPluginOptions = IHashAlgorithmOptions | ICustomHashFunctionOptions; diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts index 5e8607e2c0e..1c42066c79f 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -7,10 +7,10 @@ import { promisify } from 'util'; import webpack, { type Compiler, type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; -import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; -import type { ILocalizationPluginOptions, ITrueHashPluginOptions } from '../interfaces'; +import type { ILocalizationPluginOptions } from '../interfaces'; import { LocalizationPlugin } from '../LocalizationPlugin'; +import { type ITrueHashPluginOptions, TrueHashPlugin } from './TrueHashPlugin'; export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): void { async function testLocalizedRuntimeInner(minimize: boolean): Promise { diff --git a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts index 9372bf401e1..fe21887d214 100644 --- a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts @@ -7,56 +7,80 @@ import { promisify } from 'util'; import webpack, { type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; -import { TrueHashPlugin } from '../TrueHashPlugin'; +import { TrueHashPlugin } from './TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testNonLocalizedInner(minimize: boolean): Promise { - const memoryFileSystem: Volume = new Volume(); - memoryFileSystem.fromJSON( - { - '/package.json': '{}', - '/entrySingleChunk.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());`, - '/entryTwoChunks.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, - '/async1.js': `export function foo() { console.log('foo1'); }`, - '/async2.js': `export function foo() { console.log('foo2'); }` - }, - '/src' - ); + async function getResultsAsync(useTrueHashPlugin: boolean): Promise<{ + errors: webpack.StatsError[] | undefined; + warnings: webpack.StatsError[] | undefined; + results: {}; + }> { + const memoryFileSystem: Volume = new Volume(); + memoryFileSystem.fromJSON( + { + '/package.json': '{}', + '/entrySingleChunk.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());`, + '/entryTwoChunks.js': `console.log("Do stuff");import(/* webpackChunkName: 'async1' */ './async1.js').then(mod => mod.foo());import(/* webpackChunkName: 'async2' */ './async2.js').then(mod => mod.foo());`, + '/async1.js': `export function foo() { console.log('foo1'); }`, + '/async2.js': `export function foo() { console.log('foo2'); }` + }, + '/src' + ); - const trueHashPlugin: TrueHashPlugin = new TrueHashPlugin(); + const webpackConfig: webpack.Configuration = { + entry: { + mainSingleChunk: '/entrySingleChunk.js', + mainTwoChunks: '/entryTwoChunks.js' + }, + output: { + path: '/release', + filename: '[name].js' + }, + context: '/', + optimization: { + minimize, + moduleIds: 'named', + realContentHash: !useTrueHashPlugin + }, + mode: 'production', + plugins: [new MemFSPlugin(memoryFileSystem)] + }; - const compiler: webpack.Compiler = webpack({ - entry: { - mainSingleChunk: '/entrySingleChunk.js', - mainTwoChunks: '/entryTwoChunks.js' - }, - output: { - path: '/release', - filename: '[name].js' - }, - context: '/', - optimization: { - minimize, - moduleIds: 'named' - }, - mode: 'production', - plugins: [trueHashPlugin, new MemFSPlugin(memoryFileSystem)] - }); + if (useTrueHashPlugin) { + webpackConfig.plugins!.push(new TrueHashPlugin()); + } + + const trueHashPluginCompiler: webpack.Compiler = webpack(webpackConfig); + const trueHashPluginStats: Stats | undefined = await promisify( + trueHashPluginCompiler.run.bind(trueHashPluginCompiler) + )(); + await promisify(trueHashPluginCompiler.close.bind(trueHashPluginCompiler))(); + if (!trueHashPluginStats) { + throw new Error(`Expected stats`); + } + const { errors, warnings } = trueHashPluginStats.toJson('errors-warnings'); - const stats: Stats | undefined = await promisify(compiler.run.bind(compiler))(); - await promisify(compiler.close.bind(compiler))(); - if (!stats) { - throw new Error(`Expected stats`); + const results: {} = memoryFileSystem.toJSON('/release'); + return { errors, warnings, results }; } - const { errors, warnings } = stats.toJson('errors-warnings'); - expect(errors).toMatchSnapshot('Errors'); - expect(warnings).toMatchSnapshot('Warnings'); - const results: {} = memoryFileSystem.toJSON('/release'); - expect(results).toMatchSnapshot('Content'); + const [ + { errors: realContentHashErrors, warnings: realContentHashWarnings, results: realContentHashResults }, + { errors: trueHashPluginErrors, warnings: trueHashPluginWarnings, results: trueHashPluginResults } + ] = await Promise.all([getResultsAsync(false), getResultsAsync(true)]); + + expect(trueHashPluginErrors).toMatchSnapshot('Errors'); + expect(trueHashPluginWarnings).toMatchSnapshot('Warnings'); + + expect(trueHashPluginResults).toMatchSnapshot('Content'); + + expect(trueHashPluginErrors).toEqual(realContentHashErrors); + expect(trueHashPluginWarnings).toEqual(realContentHashWarnings); + expect(realContentHashResults).toEqual(realContentHashResults); - expect(errors).toHaveLength(0); - expect(warnings).toHaveLength(0); + expect(trueHashPluginErrors).toHaveLength(0); + expect(trueHashPluginWarnings).toHaveLength(0); } describe(TrueHashPlugin.name, () => { diff --git a/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts new file mode 100644 index 00000000000..a745b821910 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; + +import { LocalizationPlugin } from '../LocalizationPlugin'; +import { type HashFn, getHashFunction, updateAssetHashes } from '../trueHashes'; + +const PLUGIN_NAME: 'true-hash' = 'true-hash'; + +export interface ITrueHashPluginOptions { + /** + * A function that takes the contents of a file and returns a hash. + */ + hashFunction?: (contents: string | Buffer) => string; +} + +export class TrueHashPlugin implements WebpackPluginInstance { + private readonly _options: ITrueHashPluginOptions; + + public constructor(options: ITrueHashPluginOptions = {}) { + this._options = options; + } + + public apply(compiler: Compiler): void { + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { + const { webpack: thisWebpack } = compiler; + + let hasLocalizationPluginTrueHashOption: boolean = false; + if (compiler.options.plugins) { + for (const plugin of compiler.options.plugins) { + if (plugin instanceof LocalizationPlugin && plugin._options.useTrueHashes) { + hasLocalizationPluginTrueHashOption = true; + break; + } + } + } + + if (hasLocalizationPluginTrueHashOption) { + compilation.warnings.push( + new thisWebpack.WebpackError( + `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "useTrueHashes" option. ` + + `Because the LocalizationPlugin is already handling true hashes, the ${TrueHashPlugin.name} plugin ` + + 'will have no effect.' + ) + ); + } else { + const { hashFunction } = this._options; + const hashFn: HashFn = + hashFunction ?? + getHashFunction({ + thisWebpack, + compilation + }); + + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE + }, + () => updateAssetHashes({ thisWebpack, compilation, hashFn }) + ); + } + }); + } +} diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/trueHashes.ts similarity index 79% rename from webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts rename to webpack/webpack5-localization-plugin/src/trueHashes.ts index 3a6267a5964..d08754d4492 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/trueHashes.ts @@ -1,27 +1,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { - default as webpack, - Compilation, - Compiler, - WebpackPluginInstance, - Chunk, - Asset, - sources -} from 'webpack'; +import type { default as webpack, Compilation, Chunk, Asset, sources } from 'webpack'; import { Text } from '@rushstack/node-core-library'; import type { ILocalizedWebpackChunk } from './webpackInterfaces'; -import type { - ICustomHashFunctionOptions, - IHashAlgorithmOptions, - ITrueHashPluginOptions, - WebpackHash -} from './interfaces'; -import { LocalizationPlugin } from './LocalizationPlugin'; - -const PLUGIN_NAME: 'true-hash' = 'true-hash'; interface IHashReplacement { existingHash: string; @@ -33,39 +16,17 @@ export type HashFn = (contents: string | Buffer) => string; export interface IGetHashFunctionOptions { thisWebpack: typeof webpack; compilation: Compilation; - options?: ITrueHashPluginOptions; } -export function getHashFunction({ thisWebpack, compilation, options = {} }: IGetHashFunctionOptions): HashFn { - const { hash, hashFunction } = options as Partial; - let hashFn: (contents: string | Buffer) => string; - if (hashFunction) { - hashFn = hashFunction; - if (hash) { - compilation.errors.push( - new thisWebpack.WebpackError( - `The TrueHashPlugin was configured with both "hash" and "hashFunction". ` + - `Only one of these options can be specified. Falling back to the custom hash function.` - ) - ); - } - } else { - const { - hashFunction: hashFunctionFromOptions = 'md5', - hashDigest = 'hex', - hashDigestLength - } = compilation.outputOptions; - const hashToUse: WebpackHash = hash ?? hashFunctionFromOptions; - hashFn = (contents: string | Buffer) => - thisWebpack.util - .createHash(hashToUse) - .update(contents) - .digest(hashDigest) - .toString() - .slice(0, hashDigestLength); - } - - return hashFn; +export function getHashFunction({ thisWebpack, compilation }: IGetHashFunctionOptions): HashFn { + const { hashFunction = 'md5', hashDigest = 'hex', hashDigestLength } = compilation.outputOptions; + return (contents: string | Buffer) => + thisWebpack.util + .createHash(hashFunction) + .update(contents) + .digest(hashDigest) + .toString() + .slice(0, hashDigestLength); } export interface IUpdateAssetHashesOptions { @@ -346,56 +307,3 @@ export function updateAssetHashes({ } } } - -/** - * @public - */ -export class TrueHashPlugin implements WebpackPluginInstance { - private readonly _options: ITrueHashPluginOptions; - - public constructor(options: ITrueHashPluginOptions = {}) { - this._options = options; - } - - public apply(compiler: Compiler): void { - compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { - const { webpack: thisWebpack } = compiler; - - let hasLocalizationPluginTrueHashOption: boolean = false; - if (compiler.options.plugins) { - for (const plugin of compiler.options.plugins) { - if (plugin instanceof LocalizationPlugin && plugin._options.useTrueHashes) { - hasLocalizationPluginTrueHashOption = true; - break; - } - } - } - - if (hasLocalizationPluginTrueHashOption) { - compilation.warnings.push( - new thisWebpack.WebpackError( - `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "useTrueHashes" option. ` + - `Because the LocalizationPlugin is already handling true hashes, the ${TrueHashPlugin.name} plugin ` + - 'will have no effect.' - ) - ); - } else { - const { stageOverride: processAssetsStage = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = - this._options as IHashAlgorithmOptions & ICustomHashFunctionOptions; - const hashFn: (contents: string | Buffer) => string = getHashFunction({ - thisWebpack, - compilation, - options: this._options - }); - - compilation.hooks.processAssets.tap( - { - name: PLUGIN_NAME, - stage: processAssetsStage - }, - () => updateAssetHashes({ thisWebpack, compilation, hashFn }) - ); - } - }); - } -} From 136778c1b45186977e1ff96030334f29156af316 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 16:20:11 -0500 Subject: [PATCH 071/180] Remove the string reversal thing, as webpack handles that internally. --- .../src/trueHashes.ts | 58 +++++-------------- 1 file changed, 13 insertions(+), 45 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/trueHashes.ts b/webpack/webpack5-localization-plugin/src/trueHashes.ts index d08754d4492..2df2555a1a9 100644 --- a/webpack/webpack5-localization-plugin/src/trueHashes.ts +++ b/webpack/webpack5-localization-plugin/src/trueHashes.ts @@ -126,7 +126,6 @@ export function updateAssetHashes({ if (chunkDependencies!.size > 0) { const relevantHashReplacements: Map = new Map(); let hasAnyReplacements: boolean = false; - let allReplacementsAreTheSameLengthAsOriginals: boolean = true; for (const dependency of chunkDependencies!) { const asyncChunkHashReplacements: IHashReplacement | undefined = hashReplacementsByChunk.get(dependency); @@ -157,8 +156,6 @@ export function updateAssetHashes({ ) ); } else { - allReplacementsAreTheSameLengthAsOriginals &&= - replacementHash.length === otherChunkExistingHash.length; relevantHashReplacements.set(otherChunkExistingHash, replacementHash); hasAnyReplacements = true; } @@ -173,48 +170,19 @@ export function updateAssetHashes({ assetName ); - if (allReplacementsAreTheSameLengthAsOriginals) { - // If all of the replacements are the same length as the originals, we can walk the string - // in non-reverse order. - const regexp: RegExp = new RegExp( - Array.from(relevantHashReplacements.keys()) - .map((hashToReplace) => Text.escapeRegExp(hashToReplace)) - .join('|'), - 'g' - ); - let match: RegExpMatchArray | null; - while ((match = regexp.exec(sourceString)) !== null) { - const { 0: originalHash, index } = match; - const matchStart: number = index!; - const matchEnd: number = matchStart + originalHash.length - 1; - const replacement: string = relevantHashReplacements.get(originalHash)!; - replaceSource.replace(matchStart, matchEnd, replacement); - } - } else { - // If the replacements are not the same length as the originals, we need to reverse the - // string and walk it in reverse order to keep the indices correct. - const reversedSourceString: string = Text.reverse(sourceString); - const sourceStringLength: number = sourceString.length; - const regexp: RegExp = new RegExp( - Array.from(relevantHashReplacements.keys()) - .map((hashToReplace) => Text.escapeRegExp(Text.reverse(hashToReplace))) - .join('|'), - 'g' - ); - let match: RegExpMatchArray | null; - while ((match = regexp.exec(reversedSourceString)) !== null) { - const { 0: reverseOriginalHash, index } = match; - const matchStart: number = index!; - const matchEnd: number = matchStart + reverseOriginalHash.length - 1; - const replacement: string = relevantHashReplacements.get( - Text.reverse(reverseOriginalHash) - )!; - - // Figure out the location in the original string - const reversedMatchStart: number = sourceStringLength - matchEnd - 1; - const reversedMatchEnd: number = sourceStringLength - matchStart - 1; - replaceSource.replace(reversedMatchStart, reversedMatchEnd, replacement); - } + const regexp: RegExp = new RegExp( + Array.from(relevantHashReplacements.keys()) + .map((hashToReplace) => Text.escapeRegExp(hashToReplace)) + .join('|'), + 'g' + ); + let match: RegExpMatchArray | null; + while ((match = regexp.exec(sourceString)) !== null) { + const { 0: originalHash, index } = match; + const matchStart: number = index!; + const matchEnd: number = matchStart + originalHash.length - 1; + const replacement: string = relevantHashReplacements.get(originalHash)!; + replaceSource.replace(matchStart, matchEnd, replacement); } assetSource = replaceSource; From 6c9dfbfdf34711b5422467cd3ffe9042f157d17a Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 16:21:04 -0500 Subject: [PATCH 072/180] Fix a test name. --- .../src/test/MixedAsync.test.ts | 4 ++-- .../test/__snapshots__/MixedAsync.test.ts.snap | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 956b928be49..40f13dc6216 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -107,11 +107,11 @@ async function testMixedAsyncInner(minimize: boolean): Promise { } describe(LocalizationPlugin.name, () => { - it('Handles async localized and non-localized chunks with a runtime locale expression (unminified)', async () => { + it('Handles async localized and non-localized chunks (unminified)', async () => { await testMixedAsyncInner(false); }); - it('Handles async localized and non-localized chunks with a runtime locale expression (minified)', async () => { + it('Handles async localized and non-localized chunks (minified)', async () => { await testMixedAsyncInner(true); }); }); diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap index 8a03dfd7365..572ce5fea63 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` +exports[`LocalizationPlugin Handles async localized and non-localized chunks (minified): Content 1`] = ` Object { "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", @@ -13,9 +13,9 @@ Object { } `; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Errors 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks (minified): Errors 1`] = `Array []`; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Localization Stats 1`] = ` +exports[`LocalizationPlugin Handles async localized and non-localized chunks (minified): Localization Stats 1`] = ` Object { "entrypoints": Object { "main": Object { @@ -42,9 +42,9 @@ Object { } `; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Warnings 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks (minified): Warnings 1`] = `Array []`; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Content 1`] = ` +exports[`LocalizationPlugin Handles async localized and non-localized chunks (unminified): Content 1`] = ` Object { "/release/chunks/async1-none-e1cb569a2a326e82328e.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[515],{ @@ -785,9 +785,9 @@ __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bi } `; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks (unminified): Errors 1`] = `Array []`; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Localization Stats 1`] = ` +exports[`LocalizationPlugin Handles async localized and non-localized chunks (unminified): Localization Stats 1`] = ` Object { "entrypoints": Object { "main": Object { @@ -814,4 +814,4 @@ Object { } `; -exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks (unminified): Warnings 1`] = `Array []`; From 15c0c587ee0a4070a9975f123e8b5aef558e8092 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 16:53:24 -0500 Subject: [PATCH 073/180] Rename "useTrueHashes" to "realContentHash". --- .../true-hash-plugin_2024-02-05-00-00.json | 2 +- common/reviews/api/webpack5-localization-plugin.api.md | 2 +- webpack/webpack5-localization-plugin/README.md | 4 ++-- .../webpack5-localization-plugin/src/LocalizationPlugin.ts | 4 ++-- webpack/webpack5-localization-plugin/src/interfaces.ts | 2 +- .../src/test/LocalizedNoAsync.test.ts | 2 +- .../webpack5-localization-plugin/src/test/MixedAsync.test.ts | 2 +- .../src/test/MixedAsyncNonHashed.test.ts | 2 +- .../src/test/NoLocalizedFiles.test.ts | 2 +- .../webpack5-localization-plugin/src/test/TrueHashPlugin.ts | 4 ++-- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json index fd6a47f273d..2f8895de486 100644 --- a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json +++ b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Include an option called `useTrueHashes` that updates \"[contenthash]\" hashes to the actual hashes of chunks.", + "comment": "Include an option called `realContentHash` that updates \"[contenthash]\" hashes to the actual hashes of chunks.", "type": "minor" } ], diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index cf62a4298fd..34bde810cb0 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -45,8 +45,8 @@ export interface ILocalizationPluginOptions { localizationStats?: ILocalizationStatsOptions; localizedData: ILocalizedData; noStringsLocaleName?: string; + realContentHash?: boolean; runtimeLocaleExpression?: string; - useTrueHashes?: boolean; } // @public (undocumented) diff --git a/webpack/webpack5-localization-plugin/README.md b/webpack/webpack5-localization-plugin/README.md index 923ec90cbd0..ffe6bc458ad 100644 --- a/webpack/webpack5-localization-plugin/README.md +++ b/webpack/webpack5-localization-plugin/README.md @@ -41,7 +41,7 @@ import { LocalizationPlugin } from '@rushstack/webpack5-localization-plugin'; } ``` -**_A note about the dev server:_** When Webpack is being run by the Webpack dev server, this plugin pipes +***A note about the dev server:*** When Webpack is being run by the Webpack dev server, this plugin pipes the strings in the loc files in the source (the `.loc.json` and the `.resx` files) to the output without any translations. @@ -201,7 +201,7 @@ The file has the following format: This option is used to specify a callback to be called with the stats data that would be dropped at [`localizationStats.dropPath`](#localizationStats.DropPath--) after compilation completes. -### `useTrueHashes: true | false` +### `realContentHash: true | false` If this option is set to `true`, the plugin will update `[contenthash]` tokens in the output filenames to use the true hash of the content, rather than an intermediate hash that is shared between all locales. diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index caf97cfbed7..c3e8a0168ad 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -163,11 +163,11 @@ export class LocalizationPlugin implements WebpackPluginInstance { compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { let hashFn: HashFn | undefined; - if (this._options.useTrueHashes) { + if (this._options.realContentHash) { if (runtimeLocaleExpression) { compilation.errors.push( new WebpackError( - `The "useTrueHashes" option cannot be used in conjunction with "runtimeLocaleExpression".` + `The "realContentHash" option cannot be used in conjunction with "runtimeLocaleExpression".` ) ); } else { diff --git a/webpack/webpack5-localization-plugin/src/interfaces.ts b/webpack/webpack5-localization-plugin/src/interfaces.ts index 4a2e164e97d..6bf188e1ea6 100644 --- a/webpack/webpack5-localization-plugin/src/interfaces.ts +++ b/webpack/webpack5-localization-plugin/src/interfaces.ts @@ -148,7 +148,7 @@ export interface ILocalizationPluginOptions { /** * If set to true, update usages of [contenthash] to use the true hash of the file contents */ - useTrueHashes?: boolean; + realContentHash?: boolean; } /** diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts index 15ff3da150c..decc51b3af8 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedNoAsync.test.ts @@ -55,7 +55,7 @@ async function testLocalizedNoAsyncInner(minimize: boolean): Promise { localizationStats: { dropPath: 'localization-stats.json' }, - useTrueHashes: true + realContentHash: true }; const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 40f13dc6216..22cfa2f8169 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -53,7 +53,7 @@ async function testMixedAsyncInner(minimize: boolean): Promise { localizationStats: { callback: statsCallback }, - useTrueHashes: true + realContentHash: true }; const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts index a5ff950a033..9f1992ec6d0 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncNonHashed.test.ts @@ -53,7 +53,7 @@ async function testMixedAsyncInner(minimize: boolean): Promise { localizationStats: { callback: statsCallback }, - useTrueHashes: true + realContentHash: true }; const localizationPlugin: LocalizationPlugin = new LocalizationPlugin(options); diff --git a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts index cdd86cbfdb0..b1dc7da9e2c 100644 --- a/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NoLocalizedFiles.test.ts @@ -30,7 +30,7 @@ async function testNonLocalizedInner(minimize: boolean): Promise { }, translatedStrings: {} }, - useTrueHashes: true + realContentHash: true }); const compiler: webpack.Compiler = webpack({ diff --git a/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts index a745b821910..86af9de5127 100644 --- a/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts @@ -29,7 +29,7 @@ export class TrueHashPlugin implements WebpackPluginInstance { let hasLocalizationPluginTrueHashOption: boolean = false; if (compiler.options.plugins) { for (const plugin of compiler.options.plugins) { - if (plugin instanceof LocalizationPlugin && plugin._options.useTrueHashes) { + if (plugin instanceof LocalizationPlugin && plugin._options.realContentHash) { hasLocalizationPluginTrueHashOption = true; break; } @@ -39,7 +39,7 @@ export class TrueHashPlugin implements WebpackPluginInstance { if (hasLocalizationPluginTrueHashOption) { compilation.warnings.push( new thisWebpack.WebpackError( - `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "useTrueHashes" option. ` + + `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "realContentHash" option. ` + `Because the LocalizationPlugin is already handling true hashes, the ${TrueHashPlugin.name} plugin ` + 'will have no effect.' ) From f311da318937e452957785b9e5ac4029a262eb57 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 18:20:30 -0500 Subject: [PATCH 074/180] Include localization stats in the MixedAsyncDynamic test. --- .../src/test/MixedAsyncDynamic.test.ts | 12 +++++- .../MixedAsyncDynamic.test.ts.snap | 40 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index 5b90ba06f1c..2c9327d52b7 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -9,7 +9,7 @@ import webpack, { type Compiler, type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; import { LocalizationPlugin } from '../LocalizationPlugin'; -import type { ILocalizationPluginOptions } from '../interfaces'; +import type { ILocalizationPluginOptions, ILocalizationStats } from '../interfaces'; import { MemFSPlugin } from './MemFSPlugin'; async function testMixedAsyncDynamicInner(minimize: boolean): Promise { @@ -29,6 +29,11 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { '/' ); + let localizationStats: ILocalizationStats | undefined; + function statsCallback(stats: ILocalizationStats): void { + localizationStats = stats; + } + const loader: string = resolve(__dirname, '../loaders/locjson-loader.js'); const options: ILocalizationPluginOptions = { localizedData: { @@ -46,6 +51,9 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { } } }, + localizationStats: { + callback: statsCallback + }, runtimeLocaleExpression: 'self.__locale' }; @@ -94,6 +102,8 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { const results: {} = memoryFileSystem.toJSON('/release'); expect(results).toMatchSnapshot('Content'); + expect(localizationStats).toMatchSnapshot('Localization Stats'); + expect(errors).toHaveLength(0); expect(warnings).toHaveLength(0); } diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap index 69c3e86fa69..770899ac758 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -15,6 +15,26 @@ Object { exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Errors 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Localization Stats 1`] = ` +Object { + "entrypoints": Object {}, + "namedChunkGroups": Object { + "asyncLoc1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc1-LOCALE1-3bacd1d3213fe0fdaab4.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-3bacd1d3213fe0fdaab4.js", + }, + }, + "asyncLoc2": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc2-LOCALE1-97e541e9dcd77c08a0f9.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-97e541e9dcd77c08a0f9.js", + }, + }, + }, +} +`; + exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Warnings 1`] = `Array []`; exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Content 1`] = ` @@ -730,4 +750,24 @@ __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bi exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Errors 1`] = `Array []`; +exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Localization Stats 1`] = ` +Object { + "entrypoints": Object {}, + "namedChunkGroups": Object { + "asyncLoc1": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc1-LOCALE1-5491741ac467873e0e20.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-5491741ac467873e0e20.js", + }, + }, + "asyncLoc2": Object { + "localizedAssets": Object { + "LOCALE1": "chunks/asyncLoc2-LOCALE1-cd7bb284d09a7eab49e4.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-cd7bb284d09a7eab49e4.js", + }, + }, + }, +} +`; + exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (unminified): Warnings 1`] = `Array []`; From 4bcf9e576fad4d7e8bb39e9eaf35b4e623a7d456 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 5 Feb 2024 18:22:00 -0500 Subject: [PATCH 075/180] Introduce a warning about setting optimization.realContentHash. --- .../true-hash-plugin_2024-02-05-23-18.json | 10 ++++ .../src/LocalizationPlugin.ts | 8 +++ .../src/test/LocalizedAsyncDynamic.test.ts | 3 +- ...cDynamicFormatWithNoLocaleFallback.test.ts | 3 +- .../src/test/LocalizedRuntimeTestBase.ts | 3 +- .../src/test/MixedAsyncDynamic.test.ts | 3 +- .../LocalizedAsyncDynamic.test.ts.snap | 28 ++++----- ...micFormatWithNoLocaleFallback.test.ts.snap | 60 +++++++++---------- .../MixedAsyncDynamic.test.ts.snap | 36 +++++------ 9 files changed, 88 insertions(+), 66 deletions(-) create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json diff --git a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json new file mode 100644 index 00000000000..101cb7d197e --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Add a warning if `optimization.realContentHash` is set.", + "type": "minor" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index c3e8a0168ad..43b78a64011 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -173,6 +173,14 @@ export class LocalizationPlugin implements WebpackPluginInstance { } else { hashFn = getHashFunction({ thisWebpack, compilation }); } + } else if (compiler.options.optimization?.realContentHash) { + compilation.errors.push( + new thisWebpack.WebpackError( + `The \`optimization.realContentHash\` option is set and the ${LocalizationPlugin.name}'s ` + + '`realContentHash` option is not set. This will likely produce invalid results. Consider setting the ' + + `\`realContentHash\` option in the ${LocalizationPlugin.name} plugin.` + ) + ); } compilation.hooks.assetPath.tap( diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts index d182458fa23..87aef19bde3 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamic.test.ts @@ -81,7 +81,8 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, optimization: { minimize, - moduleIds: 'named' + moduleIds: 'named', + realContentHash: false }, context: '/', mode: 'production', diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts index d072075a97e..3c2ec58b434 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts @@ -90,7 +90,8 @@ async function testLocalizedAsyncDynamicInner(minimize: boolean): Promise }, optimization: { minimize, - moduleIds: 'named' + moduleIds: 'named', + realContentHash: false }, context: '/', mode: 'production', diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts index 1c42066c79f..5cb2daf3c47 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -75,7 +75,8 @@ export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): vo }, optimization: { minimize, - moduleIds: 'named' + moduleIds: 'named', + realContentHash: false }, context: '/', mode: 'production', diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts index 2c9327d52b7..d9aa504f3ee 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsyncDynamic.test.ts @@ -83,7 +83,8 @@ async function testMixedAsyncDynamicInner(minimize: boolean): Promise { }, optimization: { minimize, - moduleIds: 'named' + moduleIds: 'named', + realContentHash: false }, context: '/', mode: 'production', diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap index 60d005261c8..e8244b312cc 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamic.test.ts.snap @@ -2,12 +2,12 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk-none-68a37a79b5f57b145053.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2-29f4b5c23308c59f00e0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1-0a81b98f18e89ac22e39.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2-0a81b98f18e89ac22e39.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk-none-7f5cec07d3033072f5c4.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"-29f4b5c23308c59f00e0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{515:\\"29f4b5c23308c59f00e0\\",989:\\"0a81b98f18e89ac22e39\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk-none-a643b96683c5fe603a4a.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -198,7 +198,7 @@ module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"-\\" + \\"624dafee0ae29c9ceab3\\" + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"-\\" + \\"268cfe557834794b247b\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -393,7 +393,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks-none-c8d335424a028821be16.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-a66c8e0f054e8766319c.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -442,7 +442,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"515\\":\\"268cfe557834794b247b\\",\\"989\\":\\"c8dd89f429d58ff2c174\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap index d3ee8fda6cc..61ba9c933fb 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/LocalizedAsyncDynamicFormatWithNoLocaleFallback.test.ts.snap @@ -2,25 +2,25 @@ exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Assets 1`] = ` Object { - "chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "chunks/async1-LOCALE1/-29f4b5c23308c59f00e0.js": SizeOnlySource { "_size": 326, }, - "chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": SizeOnlySource { + "chunks/async1-LOCALE2/-29f4b5c23308c59f00e0.js": SizeOnlySource { "_size": 334, }, - "chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": SizeOnlySource { + "chunks/async2-LOCALE1/-0a81b98f18e89ac22e39.js": SizeOnlySource { "_size": 326, }, - "chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": SizeOnlySource { + "chunks/async2-LOCALE2/-0a81b98f18e89ac22e39.js": SizeOnlySource { "_size": 334, }, - "mainSingleChunk--afcc3255fa327e61cdd6.js": SizeOnlySource { + "mainSingleChunk--df7e43feef4d4754999e.js": SizeOnlySource { "_size": 2458, }, - "mainTwoChunks--fa1b1d92e5c85d34a645.js": SizeOnlySource { + "mainTwoChunks--30003a41739da59295ab.js": SizeOnlySource { "_size": 2569, }, - "other--544743f724b236ee60fe.js": SizeOnlySource { + "other--b50b2019193c9195115f.js": SizeOnlySource { "_size": 27, }, } @@ -28,13 +28,13 @@ Object { exports[`LocalizationPlugin Handles async localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-LOCALE1/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async1-LOCALE2/-d7dd4b828e3e32329f44.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/chunks/async2-LOCALE1/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", - "/release/chunks/async2-LOCALE2/-1533cc91ecce3516fe34.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", - "/release/mainSingleChunk--afcc3255fa327e61cdd6.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-d7dd4b828e3e32329f44.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"d7dd4b828e3e32329f44\\",989:\\"1533cc91ecce3516fe34\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async1-LOCALE2/-29f4b5c23308c59f00e0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B,n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/chunks/async2-LOCALE1/-0a81b98f18e89ac22e39.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"blah\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"something else\\"}')}}]);", + "/release/chunks/async2-LOCALE2/-0a81b98f18e89ac22e39.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":(s,_,e)=>{e.r(_);var r=e(\\"./a/strings1.resjson\\"),n=e(\\"./a/strings2.resjson\\");console.log(r.B+n.P)},\\"./a/strings1.resjson\\":s=>{s.exports=JSON.parse('{\\"B\\":\\"baz\\"}')},\\"./a/strings2.resjson\\":s=>{s.exports=JSON.parse('{\\"P\\":\\"some random translation\\"}')}}]);", + "/release/mainSingleChunk--df7e43feef4d4754999e.js": "(()=>{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/async1-\\"+self.__locale+\\"/-29f4b5c23308c59f00e0.js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,i)=>{if(e[r])e[r].push(t);else{var a,l;if(void 0!==n)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{a.onerror=a.onload=null,clearTimeout(d);var n=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),n&&n.forEach((e=>e(o))),t)return t(o)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={315:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var i=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=i);var a=o.p+o.u(r),l=new Error;o.l(a,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,n[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,i,[a,l,c]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);c&&c(o)}for(r&&r(t);s{var e,r={},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>\\"chunks/\\"+{515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+self.__locale+\\"/-\\"+{515:\\"29f4b5c23308c59f00e0\\",989:\\"0a81b98f18e89ac22e39\\"}[e]+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},n.l=(r,t,o,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==o)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(d);var o=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},d=setTimeout(p.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={903:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var a=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=a);var i=n.p+n.u(r),c=new Error;n.l(i,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,o[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var o,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);l&&l(n)}for(r&&r(t);s { // webpackBootstrap + "/release/mainSingleChunk--ceb947c06eacae29b495.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -251,7 +251,7 @@ module.exports = JSON.parse('{\\"P\\":\\"some random translation\\"}'); /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + \\"624dafee0ae29c9ceab3\\" + \\".js\\"; +/******/ return \\"chunks/\\" + \\"async1\\" + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + \\"268cfe557834794b247b\\" + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -446,7 +446,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\")); /******/ })() ;", - "/release/mainTwoChunks--7e74e29909840b009075.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks--196c2ee23a8f06e045d5.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -495,7 +495,7 @@ __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + {\\"515\\":\\"624dafee0ae29c9ceab3\\",\\"989\\":\\"abe104ddce8341ef1bb7\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + self.__locale + \\"/\\" + \\"-\\" + {\\"515\\":\\"268cfe557834794b247b\\",\\"989\\":\\"c8dd89f429d58ff2c174\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -690,7 +690,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.bind(__webpack_require__, \\"./a/async1.js\\"));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.bind(__webpack_require__, \\"./a/async2.js\\")); /******/ })() ;", - "/release/other--ea8cfa44fb56d61926bb.js": "/******/ (() => { // webpackBootstrap + "/release/other--0a22a28bc727b811fbb2.js": "/******/ (() => { // webpackBootstrap var __webpack_exports__ = {}; console.log('hello world'); /******/ })() diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap index 770899ac758..96d8d02cbf7 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsyncDynamic.test.ts.snap @@ -2,14 +2,14 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks with a runtime locale expression (minified): Content 1`] = ` Object { - "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", - "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1-LOCALE1-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1-LOCALE2-8c3afb36f06030151632.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE1-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE2-2fbb9f195517bc2b907a.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/mainFourChunks-none-590d7d1f9c50abc6d8cb.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"2fbb9f195517bc2b907a\\",14:\\"8c3afb36f06030151632\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2-none-66c46648c2b1b5a023ca.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1-LOCALE1-3bacd1d3213fe0fdaab4.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-3bacd1d3213fe0fdaab4.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-97e541e9dcd77c08a0f9.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-97e541e9dcd77c08a0f9.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/mainFourChunks-none-d58865d38f40e8144df9.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var c={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;\\"object\\"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>c[e]=()=>t[e]));return c.default=()=>t,a.d(o,c),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?self.__locale:\\"none\\")+\\"-\\"+{5:\\"97e541e9dcd77c08a0f9\\",14:\\"3bacd1d3213fe0fdaab4\\",515:\\"ff5c89a3cf5e2abb1912\\",989:\\"66c46648c2b1b5a023ca\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var c,i;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{c.onerror=c.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:\\"timeout\\",target:c}),12e4);c.onerror=f.bind(null,c.onerror),c.onload=f.bind(null,c.onload),i&&document.head.appendChild(c)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={550:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var c=a.p+a.u(r),i=new Error;a.l(c,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),c=t&&t.target&&t.target.src;i.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+c+\\")\\",i.name=\\"ChunkLoadError\\",i.type=o,i.request=c,n[1](i)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[c,i,l]=t,s=0;if(c.some((r=>0!==e[r]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);l&&l(a)}for(r&&r(t);s{var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.m=r,o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\"}[e]+\\"-\\"+self.__locale+\\"-\\"+{5:\\"97e541e9dcd77c08a0f9\\",14:\\"3bacd1d3213fe0fdaab4\\"}[e]+\\".js\\",o.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},o.l=(r,t,n,a)=>{if(e[r])e[r].push(t);else{var i,c;if(void 0!==n)for(var l=document.getElementsByTagName(\\"script\\"),s=0;s{i.onerror=i.onload=null,clearTimeout(p);var n=e[r];if(delete e[r],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),t)return t(o)},p=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)}},o.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;o.g.importScripts&&(e=o.g.location+\\"\\");var r=o.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),o.p=e})(),(()=>{var e={903:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),c=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+a+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=a,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,a,[i,c,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in c)o.o(c,n)&&(o.m[n]=c[n]);l&&l(o)}for(r&&r(t);s { @@ -49,7 +49,7 @@ console.log(\\"blah1\\"); /***/ }) }]);", - "/release/chunks/async2-none-41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + "/release/chunks/async2-none-1a5cac0840478360fcd4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ /***/ \\"./a/async2.js\\": /***/ (() => { @@ -59,7 +59,7 @@ console.log(\\"blah2\\"); /***/ }) }]);", - "/release/chunks/asyncLoc1-LOCALE1-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; + "/release/chunks/asyncLoc1-LOCALE1-5491741ac467873e0e20.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ /***/ \\"./a/asyncLoc1.js\\": @@ -95,7 +95,7 @@ const strings = {\\"another\\":\\"something else\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc1-LOCALE2-8272e1c9ba88d7397fe2.js": "\\"use strict\\"; + "/release/chunks/asyncLoc1-LOCALE2-5491741ac467873e0e20.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ /***/ \\"./a/asyncLoc1.js\\": @@ -131,7 +131,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc2-LOCALE1-3d37e9adadb328886a0a.js": "\\"use strict\\"; + "/release/chunks/asyncLoc2-LOCALE1-cd7bb284d09a7eab49e4.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ /***/ \\"./a/asyncLoc2.js\\": @@ -167,7 +167,7 @@ const strings = {\\"another\\":\\"something else\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc2-LOCALE2-3d37e9adadb328886a0a.js": "\\"use strict\\"; + "/release/chunks/asyncLoc2-LOCALE2-cd7bb284d09a7eab49e4.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ /***/ \\"./a/asyncLoc2.js\\": @@ -203,7 +203,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /***/ }) }]);", - "/release/mainFourChunks-none-22134f50a64ffc7dad50.js": "/******/ (() => { // webpackBootstrap + "/release/mainFourChunks-none-6e2099e8b5f8f28baad5.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -294,7 +294,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?self.__locale:\\"none\\") + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?self.__locale:\\"none\\") + \\"-\\" + {\\"5\\":\\"cd7bb284d09a7eab49e4\\",\\"14\\":\\"5491741ac467873e0e20\\",\\"515\\":\\"fd1b1af302665cb4e2e3\\",\\"989\\":\\"1a5cac0840478360fcd4\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -489,7 +489,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); /******/ })() ;", - "/release/mainTwoChunks-none-f47e7b2badbfc8b639f5.js": "/******/ (() => { // webpackBootstrap + "/release/mainTwoChunks-none-9f1d368ff4afdae73e34.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -550,7 +550,7 @@ __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bi /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"5\\":\\"3d37e9adadb328886a0a\\",\\"14\\":\\"8272e1c9ba88d7397fe2\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\"}[chunkId] + \\"-\\" + self.__locale + \\"-\\" + {\\"5\\":\\"cd7bb284d09a7eab49e4\\",\\"14\\":\\"5491741ac467873e0e20\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ From 210b7b575a273cbdb7dc5dd72f9c3f2fae5a7f99 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 5 Feb 2024 23:46:53 +0000 Subject: [PATCH 076/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 18 ++++++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/api-extractor/CHANGELOG.json | 15 ++++++++ apps/api-extractor/CHANGELOG.md | 7 +++- apps/heft/CHANGELOG.json | 21 +++++++++++ apps/heft/CHANGELOG.md | 7 +++- apps/lockfile-explorer/CHANGELOG.json | 15 ++++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 15 ++++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 15 ++++++++ apps/trace-import/CHANGELOG.md | 7 +++- .../true-hash-plugin_2024-02-05-00-00.json | 10 ------ .../true-hash-plugin_2024-02-05-00-00.json | 10 ------ .../true-hash-plugin_2024-02-05-23-18.json | 10 ------ eslint/eslint-bulk/CHANGELOG.json | 12 +++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- .../heft-api-extractor-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 21 +++++++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 21 +++++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 27 ++++++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 24 +++++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- libraries/api-extractor-model/CHANGELOG.json | 12 +++++++ libraries/api-extractor-model/CHANGELOG.md | 7 +++- .../debug-certificate-manager/CHANGELOG.json | 15 ++++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/heft-config-file/CHANGELOG.json | 12 +++++++ libraries/heft-config-file/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 +++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 18 ++++++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 ++++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/node-core-library/CHANGELOG.json | 12 +++++++ libraries/node-core-library/CHANGELOG.md | 9 ++++- libraries/operation-graph/CHANGELOG.json | 12 +++++++ libraries/operation-graph/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 15 ++++++++ libraries/package-deps-hash/CHANGELOG.md | 7 +++- libraries/package-extractor/CHANGELOG.json | 24 +++++++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 18 ++++++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/terminal/CHANGELOG.json | 15 ++++++++ libraries/terminal/CHANGELOG.md | 7 +++- libraries/typings-generator/CHANGELOG.json | 15 ++++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 +++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 30 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 36 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 ++++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 ++++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 +++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 +++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 26 ++++++++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 10 +++++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- 93 files changed, 1093 insertions(+), 75 deletions(-) delete mode 100644 common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index 8af81cc4b4b..52e09a1c8b6 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.21", + "tag": "@microsoft/api-documenter_v7.23.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "7.23.20", "tag": "@microsoft/api-documenter_v7.23.20", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index fab78211360..deca859aaae 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 7.23.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 7.23.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index d883182b370..266a0b5f97f 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.39.5", + "tag": "@microsoft/api-extractor_v7.39.5", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + } + ] + } + }, { "version": "7.39.4", "tag": "@microsoft/api-extractor_v7.39.4", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index a58340ecdb6..ea0a4ce695c 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 7.39.5 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 7.39.4 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 478096f035e..2f02a6d2a73 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.64.4", + "tag": "@rushstack/heft_v0.64.4", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/operation-graph\" to `0.2.7`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + } + ] + } + }, { "version": "0.64.3", "tag": "@rushstack/heft_v0.64.3", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index 585c79edd43..6dee2110fa2 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.64.4 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.64.3 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 2bb97f2c4ee..087b0b398d7 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.21", + "tag": "@rushstack/lockfile-explorer_v1.2.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "1.2.20", "tag": "@rushstack/lockfile-explorer_v1.2.20", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index 89b1f9ec876..1516ec1659f 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 1.2.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 1.2.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index f975a65ed3c..768ae5eb524 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.21", + "tag": "@rushstack/rundown_v1.1.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "1.1.20", "tag": "@rushstack/rundown_v1.1.20", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index 18c8c181863..b2c46f36f23 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 1.1.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 1.1.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index d6b66396729..5efe27f0335 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.21", + "tag": "@rushstack/trace-import_v0.3.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.3.20", "tag": "@rushstack/trace-import_v0.3.20", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index 068f6734777..3e8ce1e5436 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.3.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.3.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json b/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json deleted file mode 100644 index 0bd56225f4c..00000000000 --- a/common/changes/@rushstack/node-core-library/true-hash-plugin_2024-02-05-00-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "Inclue a `Text.reverse` API for reversing a string.", - "type": "minor" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json deleted file mode 100644 index 2f8895de486..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-00-00.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Include an option called `realContentHash` that updates \"[contenthash]\" hashes to the actual hashes of chunks.", - "type": "minor" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json b/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json deleted file mode 100644 index 101cb7d197e..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/true-hash-plugin_2024-02-05-23-18.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Add a warning if `optimization.realContentHash` is set.", - "type": "minor" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index 4f3409fe362..e2ab5810e05 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.11", + "tag": "@rushstack/eslint-bulk_v0.1.11", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.1.10", "tag": "@rushstack/eslint-bulk_v0.1.10", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index ef2ae515ba8..ab147d0fadb 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Thu, 25 Jan 2024 23:03:57 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.1.11 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.1.10 Thu, 25 Jan 2024 23:03:57 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index acaf6c0f51a..6fbfa7c4e8e 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.4", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.4", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.3` to `0.64.4`" + } + ] + } + }, { "version": "0.3.3", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.3", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index 6f942c85667..49ecdb78ab8 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.3.4 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.3.3 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index ac9b6133e8b..00b5b66942a 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.21", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.21`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.4.20", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.20", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 1f1d26c9777..12a6feda6ef 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.4.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.4.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index f5df3710329..276bd9df6c4 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.4", + "tag": "@rushstack/heft-jest-plugin_v0.11.4", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.11.3", "tag": "@rushstack/heft-jest-plugin_v0.11.3", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index f32599b683b..1d121ece994 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.11.4 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.11.3 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index 6d21f3d0372..44cc800241b 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.4", + "tag": "@rushstack/heft-lint-plugin_v0.3.4", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.3` to `0.64.4`" + } + ] + } + }, { "version": "0.3.3", "tag": "@rushstack/heft-lint-plugin_v0.3.3", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index 34b9c652e80..d275015778f 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.3.4 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.3.3 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 102121407d4..962571e7189 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.7", + "tag": "@rushstack/heft-sass-plugin_v0.13.7", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.21`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.13.6", "tag": "@rushstack/heft-sass-plugin_v0.13.6", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index a6807e2e3d9..2eed67678ab 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.13.7 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.13.6 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index 3a924f52c5a..54fb4d26b2c 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.21", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.3.20", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.20", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index d860d95ea3b..93b1b5a0f57 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.3.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.3.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 10438d535e1..24af66dbac5 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.5.1", + "tag": "@rushstack/heft-storybook-plugin_v0.5.1", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.5.0", "tag": "@rushstack/heft-storybook-plugin_v0.5.0", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index 7b762664a11..86b87685141 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:29 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.5.1 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.5.0 Thu, 25 Jan 2024 01:09:29 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index b798c0f4fe9..9940082a4de 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.4", + "tag": "@rushstack/heft-typescript-plugin_v0.3.4", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.3` to `0.64.4`" + } + ] + } + }, { "version": "0.3.3", "tag": "@rushstack/heft-typescript-plugin_v0.3.3", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 68a5192f78b..694021c95d0 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.3.4 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.3.3 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index 1f28b01a7b0..427c1616d68 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.21", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.21`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.10.20", "tag": "@rushstack/heft-webpack4-plugin_v0.10.20", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index 3dd160bfd82..ec87404f39f 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.10.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.10.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index 013921e24ab..34737e64508 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.21", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.21`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.9.20", "tag": "@rushstack/heft-webpack5-plugin_v0.9.20", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index a3ffdd393ab..876f537adec 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.9.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.9.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/api-extractor-model/CHANGELOG.json b/libraries/api-extractor-model/CHANGELOG.json index 11cc38ff0b5..504d36c47a8 100644 --- a/libraries/api-extractor-model/CHANGELOG.json +++ b/libraries/api-extractor-model/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-extractor-model", "entries": [ + { + "version": "7.28.8", + "tag": "@microsoft/api-extractor-model_v7.28.8", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + } + ] + } + }, { "version": "7.28.7", "tag": "@microsoft/api-extractor-model_v7.28.7", diff --git a/libraries/api-extractor-model/CHANGELOG.md b/libraries/api-extractor-model/CHANGELOG.md index 1eed1c8c282..19202a4a0bf 100644 --- a/libraries/api-extractor-model/CHANGELOG.md +++ b/libraries/api-extractor-model/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor-model -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 7.28.8 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 7.28.7 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index f675f997ff9..2a59fd55efb 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.21", + "tag": "@rushstack/debug-certificate-manager_v1.3.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "1.3.20", "tag": "@rushstack/debug-certificate-manager_v1.3.20", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index 0d3fa05bb81..d8069ce8a46 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 1.3.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 1.3.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/heft-config-file/CHANGELOG.json b/libraries/heft-config-file/CHANGELOG.json index b675a41da37..fc033d3e607 100644 --- a/libraries/heft-config-file/CHANGELOG.json +++ b/libraries/heft-config-file/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft-config-file", "entries": [ + { + "version": "0.14.8", + "tag": "@rushstack/heft-config-file_v0.14.8", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + } + ] + } + }, { "version": "0.14.7", "tag": "@rushstack/heft-config-file_v0.14.7", diff --git a/libraries/heft-config-file/CHANGELOG.md b/libraries/heft-config-file/CHANGELOG.md index 647fc2e108d..7e8450cd394 100644 --- a/libraries/heft-config-file/CHANGELOG.md +++ b/libraries/heft-config-file/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-config-file -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.14.8 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.14.7 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index cb61e75d46b..2410856ed1e 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.97", + "tag": "@microsoft/load-themed-styles_v2.0.97", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "2.0.96", "tag": "@microsoft/load-themed-styles_v2.0.96", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index cb4541723f5..d297ef4734e 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 2.0.97 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 2.0.96 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index 358b84a8c11..2c7b3dc2054 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.21", + "tag": "@rushstack/localization-utilities_v0.9.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.9.20", "tag": "@rushstack/localization-utilities_v0.9.20", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index bec82237ec0..d99585fa0cd 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.9.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.9.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index 3953dc8f66f..36ef62dfa07 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.21", + "tag": "@rushstack/module-minifier_v0.4.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.4.20", "tag": "@rushstack/module-minifier_v0.4.20", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index ce5d22f13a8..8cc55050808 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.4.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.4.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/node-core-library/CHANGELOG.json b/libraries/node-core-library/CHANGELOG.json index ec3e8ea3024..148fdffaa96 100644 --- a/libraries/node-core-library/CHANGELOG.json +++ b/libraries/node-core-library/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/node-core-library", "entries": [ + { + "version": "3.65.0", + "tag": "@rushstack/node-core-library_v3.65.0", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "minor": [ + { + "comment": "Inclue a `Text.reverse` API for reversing a string." + } + ] + } + }, { "version": "3.64.2", "tag": "@rushstack/node-core-library_v3.64.2", diff --git a/libraries/node-core-library/CHANGELOG.md b/libraries/node-core-library/CHANGELOG.md index f35d7d1ec20..c27b9b3d1ba 100644 --- a/libraries/node-core-library/CHANGELOG.md +++ b/libraries/node-core-library/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/node-core-library -This log was last generated on Thu, 25 Jan 2024 01:09:29 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 3.65.0 +Mon, 05 Feb 2024 23:46:52 GMT + +### Minor changes + +- Inclue a `Text.reverse` API for reversing a string. ## 3.64.2 Thu, 25 Jan 2024 01:09:29 GMT diff --git a/libraries/operation-graph/CHANGELOG.json b/libraries/operation-graph/CHANGELOG.json index 8a3d7da2c31..8b882cd9989 100644 --- a/libraries/operation-graph/CHANGELOG.json +++ b/libraries/operation-graph/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/operation-graph", "entries": [ + { + "version": "0.2.7", + "tag": "@rushstack/operation-graph_v0.2.7", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + } + ] + } + }, { "version": "0.2.6", "tag": "@rushstack/operation-graph_v0.2.6", diff --git a/libraries/operation-graph/CHANGELOG.md b/libraries/operation-graph/CHANGELOG.md index 9bf938e4413..b83907fbbf7 100644 --- a/libraries/operation-graph/CHANGELOG.md +++ b/libraries/operation-graph/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/operation-graph -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.2.7 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.2.6 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index bf604c68cf3..fe22fd0b41e 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.22", + "tag": "@rushstack/package-deps-hash_v4.1.22", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "4.1.21", "tag": "@rushstack/package-deps-hash_v4.1.21", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index 7171b51221e..6a06e499402 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 4.1.22 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 4.1.21 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index f13371b118a..4833b86abdc 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.24", + "tag": "@rushstack/package-extractor_v0.6.24", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.21`" + } + ] + } + }, { "version": "0.6.23", "tag": "@rushstack/package-extractor_v0.6.23", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index b0ead2008c2..ba44e3e5c59 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.6.24 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.6.23 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index 90f5343e89c..c275be523f1 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.22", + "tag": "@rushstack/stream-collator_v4.1.22", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "4.1.21", "tag": "@rushstack/stream-collator_v4.1.21", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index f73057c81c3..2e286927be7 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 4.1.22 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 4.1.21 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index b4684ce240c..34381b99f74 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.7.21", + "tag": "@rushstack/terminal_v0.7.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.7.20", "tag": "@rushstack/terminal_v0.7.20", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index 887bf7fb64e..fc98b920f31 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/terminal -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.7.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.7.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 34c7f6f5357..21817b527bb 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.21", + "tag": "@rushstack/typings-generator_v0.12.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.12.20", "tag": "@rushstack/typings-generator_v0.12.20", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index 44a9ac1d746..1db16de94b8 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.12.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.12.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index 8e34bd1346e..ad88883ec3b 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.21", + "tag": "@rushstack/worker-pool_v0.4.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.4.20", "tag": "@rushstack/worker-pool_v0.4.20", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index 647087aaa40..101d341e12e 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.4.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.4.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 7b2ca36be02..100bf815da5 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,36 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.6", + "tag": "@rushstack/heft-node-rig_v2.4.6", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "2.4.5", "tag": "@rushstack/heft-node-rig_v2.4.5", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index bd0149910c0..e70794e206c 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Thu, 25 Jan 2024 23:03:57 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 2.4.6 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 2.4.5 Thu, 25 Jan 2024 23:03:57 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 7a9996ea92b..64c9bea9491 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,42 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.20.6", + "tag": "@rushstack/heft-web-rig_v0.20.6", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.39.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.3` to `^0.64.4`" + } + ] + } + }, { "version": "0.20.5", "tag": "@rushstack/heft-web-rig_v0.20.5", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 997c5ab7cb0..cfc8106119b 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Thu, 25 Jan 2024 23:03:58 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.20.6 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.20.5 Thu, 25 Jan 2024 23:03:58 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index dc995519dc3..6828c11e702 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.13", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.13", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "1.0.12", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.12", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index f6896ffe60b..5ecc8ca6eb8 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Thu, 25 Jan 2024 23:03:57 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 1.0.13 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 1.0.12 Thu, 25 Jan 2024 23:03:57 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index e0ef6d338a5..82ffb3aa905 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.21", + "tag": "@microsoft/loader-load-themed-styles_v2.1.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.97`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.96` to `^2.0.97`" + } + ] + } + }, { "version": "2.1.20", "tag": "@microsoft/loader-load-themed-styles_v2.1.20", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index d6cb824858d..d1407a94a45 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 2.1.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 2.1.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index f2ebd5e43ea..86f363d9a65 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.21", + "tag": "@rushstack/loader-raw-script_v1.4.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "1.4.20", "tag": "@rushstack/loader-raw-script_v1.4.20", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index df2a36312f8..156fba552fb 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 1.4.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 1.4.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index 2848fce4e1f..0678cc0878d 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.21", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.11.20", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.20", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index b089133921e..0ff18e781c3 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.11.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.11.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index 4b91c9bd859..d9b86228c49 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.5", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.5", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "5.1.4", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.4", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 2f429ccf03d..2f58082df87 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 5.1.5 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 5.1.4 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index 1bc9d1ccd09..78ff847671f 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.22", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.22", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.2.21", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.21", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index 5e61ccac3a4..fcc47fe56af 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.2.22 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.2.21 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index eff5b8577f5..71f1de9b132 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.5", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.5", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.4.4", "tag": "@rushstack/webpack-plugin-utilities_v0.4.4", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index af36d03ed78..87bdbcad712 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.4.5 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.4.4 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 0bebea27a71..2d05e9e084e 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.21", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.18.20", "tag": "@rushstack/webpack4-localization-plugin_v0.18.20", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index add0ceea020..0a05f7195a2 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.18.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.18.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index bb70d7459b9..cdf87e7d330 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.21", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.21`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.13.20", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.20", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 1b68cbd8072..0fc4456973d 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.13.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.13.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 25c8fd3ec86..54e9238cdc0 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.21", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.97`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.96` to `^2.0.97`" + } + ] + } + }, { "version": "0.2.20", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.20", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 81457014beb..28b8df78a9f 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.2.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 0.2.20 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index 951bd8148e7..a804c69e335 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,32 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.7.0", + "tag": "@rushstack/webpack5-localization-plugin_v0.7.0", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "minor": [ + { + "comment": "Include an option called `realContentHash` that updates \"[contenthash]\" hashes to the actual hashes of chunks." + }, + { + "comment": "Add a warning if `optimization.realContentHash` is set." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.21`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + } + ] + } + }, { "version": "0.6.4", "tag": "@rushstack/webpack5-localization-plugin_v0.6.4", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index 4b2af54b37a..b22837bc921 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 0.7.0 +Mon, 05 Feb 2024 23:46:52 GMT + +### Minor changes + +- Include an option called `realContentHash` that updates "[contenthash]" hashes to the actual hashes of chunks. +- Add a warning if `optimization.realContentHash` is set. ## 0.6.4 Thu, 25 Jan 2024 01:09:30 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index afd5caee737..fdda1bf56c8 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.21", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.21", + "date": "Mon, 05 Feb 2024 23:46:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.21`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.4`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.21`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.20", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.20", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index a57bc497ad5..cb83eb28719 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Thu, 25 Jan 2024 01:09:30 GMT and should not be manually modified. +This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. + +## 5.5.21 +Mon, 05 Feb 2024 23:46:52 GMT + +_Version update only_ ## 5.5.20 Thu, 25 Jan 2024 01:09:30 GMT From fe1cbf4e3f325e4d55c4c02316715999b72b4d20 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 5 Feb 2024 23:46:55 +0000 Subject: [PATCH 077/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/api-extractor-model/package.json | 2 +- libraries/debug-certificate-manager/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 45 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index a312ddfc04d..f99bc3c8b8e 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.20", + "version": "7.23.21", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index fb74add4825..eafdb57ce30 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.39.4", + "version": "7.39.5", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index e2598d5ad28..9b4cb377f56 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.3", + "version": "0.64.4", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 4dfe89457b3..9698a188f1b 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.20", + "version": "1.2.21", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index 7576d0c0a29..f894423623c 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.20", + "version": "1.1.21", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index dc935f66ed8..e8dc2097fbb 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.20", + "version": "0.3.21", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index 21443ea5282..4212c6c0774 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.10", + "version": "0.1.11", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 45c83352890..45f75dadbcd 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.3", + "version": "0.3.4", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.3" + "@rushstack/heft": "0.64.4" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 497fb564c15..7f6d0c81112 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.20", + "version": "0.4.21", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index 333d0d73b69..2ad0210d4bd 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.3", + "version": "0.11.4", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3", + "@rushstack/heft": "^0.64.4", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index dacd216cd53..fac19ca0e41 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.3", + "version": "0.3.4", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.3" + "@rushstack/heft": "0.64.4" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index adf573591bf..86aa31a42a1 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.6", + "version": "0.13.7", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index b21d01908eb..1c64bdef0eb 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.20", + "version": "0.3.21", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index afc4967d788..c34d2df48c4 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.5.0", + "version": "0.5.1", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index e733d12ed83..72114360023 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.3", + "version": "0.3.4", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.3" + "@rushstack/heft": "0.64.4" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index 8d94dc5851d..bfaab911383 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.20", + "version": "0.10.21", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.3", + "@rushstack/heft": "^0.64.4", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 2fc3a39f20c..99b3c251fa6 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.20", + "version": "0.9.21", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3", + "@rushstack/heft": "^0.64.4", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index 98326235c44..ca72b799caf 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor-model", - "version": "7.28.7", + "version": "7.28.8", "description": "A helper library for loading and saving the .api.json files created by API Extractor", "repository": { "type": "git", diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 4705d1640b1..1346049b9b1 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.20", + "version": "1.3.21", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index 19e59f03a9e..2a6aca53c11 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-config-file", - "version": "0.14.7", + "version": "0.14.8", "description": "Configuration file loader for @rushstack/heft", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index a550e19de47..38196229325 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.96", + "version": "2.0.97", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 58df65d13bb..0e9fe0916a5 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.20", + "version": "0.9.21", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index df283ed7bdb..c078435cb3e 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.20", + "version": "0.4.21", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 864600f7dae..7019badfda3 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/node-core-library", - "version": "3.64.2", + "version": "3.65.0", "description": "Core libraries that every NodeJS toolchain project should use", "main": "lib/index.js", "typings": "dist/node-core-library.d.ts", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 1f919d8a812..3af937a3603 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/operation-graph", - "version": "0.2.6", + "version": "0.2.7", "description": "Library for managing and executing operations in a directed acyclic graph.", "main": "lib/index.js", "typings": "dist/operation-graph.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index ac2b15afa35..e9f9d4b8392 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.21", + "version": "4.1.22", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index ceb5b4fbe9e..accec3ce8ba 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.23", + "version": "0.6.24", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index e00511a65e0..44822346007 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.21", + "version": "4.1.22", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index 4bde63cf911..c56a8424dc8 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.7.20", + "version": "0.7.21", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 810035668b0..8b8c885e485 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.20", + "version": "0.12.21", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 122b512288b..186ea9002f5 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.20", + "version": "0.4.21", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 91cb2b5f784..a0a107605ab 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.5", + "version": "2.4.6", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index ed3efd5d731..88eb233efd4 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.5", + "version": "0.20.6", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.3" + "@rushstack/heft": "^0.64.4" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index b152a2e5ab9..96a0c2c141a 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.12", + "version": "1.0.13", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 74a5189f3ca..98f9d9131bc 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.20", + "version": "2.1.21", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.96" + "@microsoft/load-themed-styles": "^2.0.97" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index f334176c0f8..9a9f726712a 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.20", + "version": "1.4.21", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index ef5f504cdbe..e4e3941fca2 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.20", + "version": "0.11.21", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 6005737baa4..999d3af76bf 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.4", + "version": "5.1.5", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index e1acfc54196..22931065d03 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.21", + "version": "0.2.22", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 68e96a434f7..197df2433b4 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.4", + "version": "0.4.5", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 1da137b2587..109bc55ac83 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.20", + "version": "0.18.21", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index aee52d66d0f..517b2900fff 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.20", + "version": "0.13.21", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index 1a88a64c4a3..961afbbddf5 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.20", + "version": "0.2.21", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.96", + "@microsoft/load-themed-styles": "^2.0.97", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 2822498d922..f6a6b491885 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.6.4", + "version": "0.7.0", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index ad0d2866888..678eccf7ebf 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.20", + "version": "5.5.21", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From fc42cc9880b4460c8df42fdca5d60bd2f1a0aa90 Mon Sep 17 00:00:00 2001 From: wesley-weiming <24312810+wesley-weiming@users.noreply.github.com> Date: Tue, 6 Feb 2024 17:39:25 +0800 Subject: [PATCH 078/180] fix: resolve some comments --- common/reviews/api/rush-lib.api.md | 1 + .../src/logic/ProjectImpactGraphGenerator.ts | 22 +++++++++++-------- libraries/rush-lib/src/logic/RushConstants.ts | 5 +++++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index d77045ff54c..e5e48efc53f 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -1235,6 +1235,7 @@ export class RushConstants { static readonly experimentsFilename: string; static readonly globalCommandKind: 'global'; static readonly hashDelimiter: string; + static readonly mergeQueueIgnoreFileName: string; static readonly nodeModulesFolderName: string; static readonly nonbrowserApprovedPackagesFilename: string; static readonly npmShrinkwrapFilename: string; diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index cae60abdb76..53e7b6866e5 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -8,6 +8,7 @@ import colors from 'colors/safe'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { RushConfigurationProject } from '../api/RushConfigurationProject'; import { Stopwatch } from '../utilities/Stopwatch'; +import { RushConstants } from './RushConstants'; /** * Project property configuration @@ -58,7 +59,7 @@ export class ProjectImpactGraphGenerator { * @param repositoryRoot */ private _loadGlobalExcludedGlobs(repositoryRoot: string): string[] | undefined { - const filePath: string = path.join(repositoryRoot, '.mergequeueignore'); + const filePath: string = `${repositoryRoot}/${RushConstants.mergeQueueIgnoreFileName}`; if (FileSystem.exists(filePath)) { const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); return globs; @@ -70,7 +71,7 @@ export class ProjectImpactGraphGenerator { * @param projectRootRelativePath - project root relative path */ private _loadProjectExcludedGlobs(projectRootRelativePath: string): string[] | undefined { - const filePath: string = path.join(this._repositoryRoot, projectRootRelativePath, '.mergequeueignore'); + const filePath: string = `${this._repositoryRoot}/${projectRootRelativePath}/${RushConstants.mergeQueueIgnoreFileName}`; if (FileSystem.exists(filePath)) { const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); return globs.map((glob) => path.join(projectRootRelativePath, glob)); @@ -82,18 +83,20 @@ export class ProjectImpactGraphGenerator { */ public generate(): void { const stopwatch: Stopwatch = Stopwatch.start(); - const content: IFileSchema = {} as IFileSchema; - content.globalExcludedGlobs = + + const globalExcludedGlobs: string[] = this._loadGlobalExcludedGlobs(this._repositoryRoot) || DefaultGlobalExcludedGlobs; - content.projects = {}; - this._projects.forEach((project) => { + const projects: { + [key: string]: IProjectConfiguration; + } = {}; + for (const project of this._projects) { // ignore the top project if (project.projectRelativeFolder !== '.') { const dependentList: string[] = [project.packageName]; project.consumingProjects.forEach((item) => { dependentList.push(item.packageName); }); - content.projects[`${project.packageName}`] = { + projects[`${project.packageName}`] = { includedGlobs: [`${project.projectRelativeFolder}/**`], dependentProjects: dependentList.sort() }; @@ -101,10 +104,11 @@ export class ProjectImpactGraphGenerator { project.projectRelativeFolder ); if (projectExcludedGlobs) { - content.projects[`${project.packageName}`].excludedGlobs = projectExcludedGlobs; + projects[`${project.packageName}`].excludedGlobs = projectExcludedGlobs; } } - }); + } + const content: IFileSchema = { globalExcludedGlobs, projects }; FileSystem.writeFile( path.join(this._repositoryRoot, 'project-impact-graph.yaml'), diff --git a/libraries/rush-lib/src/logic/RushConstants.ts b/libraries/rush-lib/src/logic/RushConstants.ts index 58ba68aa325..664dbecd2a1 100644 --- a/libraries/rush-lib/src/logic/RushConstants.ts +++ b/libraries/rush-lib/src/logic/RushConstants.ts @@ -296,4 +296,9 @@ export class RushConstants { * The name of the parameter that can be used to bypass policies. */ public static readonly bypassPolicyFlagLongName: '--bypass-policy' = '--bypass-policy'; + + /** + * Merge Queue ignore configuration file. + */ + public static readonly mergeQueueIgnoreFileName: string = '.mergequeueignore'; } From a0502af016550fe3774a4f38095237e24dd48d88 Mon Sep 17 00:00:00 2001 From: Bart van den Ende Date: Tue, 6 Feb 2024 14:36:11 +0100 Subject: [PATCH 079/180] feat: process arrow functions as `function` instead of `variable` kind in ApiModelGenerator --- .../src/generators/ApiModelGenerator.ts | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/apps/api-extractor/src/generators/ApiModelGenerator.ts b/apps/api-extractor/src/generators/ApiModelGenerator.ts index 06eb2828fbe..c7acc09410f 100644 --- a/apps/api-extractor/src/generators/ApiModelGenerator.ts +++ b/apps/api-extractor/src/generators/ApiModelGenerator.ts @@ -250,7 +250,14 @@ export class ApiModelGenerator { break; case ts.SyntaxKind.VariableDeclaration: - this._processApiVariable(astDeclaration, context); + // check for arrow functions in variable declaration + const functionDeclaration: ts.FunctionDeclaration | undefined = + this._hasFunctionDeclaration(astDeclaration); + if (functionDeclaration) { + this._processApiFunction(astDeclaration, context, functionDeclaration); + } else { + this._processApiVariable(astDeclaration, context); + } break; default: @@ -258,6 +265,13 @@ export class ApiModelGenerator { } } + private _hasFunctionDeclaration(astDeclaration: AstDeclaration): ts.FunctionDeclaration | undefined { + const children: ts.Node[] = astDeclaration.declaration.getChildren( + astDeclaration.declaration.getSourceFile() + ); + return children.find(ts.isFunctionTypeNode) as ts.FunctionDeclaration | undefined; + } + private _processChildDeclarations(astDeclaration: AstDeclaration, context: IProcessAstEntityContext): void { for (const childDeclaration of astDeclaration.children) { this._processDeclaration(childDeclaration, { @@ -544,7 +558,11 @@ export class ApiModelGenerator { } } - private _processApiFunction(astDeclaration: AstDeclaration, context: IProcessAstEntityContext): void { + private _processApiFunction( + astDeclaration: AstDeclaration, + context: IProcessAstEntityContext, + altFunctionDeclaration?: ts.FunctionDeclaration + ): void { const { name, isExported, parentApiItem } = context; const overloadIndex: number = this._collector.getOverloadIndex(astDeclaration); @@ -554,7 +572,7 @@ export class ApiModelGenerator { if (apiFunction === undefined) { const functionDeclaration: ts.FunctionDeclaration = - astDeclaration.declaration as ts.FunctionDeclaration; + altFunctionDeclaration ?? (astDeclaration.declaration as ts.FunctionDeclaration); const nodesToCapture: IExcerptBuilderNodeToCapture[] = []; From 371ada87abd0bb4e9e3de75aa164e2077e591f27 Mon Sep 17 00:00:00 2001 From: Bart van den Ende Date: Tue, 6 Feb 2024 15:13:43 +0100 Subject: [PATCH 080/180] chore add rush change --- ...e-wm-api-extractor-arrow-func_2024-02-06-14-12.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json diff --git a/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json b/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json new file mode 100644 index 00000000000..d10a4adaedd --- /dev/null +++ b/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-extractor", + "comment": "\"Classify arrow functions as 'function' kind in the doc model export\"", + "type": "minor" + } + ], + "packageName": "@microsoft/api-extractor" +} \ No newline at end of file From af3bfcf7d28c3bb69de5ff1fff4c6561c91fdac6 Mon Sep 17 00:00:00 2001 From: Bart van den Ende Date: Tue, 6 Feb 2024 16:48:03 +0100 Subject: [PATCH 081/180] chore: update test snapshots --- .../api-extractor-scenarios.api.json | 19 +++++----- .../api-extractor-scenarios.api.json | 38 ++++++++++++++----- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/build-tests/api-extractor-scenarios/etc/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json index d5b2da9ff7c..b09660a4142 100644 --- a/build-tests/api-extractor-scenarios/etc/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json @@ -173,27 +173,28 @@ "preserveMemberOrder": false, "members": [ { - "kind": "Variable", - "canonicalReference": "api-extractor-scenarios!defaultFunctionStatement:var", + "kind": "Function", + "canonicalReference": "api-extractor-scenarios!defaultFunctionStatement:function(1)", "docComment": "/**\n * @public\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "defaultFunctionStatement: " + "text": "defaultFunctionStatement: () => " }, { "kind": "Content", - "text": "() => void" + "text": "void" } ], "fileUrlPath": "src/defaultExportOfEntryPoint2/index.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultFunctionStatement", - "variableTypeTokenRange": { + "returnTypeTokenRange": { "startIndex": 1, "endIndex": 2 - } + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [], + "name": "defaultFunctionStatement" } ] } diff --git a/build-tests/api-extractor-scenarios/etc/spanSorting/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/spanSorting/api-extractor-scenarios.api.json index 5315cb39238..6b0f70e844d 100644 --- a/build-tests/api-extractor-scenarios/etc/spanSorting/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/spanSorting/api-extractor-scenarios.api.json @@ -375,27 +375,45 @@ "implementsTokenRanges": [] }, { - "kind": "Variable", - "canonicalReference": "api-extractor-scenarios!exampleD:var", + "kind": "Function", + "canonicalReference": "api-extractor-scenarios!exampleD:function(1)", "docComment": "/**\n * Outer description\n *\n * @public\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "exampleD: " + "text": "exampleD: (o: " }, { "kind": "Content", - "text": "(o: {\n a: number;\n b(): string;\n}) => void" + "text": "{\n a: number;\n b(): string;\n}" + }, + { + "kind": "Content", + "text": ") => " + }, + { + "kind": "Content", + "text": "void" } ], "fileUrlPath": "src/spanSorting/index.ts", - "isReadonly": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, "releaseTag": "Public", - "name": "exampleD", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "o", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ], + "name": "exampleD" } ] } From 82e3fb0be32c3bfb2db00a768d839a48584f53b8 Mon Sep 17 00:00:00 2001 From: StyleShit <32631382+StyleShit@users.noreply.github.com> Date: Tue, 6 Feb 2024 18:57:57 +0200 Subject: [PATCH 082/180] change to minor --- .../feat-typedef-var-as-const_2024-02-05-18-53.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json b/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json index 244e0917993..7ce436c2107 100644 --- a/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json +++ b/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json @@ -3,7 +3,7 @@ { "packageName": "@rushstack/eslint-plugin", "comment": "Allow using `as const` in `typedef-var`", - "type": "patch" + "type": "minor" } ], "packageName": "@rushstack/eslint-plugin" From b75b1600a506cb7fa3c730bc2d39383e10264525 Mon Sep 17 00:00:00 2001 From: StyleShit <32631382+StyleShit@users.noreply.github.com> Date: Tue, 6 Feb 2024 19:17:33 +0200 Subject: [PATCH 083/180] add test case --- eslint/eslint-plugin/src/test/typedef-var.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eslint/eslint-plugin/src/test/typedef-var.test.ts b/eslint/eslint-plugin/src/test/typedef-var.test.ts index c29bc76b353..a873952faae 100644 --- a/eslint/eslint-plugin/src/test/typedef-var.test.ts +++ b/eslint/eslint-plugin/src/test/typedef-var.test.ts @@ -49,6 +49,9 @@ ruleTester.run('typedef-var', typedefVar, { { code: 'const x = 1 as const;' }, + { + code: 'const x: 1 = 1;' + }, { code: 'const x: number = 1;' }, From 80bc088757a310adb3fd0281e7da9c9d2db37fbc Mon Sep 17 00:00:00 2001 From: Bart van den Ende Date: Tue, 6 Feb 2024 19:52:21 +0100 Subject: [PATCH 084/180] chore: PR feedback --- apps/api-extractor/src/generators/ApiModelGenerator.ts | 4 ++-- ...ndenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/api-extractor/src/generators/ApiModelGenerator.ts b/apps/api-extractor/src/generators/ApiModelGenerator.ts index c7acc09410f..9dec797310b 100644 --- a/apps/api-extractor/src/generators/ApiModelGenerator.ts +++ b/apps/api-extractor/src/generators/ApiModelGenerator.ts @@ -252,7 +252,7 @@ export class ApiModelGenerator { case ts.SyntaxKind.VariableDeclaration: // check for arrow functions in variable declaration const functionDeclaration: ts.FunctionDeclaration | undefined = - this._hasFunctionDeclaration(astDeclaration); + this._tryFindFunctionDeclaration(astDeclaration); if (functionDeclaration) { this._processApiFunction(astDeclaration, context, functionDeclaration); } else { @@ -265,7 +265,7 @@ export class ApiModelGenerator { } } - private _hasFunctionDeclaration(astDeclaration: AstDeclaration): ts.FunctionDeclaration | undefined { + private _tryFindFunctionDeclaration(astDeclaration: AstDeclaration): ts.FunctionDeclaration | undefined { const children: ts.Node[] = astDeclaration.declaration.getChildren( astDeclaration.declaration.getSourceFile() ); diff --git a/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json b/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json index d10a4adaedd..dfd9d41b279 100644 --- a/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json +++ b/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/api-extractor", - "comment": "\"Classify arrow functions as 'function' kind in the doc model export\"", + "comment": "Classify arrow functions as `function` kind in the doc model export.", "type": "minor" } ], From b7c98de8e194f3ddd307f601ed44065270e3d645 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Tue, 6 Feb 2024 16:41:13 -0800 Subject: [PATCH 085/180] feat: integrate pnpmSyncCopy to rush build and rushx build --- .../rush-lib/src/cli/RushXCommandLine.ts | 15 +++++- .../cli/scriptActions/PhasedScriptAction.ts | 9 ++++ .../operations/PnpmSyncCopyOperationPlugin.ts | 48 +++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts diff --git a/libraries/rush-lib/src/cli/RushXCommandLine.ts b/libraries/rush-lib/src/cli/RushXCommandLine.ts index df4a7da07e3..ddd138bee9d 100644 --- a/libraries/rush-lib/src/cli/RushXCommandLine.ts +++ b/libraries/rush-lib/src/cli/RushXCommandLine.ts @@ -3,7 +3,7 @@ import colors from 'colors/safe'; import * as path from 'path'; -import { PackageJsonLookup, type IPackageJson, Text } from '@rushstack/node-core-library'; +import { PackageJsonLookup, type IPackageJson, Text, FileSystem } from '@rushstack/node-core-library'; import { DEFAULT_CONSOLE_WIDTH, PrintUtilities } from '@rushstack/terminal'; import { Utilities } from '../utilities/Utilities'; @@ -15,6 +15,7 @@ import { RushStartupBanner } from './RushStartupBanner'; import { EventHooksManager } from '../logic/EventHooksManager'; import { Event } from '../api/EventHooks'; import { EnvironmentVariableNames } from '../api/EnvironmentConfiguration'; +import { pnpmSyncCopy } from 'pnpm-sync-lib'; interface IRushXCommandLineArguments { /** @@ -207,6 +208,18 @@ export class RushXCommandLine { } }); + if (rushConfiguration?.packageManager === 'pnpm' && rushConfiguration?.experimentsConfiguration) { + const { configuration: experiments } = rushConfiguration?.experimentsConfiguration; + + //only `rushx build` command will trigger the pnpm-sync copy + if (experiments?.usePnpmSyncForInjectedDependencies && rushxArguments.commandName === 'build') { + const pnpmSyncJsonPath: string = packageFolder + '/node_modules/.pnpm-sync.json'; + if (FileSystem.exists(pnpmSyncJsonPath)) { + void pnpmSyncCopy(pnpmSyncJsonPath); + } + } + } + if (exitCode > 0) { throw new ProcessError( `Failed calling ${commandWithArgsForDisplay}. Exit code: ${exitCode}`, diff --git a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts index 33545142ef8..ec1c33b0199 100644 --- a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts +++ b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts @@ -44,6 +44,7 @@ import { RushProjectConfiguration } from '../../api/RushProjectConfiguration'; import { LegacySkipPlugin } from '../../logic/operations/LegacySkipPlugin'; import { ValidateOperationsPlugin } from '../../logic/operations/ValidateOperationsPlugin'; import type { ProjectWatcher } from '../../logic/ProjectWatcher'; +import { PnpmSyncCopyOperationPlugin } from '../../logic/operations/PnpmSyncCopyOperationPlugin'; /** * Constructor parameters for PhasedScriptAction. @@ -379,6 +380,14 @@ export class PhasedScriptAction extends BaseScriptAction { terminal.writeVerboseLine(`Incremental strategy: none (full rebuild)`); } + const { configuration: experiments } = this.rushConfiguration?.experimentsConfiguration; + if ( + this.rushConfiguration?.packageManager === 'pnpm' && + experiments?.usePnpmSyncForInjectedDependencies + ) { + new PnpmSyncCopyOperationPlugin().apply(this.hooks); + } + const projectConfigurations: ReadonlyMap = this ._runsBeforeInstall ? new Map() diff --git a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts new file mode 100644 index 00000000000..f0247051d5b --- /dev/null +++ b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { FileSystem } from '@rushstack/node-core-library'; + +import { OperationStatus } from './OperationStatus'; +import type { IOperationRunnerContext } from './IOperationRunner'; +import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks'; +import type { OperationExecutionRecord } from './OperationExecutionRecord'; +import { pnpmSyncCopy } from 'pnpm-sync-lib'; + +const PLUGIN_NAME: 'PnpmSyncCopyOperationPlugin' = 'PnpmSyncCopyOperationPlugin'; + +export class PnpmSyncCopyOperationPlugin implements IPhasedCommandPlugin { + public constructor() {} + + public apply(hooks: PhasedCommandHooks): void { + hooks.afterExecuteOperation.tapPromise( + PLUGIN_NAME, + async (runnerContext: IOperationRunnerContext): Promise => { + const record: OperationExecutionRecord = runnerContext as OperationExecutionRecord; + const { + status, + operation: { associatedProject: project, associatedPhase: phase } + } = record; + + //skip if phase is not build + if (phase?.name !== 'build') { + return; + } + + //skip if `rush build` is skipped, from cache or no operation + if ( + status === OperationStatus.Skipped || + status === OperationStatus.FromCache || + status === OperationStatus.NoOp + ) { + return; + } + + const pnpmSyncJsonPath: string = project?.projectFolder + '/node_modules/.pnpm-sync.json'; + if (FileSystem.exists(pnpmSyncJsonPath)) { + await pnpmSyncCopy(pnpmSyncJsonPath); + } + } + ); + } +} From 89c3f16ab99bd021cbd1ce1b1fa16cf07bd647cf Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 7 Feb 2024 01:11:19 +0000 Subject: [PATCH 086/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 12 ++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/api-extractor/CHANGELOG.json | 12 ++++++ apps/api-extractor/CHANGELOG.md | 9 ++++- apps/heft/CHANGELOG.json | 12 ++++++ apps/heft/CHANGELOG.md | 7 +++- apps/lockfile-explorer/CHANGELOG.json | 12 ++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 12 ++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 12 ++++++ apps/trace-import/CHANGELOG.md | 7 +++- ...extractor-arrow-func_2024-02-06-14-12.json | 10 ----- .../fix-caching_2024-01-31-21-18.json | 11 ------ ...typedef-var-as-const_2024-02-05-18-53.json | 10 ----- ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- eslint/eslint-bulk/CHANGELOG.json | 12 ++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- eslint/eslint-config/CHANGELOG.json | 12 ++++++ eslint/eslint-config/CHANGELOG.md | 7 +++- eslint/eslint-plugin/CHANGELOG.json | 12 ++++++ eslint/eslint-plugin/CHANGELOG.md | 9 ++++- .../heft-api-extractor-plugin/CHANGELOG.json | 18 +++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 15 +++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 18 +++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 21 ++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 15 +++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 18 +++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 18 +++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- .../debug-certificate-manager/CHANGELOG.json | 12 ++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 ++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 15 +++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 +++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 12 ++++++ libraries/package-deps-hash/CHANGELOG.md | 7 +++- libraries/package-extractor/CHANGELOG.json | 21 ++++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 15 +++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/terminal/CHANGELOG.json | 12 ++++++ libraries/terminal/CHANGELOG.md | 7 +++- libraries/typings-generator/CHANGELOG.json | 12 ++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 ++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 33 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 39 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 12 ++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 +++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 ++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 ++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 ++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../webpack5-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../CHANGELOG.md | 7 +++- 90 files changed, 949 insertions(+), 84 deletions(-) delete mode 100644 common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json delete mode 100644 common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json delete mode 100644 common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json delete mode 100644 common/changes/@rushstack/eslint-plugin/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index 52e09a1c8b6..a7d04d617a4 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.22", + "tag": "@microsoft/api-documenter_v7.23.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "7.23.21", "tag": "@microsoft/api-documenter_v7.23.21", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index deca859aaae..d1f8f3aa96f 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 7.23.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 7.23.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index 266a0b5f97f..202f9614304 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.40.0", + "tag": "@microsoft/api-extractor_v7.40.0", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "minor": [ + { + "comment": "Classify arrow functions as `function` kind in the doc model export." + } + ] + } + }, { "version": "7.39.5", "tag": "@microsoft/api-extractor_v7.39.5", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index ea0a4ce695c..c89cdbf7450 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 7.40.0 +Wed, 07 Feb 2024 01:11:18 GMT + +### Minor changes + +- Classify arrow functions as `function` kind in the doc model export. ## 7.39.5 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 2f02a6d2a73..660e2f52c6f 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.64.5", + "tag": "@rushstack/heft_v0.64.5", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + } + ] + } + }, { "version": "0.64.4", "tag": "@rushstack/heft_v0.64.4", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index 6dee2110fa2..912ab7a13ef 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.64.5 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.64.4 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 087b0b398d7..06ef65b0fca 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.22", + "tag": "@rushstack/lockfile-explorer_v1.2.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "1.2.21", "tag": "@rushstack/lockfile-explorer_v1.2.21", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index 1516ec1659f..9b94c4bf1ef 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 1.2.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 1.2.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index 768ae5eb524..55ade15c219 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.22", + "tag": "@rushstack/rundown_v1.1.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "1.1.21", "tag": "@rushstack/rundown_v1.1.21", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index b2c46f36f23..1b2156f1e31 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 1.1.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 1.1.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index 5efe27f0335..135b6e8597f 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.22", + "tag": "@rushstack/trace-import_v0.3.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.3.21", "tag": "@rushstack/trace-import_v0.3.21", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index 3e8ce1e5436..c4b0766f600 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.3.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.3.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json b/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json deleted file mode 100644 index dfd9d41b279..00000000000 --- a/common/changes/@microsoft/api-extractor/bartvandenende-wm-api-extractor-arrow-func_2024-02-06-14-12.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/api-extractor", - "comment": "Classify arrow functions as `function` kind in the doc model export.", - "type": "minor" - } - ], - "packageName": "@microsoft/api-extractor" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json b/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json deleted file mode 100644 index 7fb2f3841ff..00000000000 --- a/common/changes/@rushstack/eslint-config/fix-caching_2024-01-31-21-18.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@rushstack/eslint-config" - } - ], - "packageName": "@rushstack/eslint-config", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json b/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json deleted file mode 100644 index 7ce436c2107..00000000000 --- a/common/changes/@rushstack/eslint-plugin/feat-typedef-var-as-const_2024-02-05-18-53.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/eslint-plugin", - "comment": "Allow using `as const` in `typedef-var`", - "type": "minor" - } - ], - "packageName": "@rushstack/eslint-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/eslint-plugin/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index dcf93469653..00000000000 --- a/common/changes/@rushstack/eslint-plugin/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/eslint-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/eslint-plugin" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index e2ab5810e05..8b304f81b4b 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.12", + "tag": "@rushstack/eslint-bulk_v0.1.12", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.1.11", "tag": "@rushstack/eslint-bulk_v0.1.11", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index ab147d0fadb..418a46e943a 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.1.12 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.1.11 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/eslint/eslint-config/CHANGELOG.json b/eslint/eslint-config/CHANGELOG.json index 744b27e773d..ca9c9d33f97 100644 --- a/eslint/eslint-config/CHANGELOG.json +++ b/eslint/eslint-config/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-config", "entries": [ + { + "version": "3.6.3", + "tag": "@rushstack/eslint-config_v3.6.3", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/eslint-plugin\" to `0.15.0`" + } + ] + } + }, { "version": "3.6.2", "tag": "@rushstack/eslint-config_v3.6.2", diff --git a/eslint/eslint-config/CHANGELOG.md b/eslint/eslint-config/CHANGELOG.md index c276805eed6..2fd01863ac0 100644 --- a/eslint/eslint-config/CHANGELOG.md +++ b/eslint/eslint-config/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-config -This log was last generated on Thu, 25 Jan 2024 23:03:57 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 3.6.3 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 3.6.2 Thu, 25 Jan 2024 23:03:57 GMT diff --git a/eslint/eslint-plugin/CHANGELOG.json b/eslint/eslint-plugin/CHANGELOG.json index f04e25c58f3..4947d6cdd8e 100644 --- a/eslint/eslint-plugin/CHANGELOG.json +++ b/eslint/eslint-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-plugin", "entries": [ + { + "version": "0.15.0", + "tag": "@rushstack/eslint-plugin_v0.15.0", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "minor": [ + { + "comment": "Allow using `as const` in `typedef-var`" + } + ] + } + }, { "version": "0.14.0", "tag": "@rushstack/eslint-plugin_v0.14.0", diff --git a/eslint/eslint-plugin/CHANGELOG.md b/eslint/eslint-plugin/CHANGELOG.md index 7a22836d632..7853ed12748 100644 --- a/eslint/eslint-plugin/CHANGELOG.md +++ b/eslint/eslint-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/eslint-plugin -This log was last generated on Tue, 16 Jan 2024 18:30:10 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.15.0 +Wed, 07 Feb 2024 01:11:18 GMT + +### Minor changes + +- Allow using `as const` in `typedef-var` ## 0.14.0 Tue, 16 Jan 2024 18:30:10 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index 6fbfa7c4e8e..9596cb199a8 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.5", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.5", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.4` to `0.64.5`" + } + ] + } + }, { "version": "0.3.4", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.4", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index 49ecdb78ab8..fe37c67cf22 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.3.5 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.3.4 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 00b5b66942a..2e01f8d92ae 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.22", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.22`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.4.21", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.21", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 12a6feda6ef..d2d85b422bc 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.4.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.4.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index 276bd9df6c4..5f58f56335d 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.5", + "tag": "@rushstack/heft-jest-plugin_v0.11.5", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.11.4", "tag": "@rushstack/heft-jest-plugin_v0.11.4", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index 1d121ece994..c7cbd53bdf2 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.11.5 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.11.4 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index 44cc800241b..48131da1e8d 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.5", + "tag": "@rushstack/heft-lint-plugin_v0.3.5", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.4` to `0.64.5`" + } + ] + } + }, { "version": "0.3.4", "tag": "@rushstack/heft-lint-plugin_v0.3.4", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index d275015778f..3e606c88977 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.3.5 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.3.4 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 962571e7189..3ad81ae19cc 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.8", + "tag": "@rushstack/heft-sass-plugin_v0.13.8", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.22`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.13.7", "tag": "@rushstack/heft-sass-plugin_v0.13.7", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index 2eed67678ab..6cd9713e503 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.13.8 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.13.7 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index 54fb4d26b2c..7f8b1d9f718 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.22", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.3.21", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.21", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index 93b1b5a0f57..8b7729ef9a4 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.3.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.3.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 24af66dbac5..8f0ac944bab 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.5.2", + "tag": "@rushstack/heft-storybook-plugin_v0.5.2", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.5.1", "tag": "@rushstack/heft-storybook-plugin_v0.5.1", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index 86b87685141..132b81c3bcf 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.5.2 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.5.1 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index 9940082a4de..654517f07c5 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.5", + "tag": "@rushstack/heft-typescript-plugin_v0.3.5", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.4` to `0.64.5`" + } + ] + } + }, { "version": "0.3.4", "tag": "@rushstack/heft-typescript-plugin_v0.3.4", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 694021c95d0..7aef9ba2e1d 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.3.5 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.3.4 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index 427c1616d68..98f10ed6592 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.22", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.10.21", "tag": "@rushstack/heft-webpack4-plugin_v0.10.21", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index ec87404f39f..5814d50f3f3 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.10.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.10.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index 34737e64508..ffe6d4f2d6b 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.22", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.9.21", "tag": "@rushstack/heft-webpack5-plugin_v0.9.21", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index 876f537adec..68af805c37c 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.9.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.9.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index 2a59fd55efb..8691e840c7f 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.22", + "tag": "@rushstack/debug-certificate-manager_v1.3.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "1.3.21", "tag": "@rushstack/debug-certificate-manager_v1.3.21", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index d8069ce8a46..1f908063db2 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 1.3.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 1.3.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 2410856ed1e..ed3b7e58e3f 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.98", + "tag": "@microsoft/load-themed-styles_v2.0.98", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "2.0.97", "tag": "@microsoft/load-themed-styles_v2.0.97", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index d297ef4734e..410073fe2a9 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 2.0.98 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 2.0.97 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index 2c7b3dc2054..d70bbdbc0b9 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.22", + "tag": "@rushstack/localization-utilities_v0.9.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.9.21", "tag": "@rushstack/localization-utilities_v0.9.21", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index d99585fa0cd..134a9a54b33 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.9.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.9.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index 36ef62dfa07..ec8e04de9ed 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.22", + "tag": "@rushstack/module-minifier_v0.4.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.4.21", "tag": "@rushstack/module-minifier_v0.4.21", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index 8cc55050808..f058890ad2e 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.4.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.4.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index fe22fd0b41e..46273dcee03 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.23", + "tag": "@rushstack/package-deps-hash_v4.1.23", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "4.1.22", "tag": "@rushstack/package-deps-hash_v4.1.22", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index 6a06e499402..ac86f20e27d 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 4.1.23 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 4.1.22 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index 4833b86abdc..24f939b5df3 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.25", + "tag": "@rushstack/package-extractor_v0.6.25", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.22`" + } + ] + } + }, { "version": "0.6.24", "tag": "@rushstack/package-extractor_v0.6.24", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index ba44e3e5c59..c7b3fc3954e 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.6.25 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.6.24 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index c275be523f1..e8ead794869 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.23", + "tag": "@rushstack/stream-collator_v4.1.23", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "4.1.22", "tag": "@rushstack/stream-collator_v4.1.22", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index 2e286927be7..209336ae094 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 4.1.23 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 4.1.22 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index 34381b99f74..4e668f66f38 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.7.22", + "tag": "@rushstack/terminal_v0.7.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.7.21", "tag": "@rushstack/terminal_v0.7.21", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index fc98b920f31..961b80a50fb 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/terminal -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.7.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.7.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 21817b527bb..2835e1295d2 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.22", + "tag": "@rushstack/typings-generator_v0.12.22", + "date": "Wed, 07 Feb 2024 01:11:19 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.12.21", "tag": "@rushstack/typings-generator_v0.12.21", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index 1db16de94b8..84f0df54db5 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. + +## 0.12.22 +Wed, 07 Feb 2024 01:11:19 GMT + +_Version update only_ ## 0.12.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index ad88883ec3b..807db12af73 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.22", + "tag": "@rushstack/worker-pool_v0.4.22", + "date": "Wed, 07 Feb 2024 01:11:19 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.4.21", "tag": "@rushstack/worker-pool_v0.4.21", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index 101d341e12e..a052eaf732c 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. + +## 0.4.22 +Wed, 07 Feb 2024 01:11:19 GMT + +_Version update only_ ## 0.4.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 100bf815da5..ea09c8580f2 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,39 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.7", + "tag": "@rushstack/heft-node-rig_v2.4.7", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.6.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "2.4.6", "tag": "@rushstack/heft-node-rig_v2.4.6", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index e70794e206c..a69416c01a2 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 2.4.7 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 2.4.6 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 64c9bea9491..31dc26025e3 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,45 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.20.7", + "tag": "@rushstack/heft-web-rig_v0.20.7", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.0`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.6.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.4` to `^0.64.5`" + } + ] + } + }, { "version": "0.20.6", "tag": "@rushstack/heft-web-rig_v0.20.6", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index cfc8106119b..48ec0c8e45f 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.20.7 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.20.6 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index 6828c11e702..049f3d72827 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.14", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.14", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "1.0.13", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.13", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index 5ecc8ca6eb8..f9bf8e46efd 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 1.0.14 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 1.0.13 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index 82ffb3aa905..24fecf60b42 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.22", + "tag": "@microsoft/loader-load-themed-styles_v2.1.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.98`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.97` to `^2.0.98`" + } + ] + } + }, { "version": "2.1.21", "tag": "@microsoft/loader-load-themed-styles_v2.1.21", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index d1407a94a45..fc8a3339450 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 2.1.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 2.1.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index 86f363d9a65..8d63f49e285 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.22", + "tag": "@rushstack/loader-raw-script_v1.4.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "1.4.21", "tag": "@rushstack/loader-raw-script_v1.4.21", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index 156fba552fb..3d8463b186b 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 1.4.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 1.4.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index 0678cc0878d..f9c6703ad7c 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.22", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.22", + "date": "Wed, 07 Feb 2024 01:11:19 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.11.21", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.21", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index 0ff18e781c3..05c7bfc2184 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. + +## 0.11.22 +Wed, 07 Feb 2024 01:11:19 GMT + +_Version update only_ ## 0.11.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index d9b86228c49..f827753fc2b 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.6", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.6", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "5.1.5", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.5", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 2f58082df87..7b2f1091163 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 5.1.6 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 5.1.5 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index 78ff847671f..3e696eb75aa 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.23", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.23", + "date": "Wed, 07 Feb 2024 01:11:19 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.2.22", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.22", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index fcc47fe56af..41785418627 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. + +## 0.2.23 +Wed, 07 Feb 2024 01:11:19 GMT + +_Version update only_ ## 0.2.22 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 71f1de9b132..2dd7806e056 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.6", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.6", + "date": "Wed, 07 Feb 2024 01:11:19 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.4.5", "tag": "@rushstack/webpack-plugin-utilities_v0.4.5", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index 87bdbcad712..eb3fdd258d8 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. + +## 0.4.6 +Wed, 07 Feb 2024 01:11:19 GMT + +_Version update only_ ## 0.4.5 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 2d05e9e084e..41ba33a92bd 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.22", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.18.21", "tag": "@rushstack/webpack4-localization-plugin_v0.18.21", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index 0a05f7195a2..ed0fc152302 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.18.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.18.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index cdf87e7d330..7e6fd7f33e2 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.22", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.22`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.13.21", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.21", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 0fc4456973d..dc1d4aa58fe 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.13.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.13.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 54e9238cdc0..899445871c7 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.22", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.98`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.97` to `^2.0.98`" + } + ] + } + }, { "version": "0.2.21", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.21", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 28b8df78a9f..269907646ff 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.2.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.2.21 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index a804c69e335..ddbe4cad4cd 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.7.1", + "tag": "@rushstack/webpack5-localization-plugin_v0.7.1", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + } + ] + } + }, { "version": "0.7.0", "tag": "@rushstack/webpack5-localization-plugin_v0.7.0", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index b22837bc921..01d4a3cd781 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 0.7.1 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 0.7.0 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index fdda1bf56c8..efad0f57cae 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.22", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.22", + "date": "Wed, 07 Feb 2024 01:11:18 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.22`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.5`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.22`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.21", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.21", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index cb83eb28719..ab4e7b09e85 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. + +## 5.5.22 +Wed, 07 Feb 2024 01:11:18 GMT + +_Version update only_ ## 5.5.21 Mon, 05 Feb 2024 23:46:52 GMT From 3c70ff22782791f46ad78331c12976c9bba8c4c8 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Wed, 7 Feb 2024 01:11:21 +0000 Subject: [PATCH 087/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- eslint/eslint-config/package.json | 2 +- eslint/eslint-plugin/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/debug-certificate-manager/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 43 files changed, 57 insertions(+), 57 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index f99bc3c8b8e..c12b9ce2f4f 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.21", + "version": "7.23.22", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index eafdb57ce30..d1d082c764e 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.39.5", + "version": "7.40.0", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index 9b4cb377f56..dc6ce768a68 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.4", + "version": "0.64.5", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 9698a188f1b..3706fced47c 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.21", + "version": "1.2.22", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index f894423623c..17a87c41046 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.21", + "version": "1.1.22", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index e8dc2097fbb..2427eba2d12 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.21", + "version": "0.3.22", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index 4212c6c0774..7ea7159a06a 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.11", + "version": "0.1.12", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/eslint/eslint-config/package.json b/eslint/eslint-config/package.json index db00d1d1cf7..eea1125bb10 100644 --- a/eslint/eslint-config/package.json +++ b/eslint/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-config", - "version": "3.6.2", + "version": "3.6.3", "description": "A TypeScript ESLint ruleset designed for large teams and projects", "license": "MIT", "repository": { diff --git a/eslint/eslint-plugin/package.json b/eslint/eslint-plugin/package.json index ec263b5e62b..2dee7b02fa2 100644 --- a/eslint/eslint-plugin/package.json +++ b/eslint/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-plugin", - "version": "0.14.0", + "version": "0.15.0", "description": "An ESLint plugin providing supplementary rules for use with the @rushstack/eslint-config package", "license": "MIT", "repository": { diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 45f75dadbcd..77df4e5cf47 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.4", + "version": "0.3.5", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.4" + "@rushstack/heft": "0.64.5" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 7f6d0c81112..ee33cd848c5 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.21", + "version": "0.4.22", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index 2ad0210d4bd..cc4bc72c108 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.4", + "version": "0.11.5", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4", + "@rushstack/heft": "^0.64.5", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index fac19ca0e41..1b455c2d231 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.4", + "version": "0.3.5", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.4" + "@rushstack/heft": "0.64.5" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index 86aa31a42a1..62106b02f8e 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.7", + "version": "0.13.8", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index 1c64bdef0eb..cb2094f77aa 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.21", + "version": "0.3.22", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index c34d2df48c4..36d936d1aa4 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.5.1", + "version": "0.5.2", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index 72114360023..0cf736627e9 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.4", + "version": "0.3.5", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.4" + "@rushstack/heft": "0.64.5" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index bfaab911383..b0fa471af52 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.21", + "version": "0.10.22", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.4", + "@rushstack/heft": "^0.64.5", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 99b3c251fa6..5fab12d0b6c 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.21", + "version": "0.9.22", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4", + "@rushstack/heft": "^0.64.5", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 1346049b9b1..6ec9a380cc3 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.21", + "version": "1.3.22", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 38196229325..36079166d20 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.97", + "version": "2.0.98", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 0e9fe0916a5..4420488960a 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.21", + "version": "0.9.22", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index c078435cb3e..4eaa9fc7787 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.21", + "version": "0.4.22", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index e9f9d4b8392..f857e59409c 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.22", + "version": "4.1.23", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index accec3ce8ba..819a438650d 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.24", + "version": "0.6.25", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index 44822346007..80f5142ab04 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.22", + "version": "4.1.23", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index c56a8424dc8..7af2b917097 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.7.21", + "version": "0.7.22", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 8b8c885e485..3207601a71d 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.21", + "version": "0.12.22", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 186ea9002f5..41cc1162862 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.21", + "version": "0.4.22", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index a0a107605ab..68442bad0e5 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.6", + "version": "2.4.7", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 88eb233efd4..f10a09fa25b 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.6", + "version": "0.20.7", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.4" + "@rushstack/heft": "^0.64.5" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 96a0c2c141a..4ff14e0628e 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.13", + "version": "1.0.14", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 98f9d9131bc..5cbe8eb930e 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.21", + "version": "2.1.22", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.97" + "@microsoft/load-themed-styles": "^2.0.98" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index 9a9f726712a..e32bac906fb 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.21", + "version": "1.4.22", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index e4e3941fca2..5546a8df531 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.21", + "version": "0.11.22", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 999d3af76bf..210d7e08de1 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.5", + "version": "5.1.6", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index 22931065d03..a8590f11e30 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.22", + "version": "0.2.23", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 197df2433b4..c4f020930b5 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.5", + "version": "0.4.6", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 109bc55ac83..0288d0d41fe 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.21", + "version": "0.18.22", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index 517b2900fff..f6dd8ff0379 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.21", + "version": "0.13.22", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index 961afbbddf5..dbaab00ead7 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.21", + "version": "0.2.22", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.97", + "@microsoft/load-themed-styles": "^2.0.98", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index f6a6b491885..6aa11d9e611 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.7.0", + "version": "0.7.1", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 678eccf7ebf..ee7e5f12cce 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.21", + "version": "5.5.22", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From 16fef019c86679443d6ab9fcad4c2b8db85816dc Mon Sep 17 00:00:00 2001 From: Rushbot Date: Thu, 8 Feb 2024 01:09:22 +0000 Subject: [PATCH 088/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 18 ++++++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/api-extractor/CHANGELOG.json | 15 ++++++++ apps/api-extractor/CHANGELOG.md | 7 +++- apps/heft/CHANGELOG.json | 21 +++++++++++ apps/heft/CHANGELOG.md | 7 +++- apps/lockfile-explorer/CHANGELOG.json | 15 ++++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 15 ++++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 15 ++++++++ apps/trace-import/CHANGELOG.md | 7 +++- ...e-failure-gracefully_2024-01-29-14-13.json | 10 ------ ...e-failure-gracefully_2024-01-29-21-11.json | 10 ------ eslint/eslint-bulk/CHANGELOG.json | 12 +++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- .../heft-api-extractor-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 21 +++++++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 21 +++++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 27 ++++++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 24 +++++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- libraries/api-extractor-model/CHANGELOG.json | 12 +++++++ libraries/api-extractor-model/CHANGELOG.md | 7 +++- .../debug-certificate-manager/CHANGELOG.json | 15 ++++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/heft-config-file/CHANGELOG.json | 12 +++++++ libraries/heft-config-file/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 +++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 18 ++++++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 ++++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/node-core-library/CHANGELOG.json | 17 +++++++++ libraries/node-core-library/CHANGELOG.md | 13 ++++++- libraries/operation-graph/CHANGELOG.json | 12 +++++++ libraries/operation-graph/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 15 ++++++++ libraries/package-deps-hash/CHANGELOG.md | 7 +++- libraries/package-extractor/CHANGELOG.json | 24 +++++++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 18 ++++++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/terminal/CHANGELOG.json | 15 ++++++++ libraries/terminal/CHANGELOG.md | 7 +++- libraries/typings-generator/CHANGELOG.json | 15 ++++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 +++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 30 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 36 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 ++++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 ++++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 +++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 +++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- 92 files changed, 1091 insertions(+), 65 deletions(-) delete mode 100644 common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json delete mode 100644 common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index a7d04d617a4..9ca3d135a20 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.23", + "tag": "@microsoft/api-documenter_v7.23.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "7.23.22", "tag": "@microsoft/api-documenter_v7.23.22", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index d1f8f3aa96f..aaa26c781ae 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 7.23.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 7.23.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index 202f9614304..b2cf94392ae 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.40.1", + "tag": "@microsoft/api-extractor_v7.40.1", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + } + ] + } + }, { "version": "7.40.0", "tag": "@microsoft/api-extractor_v7.40.0", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index c89cdbf7450..b47ea08236f 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 7.40.1 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 7.40.0 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 660e2f52c6f..df26e6d1150 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.64.6", + "tag": "@rushstack/heft_v0.64.6", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/operation-graph\" to `0.2.8`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + } + ] + } + }, { "version": "0.64.5", "tag": "@rushstack/heft_v0.64.5", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index 912ab7a13ef..b6a283119b5 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.64.6 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.64.5 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 06ef65b0fca..db6fdc92213 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.23", + "tag": "@rushstack/lockfile-explorer_v1.2.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "1.2.22", "tag": "@rushstack/lockfile-explorer_v1.2.22", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index 9b94c4bf1ef..72c150a2397 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 1.2.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 1.2.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index 55ade15c219..a882fbcfb1c 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.23", + "tag": "@rushstack/rundown_v1.1.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "1.1.22", "tag": "@rushstack/rundown_v1.1.22", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index 1b2156f1e31..cb8ea3b3e8a 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 1.1.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 1.1.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index 135b6e8597f..6afad3653ba 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.23", + "tag": "@rushstack/trace-import_v0.3.23", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.3.22", "tag": "@rushstack/trace-import_v0.3.22", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index c4b0766f600..16294c06410 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.3.23 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.3.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json deleted file mode 100644 index cb02a3778ad..00000000000 --- a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-14-13.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "LockFile: prevent accidentaly deleting freshly created lockfile when multiple processes try to acquire the same lock on macOS/Linux", - "type": "patch" - } - ], - "packageName": "@rushstack/node-core-library" -} diff --git a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json b/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json deleted file mode 100644 index 35170aba73a..00000000000 --- a/common/changes/@rushstack/node-core-library/feature-lockfile-handle-failure-gracefully_2024-01-29-21-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "Add getStatistics() method to FileWriter instances", - "type": "minor" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index 8b304f81b4b..75022c1db63 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.13", + "tag": "@rushstack/eslint-bulk_v0.1.13", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.1.12", "tag": "@rushstack/eslint-bulk_v0.1.12", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index 418a46e943a..82417b76121 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.1.13 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.1.12 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index 9596cb199a8..ebedf6e9949 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.6", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.6", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.5` to `0.64.6`" + } + ] + } + }, { "version": "0.3.5", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.5", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index fe37c67cf22..f47ba34bead 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.3.6 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.3.5 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 2e01f8d92ae..1cee2e0eb1e 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.23", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.23`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.4.22", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.22", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index d2d85b422bc..07da6a09bee 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.4.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.4.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index 5f58f56335d..3f3f345e969 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.6", + "tag": "@rushstack/heft-jest-plugin_v0.11.6", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.11.5", "tag": "@rushstack/heft-jest-plugin_v0.11.5", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index c7cbd53bdf2..447fe2703aa 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.11.6 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.11.5 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index 48131da1e8d..91ae0aa456a 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.6", + "tag": "@rushstack/heft-lint-plugin_v0.3.6", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.5` to `0.64.6`" + } + ] + } + }, { "version": "0.3.5", "tag": "@rushstack/heft-lint-plugin_v0.3.5", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index 3e606c88977..a5de202ac25 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.3.6 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.3.5 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 3ad81ae19cc..0a6e0b03c6c 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.9", + "tag": "@rushstack/heft-sass-plugin_v0.13.9", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.9`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.23`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.13.8", "tag": "@rushstack/heft-sass-plugin_v0.13.8", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index 6cd9713e503..f934fba3c84 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.13.9 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.13.8 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index 7f8b1d9f718..c9de7e05a02 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.23", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.3.22", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.22", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index 8b7729ef9a4..a5d8dbcc44d 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.3.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.3.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 8f0ac944bab..130974b0729 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.5.3", + "tag": "@rushstack/heft-storybook-plugin_v0.5.3", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.5.2", "tag": "@rushstack/heft-storybook-plugin_v0.5.2", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index 132b81c3bcf..ba2a9aa10d1 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.5.3 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.5.2 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index 654517f07c5..cadcf73ccb1 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.6", + "tag": "@rushstack/heft-typescript-plugin_v0.3.6", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.5` to `0.64.6`" + } + ] + } + }, { "version": "0.3.5", "tag": "@rushstack/heft-typescript-plugin_v0.3.5", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 7aef9ba2e1d..3ef4e3d8389 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.3.6 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.3.5 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index 98f10ed6592..b93fe9d8203 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.23", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.23`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.10.22", "tag": "@rushstack/heft-webpack4-plugin_v0.10.22", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index 5814d50f3f3..5a611943b6f 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.10.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.10.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index ffe6d4f2d6b..e54b3180d5b 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.23", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.23`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.9.22", "tag": "@rushstack/heft-webpack5-plugin_v0.9.22", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index 68af805c37c..a8c170984a1 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.9.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.9.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/api-extractor-model/CHANGELOG.json b/libraries/api-extractor-model/CHANGELOG.json index 504d36c47a8..9e9ff71bb7c 100644 --- a/libraries/api-extractor-model/CHANGELOG.json +++ b/libraries/api-extractor-model/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-extractor-model", "entries": [ + { + "version": "7.28.9", + "tag": "@microsoft/api-extractor-model_v7.28.9", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + } + ] + } + }, { "version": "7.28.8", "tag": "@microsoft/api-extractor-model_v7.28.8", diff --git a/libraries/api-extractor-model/CHANGELOG.md b/libraries/api-extractor-model/CHANGELOG.md index 19202a4a0bf..b8e02103471 100644 --- a/libraries/api-extractor-model/CHANGELOG.md +++ b/libraries/api-extractor-model/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor-model -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 7.28.9 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 7.28.8 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index 8691e840c7f..2ee28ad566d 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.23", + "tag": "@rushstack/debug-certificate-manager_v1.3.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "1.3.22", "tag": "@rushstack/debug-certificate-manager_v1.3.22", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index 1f908063db2..858512de638 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 1.3.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 1.3.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/heft-config-file/CHANGELOG.json b/libraries/heft-config-file/CHANGELOG.json index fc033d3e607..f64f23ee055 100644 --- a/libraries/heft-config-file/CHANGELOG.json +++ b/libraries/heft-config-file/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft-config-file", "entries": [ + { + "version": "0.14.9", + "tag": "@rushstack/heft-config-file_v0.14.9", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + } + ] + } + }, { "version": "0.14.8", "tag": "@rushstack/heft-config-file_v0.14.8", diff --git a/libraries/heft-config-file/CHANGELOG.md b/libraries/heft-config-file/CHANGELOG.md index 7e8450cd394..993a1be9f23 100644 --- a/libraries/heft-config-file/CHANGELOG.md +++ b/libraries/heft-config-file/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-config-file -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.14.9 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.14.8 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index ed3b7e58e3f..013cafc2bec 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.99", + "tag": "@microsoft/load-themed-styles_v2.0.99", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "2.0.98", "tag": "@microsoft/load-themed-styles_v2.0.98", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index 410073fe2a9..f5c8cfce7b3 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 2.0.99 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 2.0.98 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index d70bbdbc0b9..ee7ee0370b7 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.23", + "tag": "@rushstack/localization-utilities_v0.9.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.9.22", "tag": "@rushstack/localization-utilities_v0.9.22", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index 134a9a54b33..55555e727fa 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.9.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.9.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index ec8e04de9ed..b8480c7ed68 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.23", + "tag": "@rushstack/module-minifier_v0.4.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.4.22", "tag": "@rushstack/module-minifier_v0.4.22", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index f058890ad2e..1cf25de0b27 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.4.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.4.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/node-core-library/CHANGELOG.json b/libraries/node-core-library/CHANGELOG.json index 148fdffaa96..ae29190448f 100644 --- a/libraries/node-core-library/CHANGELOG.json +++ b/libraries/node-core-library/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/node-core-library", "entries": [ + { + "version": "3.66.0", + "tag": "@rushstack/node-core-library_v3.66.0", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "patch": [ + { + "comment": "LockFile: prevent accidentaly deleting freshly created lockfile when multiple processes try to acquire the same lock on macOS/Linux" + } + ], + "minor": [ + { + "comment": "Add getStatistics() method to FileWriter instances" + } + ] + } + }, { "version": "3.65.0", "tag": "@rushstack/node-core-library_v3.65.0", diff --git a/libraries/node-core-library/CHANGELOG.md b/libraries/node-core-library/CHANGELOG.md index c27b9b3d1ba..a3838dc0ec0 100644 --- a/libraries/node-core-library/CHANGELOG.md +++ b/libraries/node-core-library/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log - @rushstack/node-core-library -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 3.66.0 +Thu, 08 Feb 2024 01:09:21 GMT + +### Minor changes + +- Add getStatistics() method to FileWriter instances + +### Patches + +- LockFile: prevent accidentaly deleting freshly created lockfile when multiple processes try to acquire the same lock on macOS/Linux ## 3.65.0 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/operation-graph/CHANGELOG.json b/libraries/operation-graph/CHANGELOG.json index 8b882cd9989..b82680a43b4 100644 --- a/libraries/operation-graph/CHANGELOG.json +++ b/libraries/operation-graph/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/operation-graph", "entries": [ + { + "version": "0.2.8", + "tag": "@rushstack/operation-graph_v0.2.8", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + } + ] + } + }, { "version": "0.2.7", "tag": "@rushstack/operation-graph_v0.2.7", diff --git a/libraries/operation-graph/CHANGELOG.md b/libraries/operation-graph/CHANGELOG.md index b83907fbbf7..a8666bd2af4 100644 --- a/libraries/operation-graph/CHANGELOG.md +++ b/libraries/operation-graph/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/operation-graph -This log was last generated on Mon, 05 Feb 2024 23:46:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.2.8 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.2.7 Mon, 05 Feb 2024 23:46:52 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index 46273dcee03..a2f1768253b 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.24", + "tag": "@rushstack/package-deps-hash_v4.1.24", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "4.1.23", "tag": "@rushstack/package-deps-hash_v4.1.23", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index ac86f20e27d..af81ac2569a 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 4.1.24 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 4.1.23 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index 24f939b5df3..85a9b2490ca 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.26", + "tag": "@rushstack/package-extractor_v0.6.26", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.23`" + } + ] + } + }, { "version": "0.6.25", "tag": "@rushstack/package-extractor_v0.6.25", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index c7b3fc3954e..5e61edea8fa 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.6.26 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.6.25 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index e8ead794869..10df65c1bf1 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.24", + "tag": "@rushstack/stream-collator_v4.1.24", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "4.1.23", "tag": "@rushstack/stream-collator_v4.1.23", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index 209336ae094..d339709219b 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 4.1.24 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 4.1.23 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index 4e668f66f38..b1b887c99c9 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.7.23", + "tag": "@rushstack/terminal_v0.7.23", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.7.22", "tag": "@rushstack/terminal_v0.7.22", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index 961b80a50fb..f1fba0f41eb 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/terminal -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.7.23 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.7.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 2835e1295d2..ce55f218821 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.23", + "tag": "@rushstack/typings-generator_v0.12.23", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.12.22", "tag": "@rushstack/typings-generator_v0.12.22", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index 84f0df54db5..a0316566016 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.12.23 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.12.22 Wed, 07 Feb 2024 01:11:19 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index 807db12af73..eb87d72395d 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.23", + "tag": "@rushstack/worker-pool_v0.4.23", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.4.22", "tag": "@rushstack/worker-pool_v0.4.22", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index a052eaf732c..aeee6dbcbbd 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.4.23 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.4.22 Wed, 07 Feb 2024 01:11:19 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index ea09c8580f2..04ec9450fdf 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,36 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.8", + "tag": "@rushstack/heft-node-rig_v2.4.8", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "2.4.7", "tag": "@rushstack/heft-node-rig_v2.4.7", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index a69416c01a2..eccf7527a40 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 2.4.8 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 2.4.7 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 31dc26025e3..700fa64753e 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,42 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.20.8", + "tag": "@rushstack/heft-web-rig_v0.20.8", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.5` to `^0.64.6`" + } + ] + } + }, { "version": "0.20.7", "tag": "@rushstack/heft-web-rig_v0.20.7", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 48ec0c8e45f..4d7f53ff8f8 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.20.8 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.20.7 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index 049f3d72827..b9fb7963b84 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.15", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.15", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "1.0.14", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.14", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index f9bf8e46efd..b3d5a3d479f 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 1.0.15 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 1.0.14 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index 24fecf60b42..bcb118562ad 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.23", + "tag": "@microsoft/loader-load-themed-styles_v2.1.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.99`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.98` to `^2.0.99`" + } + ] + } + }, { "version": "2.1.22", "tag": "@microsoft/loader-load-themed-styles_v2.1.22", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index fc8a3339450..fc6b70a7ac0 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 2.1.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 2.1.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index 8d63f49e285..ac39944c6fa 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.23", + "tag": "@rushstack/loader-raw-script_v1.4.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "1.4.22", "tag": "@rushstack/loader-raw-script_v1.4.22", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index 3d8463b186b..ae87b0eaa37 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 1.4.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 1.4.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index f9c6703ad7c..7c9373d253a 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.23", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.23", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.11.22", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.22", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index 05c7bfc2184..ac545a32c5b 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.11.23 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.11.22 Wed, 07 Feb 2024 01:11:19 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index f827753fc2b..077e31e8d05 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.7", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.7", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "5.1.6", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.6", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 7b2f1091163..92a1302e888 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 5.1.7 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 5.1.6 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index 3e696eb75aa..ae9b076da34 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.24", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.24", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.2.23", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.23", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index 41785418627..6bbbb39aa02 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.2.24 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.2.23 Wed, 07 Feb 2024 01:11:19 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 2dd7806e056..3b0e20ae07d 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.7", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.7", + "date": "Thu, 08 Feb 2024 01:09:22 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.4.6", "tag": "@rushstack/webpack-plugin-utilities_v0.4.6", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index eb3fdd258d8..46c39f1bd80 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Wed, 07 Feb 2024 01:11:19 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. + +## 0.4.7 +Thu, 08 Feb 2024 01:09:22 GMT + +_Version update only_ ## 0.4.6 Wed, 07 Feb 2024 01:11:19 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 41ba33a92bd..7d255f07edc 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.23", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.18.22", "tag": "@rushstack/webpack4-localization-plugin_v0.18.22", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index ed0fc152302..c9dce18af11 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.18.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.18.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index 7e6fd7f33e2..5a834a18afc 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.23", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.23`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.13.22", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.22", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index dc1d4aa58fe..4687d70bb0c 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.13.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.13.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 899445871c7..063535c6a5d 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.23", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.99`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.98` to `^2.0.99`" + } + ] + } + }, { "version": "0.2.22", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.22", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 269907646ff..01914652f17 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.2.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.2.22 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index ddbe4cad4cd..9a34ef2f155 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.7.2", + "tag": "@rushstack/webpack5-localization-plugin_v0.7.2", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.23`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + } + ] + } + }, { "version": "0.7.1", "tag": "@rushstack/webpack5-localization-plugin_v0.7.1", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index 01d4a3cd781..3cf4e2dc30f 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 0.7.2 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 0.7.1 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index efad0f57cae..da9499fffee 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.23", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.23", + "date": "Thu, 08 Feb 2024 01:09:21 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.23`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.6`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.23`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.22", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.22", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index ab4e7b09e85..78ff7dd7138 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. + +## 5.5.23 +Thu, 08 Feb 2024 01:09:21 GMT + +_Version update only_ ## 5.5.22 Wed, 07 Feb 2024 01:11:18 GMT From 8e8a059bd5b9bc01fedad859ff86d95c57481751 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Thu, 8 Feb 2024 01:09:24 +0000 Subject: [PATCH 089/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/api-extractor-model/package.json | 2 +- libraries/debug-certificate-manager/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 45 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index c12b9ce2f4f..4fedb76e9f8 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.22", + "version": "7.23.23", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index d1d082c764e..0f63e7ea0f0 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.40.0", + "version": "7.40.1", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index dc6ce768a68..894ac46fda5 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.5", + "version": "0.64.6", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 3706fced47c..05cc1432684 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.22", + "version": "1.2.23", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index 17a87c41046..366396a3167 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.22", + "version": "1.1.23", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index 2427eba2d12..b122f2bc1d3 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.22", + "version": "0.3.23", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index 7ea7159a06a..d12ab834a36 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.12", + "version": "0.1.13", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 77df4e5cf47..d46838226ca 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.5", + "version": "0.3.6", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.5" + "@rushstack/heft": "0.64.6" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index ee33cd848c5..f0d339c8813 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.22", + "version": "0.4.23", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index cc4bc72c108..e1ed7fb66db 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.5", + "version": "0.11.6", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5", + "@rushstack/heft": "^0.64.6", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index 1b455c2d231..ba9483f47ab 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.5", + "version": "0.3.6", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.5" + "@rushstack/heft": "0.64.6" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index 62106b02f8e..208540641b3 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.8", + "version": "0.13.9", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index cb2094f77aa..84b41187e4c 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.22", + "version": "0.3.23", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index 36d936d1aa4..13a21a3fb3a 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.5.2", + "version": "0.5.3", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index 0cf736627e9..f1393268948 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.5", + "version": "0.3.6", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.5" + "@rushstack/heft": "0.64.6" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index b0fa471af52..111d2b8c447 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.22", + "version": "0.10.23", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.5", + "@rushstack/heft": "^0.64.6", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 5fab12d0b6c..811acfb1742 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.22", + "version": "0.9.23", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5", + "@rushstack/heft": "^0.64.6", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index ca72b799caf..53673cfd345 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor-model", - "version": "7.28.8", + "version": "7.28.9", "description": "A helper library for loading and saving the .api.json files created by API Extractor", "repository": { "type": "git", diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 6ec9a380cc3..083a29b5b2f 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.22", + "version": "1.3.23", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index 2a6aca53c11..a77809b3614 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-config-file", - "version": "0.14.8", + "version": "0.14.9", "description": "Configuration file loader for @rushstack/heft", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 36079166d20..7383cd6ea36 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.98", + "version": "2.0.99", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 4420488960a..2d635fd1ed3 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.22", + "version": "0.9.23", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index 4eaa9fc7787..4373659982a 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.22", + "version": "0.4.23", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 7019badfda3..6a5ab3c7617 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/node-core-library", - "version": "3.65.0", + "version": "3.66.0", "description": "Core libraries that every NodeJS toolchain project should use", "main": "lib/index.js", "typings": "dist/node-core-library.d.ts", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 3af937a3603..4a222e5f0f2 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/operation-graph", - "version": "0.2.7", + "version": "0.2.8", "description": "Library for managing and executing operations in a directed acyclic graph.", "main": "lib/index.js", "typings": "dist/operation-graph.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index f857e59409c..c9e2f34c511 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.23", + "version": "4.1.24", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index 819a438650d..f1998b6d6d8 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.25", + "version": "0.6.26", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index 80f5142ab04..d5b75b0aca9 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.23", + "version": "4.1.24", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index 7af2b917097..56acfa06eb8 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.7.22", + "version": "0.7.23", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 3207601a71d..5e5bee776b4 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.22", + "version": "0.12.23", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 41cc1162862..057826bf081 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.22", + "version": "0.4.23", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 68442bad0e5..204b7a3961b 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.7", + "version": "2.4.8", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index f10a09fa25b..3055ca29870 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.7", + "version": "0.20.8", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.5" + "@rushstack/heft": "^0.64.6" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 4ff14e0628e..99b5344a179 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.14", + "version": "1.0.15", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 5cbe8eb930e..8a84fc28d63 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.22", + "version": "2.1.23", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.98" + "@microsoft/load-themed-styles": "^2.0.99" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index e32bac906fb..0b8f29c361d 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.22", + "version": "1.4.23", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index 5546a8df531..b88e97acbb3 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.22", + "version": "0.11.23", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 210d7e08de1..8991940b731 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.6", + "version": "5.1.7", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index a8590f11e30..34eb2672521 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.23", + "version": "0.2.24", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index c4f020930b5..449cb054348 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.6", + "version": "0.4.7", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 0288d0d41fe..1b7533ce7e4 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.22", + "version": "0.18.23", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index f6dd8ff0379..271025fb9cd 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.22", + "version": "0.13.23", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index dbaab00ead7..7729ad11617 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.22", + "version": "0.2.23", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.98", + "@microsoft/load-themed-styles": "^2.0.99", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 6aa11d9e611..da1fbe4eb94 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.7.1", + "version": "0.7.2", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index ee7e5f12cce..693c33a9e33 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.22", + "version": "5.5.23", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From 470f051d2999207c4164cb7bb09ba170c63e6352 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 9 Feb 2024 19:58:16 -0500 Subject: [PATCH 090/180] Add support for output.hashSalt. --- .../hash-salt_2024-02-10-00-58.json | 10 +++++++++ .../src/trueHashes.ts | 21 +++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json diff --git a/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json b/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json new file mode 100644 index 00000000000..9f6bf9f05bd --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Add support for the `output.hashSalt` option when the `realContentHashes` feature is enabled.", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file diff --git a/webpack/webpack5-localization-plugin/src/trueHashes.ts b/webpack/webpack5-localization-plugin/src/trueHashes.ts index 2df2555a1a9..5c2843168f1 100644 --- a/webpack/webpack5-localization-plugin/src/trueHashes.ts +++ b/webpack/webpack5-localization-plugin/src/trueHashes.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { default as webpack, Compilation, Chunk, Asset, sources } from 'webpack'; +import type { default as webpack, Compilation, Chunk, Asset, sources, util } from 'webpack'; import { Text } from '@rushstack/node-core-library'; import type { ILocalizedWebpackChunk } from './webpackInterfaces'; @@ -11,6 +11,8 @@ interface IHashReplacement { trueHashByLocale: string | Record | undefined; } +type WebpackHash = ReturnType; + export type HashFn = (contents: string | Buffer) => string; export interface IGetHashFunctionOptions { @@ -19,14 +21,15 @@ export interface IGetHashFunctionOptions { } export function getHashFunction({ thisWebpack, compilation }: IGetHashFunctionOptions): HashFn { - const { hashFunction = 'md5', hashDigest = 'hex', hashDigestLength } = compilation.outputOptions; - return (contents: string | Buffer) => - thisWebpack.util - .createHash(hashFunction) - .update(contents) - .digest(hashDigest) - .toString() - .slice(0, hashDigestLength); + const { hashFunction = 'md5', hashDigest = 'hex', hashDigestLength, hashSalt } = compilation.outputOptions; + return (contents: string | Buffer) => { + const hash: WebpackHash = thisWebpack.util.createHash(hashFunction); + if (hashSalt) { + hash.update(hashSalt, 'utf-8'); + } + + return hash.update(contents).digest(hashDigest).toString().slice(0, hashDigestLength); + }; } export interface IUpdateAssetHashesOptions { From b903f871ff0b1b4153f88ec337a59c890e528a8d Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 9 Feb 2024 20:01:31 -0500 Subject: [PATCH 091/180] Add a test for hashSalt. --- .../src/test/MixedAsync.test.ts | 3 +- .../__snapshots__/MixedAsync.test.ts.snap | 60 +++++++++---------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts index 22cfa2f8169..734999a647e 100644 --- a/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/MixedAsync.test.ts @@ -65,7 +65,8 @@ async function testMixedAsyncInner(minimize: boolean): Promise { output: { path: '/release', filename: '[name]-[locale]-[contenthash].js', - chunkFilename: 'chunks/[name]-[locale]-[contenthash].js' + chunkFilename: 'chunks/[name]-[locale]-[contenthash].js', + hashSalt: '1' }, module: { rules: [ diff --git a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap index 572ce5fea63..f092c2e0e53 100644 --- a/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap +++ b/webpack/webpack5-localization-plugin/src/test/__snapshots__/MixedAsync.test.ts.snap @@ -2,14 +2,14 @@ exports[`LocalizationPlugin Handles async localized and non-localized chunks (minified): Content 1`] = ` Object { - "/release/chunks/async1-none-601040199af8b30e4f45.js": "(self.webpackChunk=self.webpackChunk||[]).push([[515],{\\"./a/async1.js\\":()=>{console.log(\\"blah1\\")}}]);", - "/release/chunks/async2-none-e2b5ccff78b9ee8b0269.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", - "/release/chunks/asyncLoc1-LOCALE1-168f848b770aa62ad17d.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc1-LOCALE2-14e0a3b5691b9628be91.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE1-e442ade75ccc8ccb7d2f.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", - "/release/chunks/asyncLoc2-LOCALE2-fd29172ccf479e97aa94.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", - "/release/main-LOCALE1-3cbc930b5f99a71a9557.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"-\\"+{5:\\"e442ade75ccc8ccb7d2f\\",14:\\"168f848b770aa62ad17d\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"-\\"+{5:\\"fd29172ccf479e97aa94\\",14:\\"14e0a3b5691b9628be91\\",515:\\"601040199af8b30e4f45\\",989:\\"e2b5ccff78b9ee8b0269\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),u=0;u{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,u=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);u{console.log(\\"blah1\\")}}]);", + "/release/chunks/async2-none-a3af93683846f20fd06d.js": "(self.webpackChunk=self.webpackChunk||[]).push([[989],{\\"./a/async2.js\\":()=>{console.log(\\"blah2\\")}}]);", + "/release/chunks/asyncLoc1-LOCALE1-42ac7deedbceee724ebe.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc1-LOCALE2-9569ed1013c7d99991f0.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[14],{\\"./a/asyncLoc1.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test,t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE1-fbbf37c75a89cefa3a8b.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"blah\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"something else\\"}}}]);", + "/release/chunks/asyncLoc2-LOCALE2-6f7d6cb21f686f18a3de.js": "\\"use strict\\";(self.webpackChunk=self.webpackChunk||[]).push([[5],{\\"./a/asyncLoc2.js\\":(s,_,n)=>{n.r(_);var o=n(\\"./a/strings1.loc.json\\"),t=n(\\"./a/strings2.loc.json\\");console.log(o.Z.test+t.Z.another)},\\"./a/strings1.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={test:\\"baz\\"}},\\"./a/strings2.loc.json\\":(s,_,n)=>{n.d(_,{Z:()=>o});const o={another:\\"some random translation\\"}}}]);", + "/release/main-LOCALE1-db5fee2775538b16fa56.js": "(()=>{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE1\\":\\"none\\")+\\"-\\"+{5:\\"fbbf37c75a89cefa3a8b\\",14:\\"42ac7deedbceee724ebe\\",515:\\"cae03d2626cc2ffa3508\\",989:\\"a3af93683846f20fd06d\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),f=0;f{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,f=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);f{var e,r,t,n={},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,a),t.exports}a.m=n,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if(\\"object\\"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&\\"function\\"==typeof t.then)return t}var o=Object.create(null);a.r(o);var i={};e=e||[null,r({}),r([]),r(r)];for(var c=2&n&&t;\\"object\\"==typeof c&&!~e.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,a.d(o,i),o},a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>\\"chunks/\\"+{5:\\"asyncLoc2\\",14:\\"asyncLoc1\\",515:\\"async1\\",989:\\"async2\\"}[e]+\\"-\\"+({5:1,14:1}[e]?\\"LOCALE2\\":\\"none\\")+\\"-\\"+{5:\\"6f7d6cb21f686f18a3de\\",14:\\"9569ed1013c7d99991f0\\",515:\\"cae03d2626cc2ffa3508\\",989:\\"a3af93683846f20fd06d\\"}[e]+\\".js\\",a.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a.l=(e,r,n,o)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==n)for(var s=document.getElementsByTagName(\\"script\\"),f=0;f{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(l.bind(null,void 0,{type:\\"timeout\\",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),c&&document.head.appendChild(i)}},a.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+\\"\\");var r=a.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),a.p=e})(),(()=>{var e={179:0};a.f.j=(r,t)=>{var n=a.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=a.p+a.u(r),c=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&(\\"load\\"===t.type?\\"missing\\":t.type),i=t&&t.target&&t.target.src;c.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+o+\\": \\"+i+\\")\\",c.name=\\"ChunkLoadError\\",c.type=o,c.request=i,n[1](c)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{var n,o,[i,c,s]=t,f=0;if(i.some((r=>0!==e[r]))){for(n in c)a.o(c,n)&&(a.m[n]=c[n]);s&&s(a)}for(r&&r(t);f { @@ -56,7 +56,7 @@ console.log(\\"blah1\\"); /***/ }) }]);", - "/release/chunks/async2-none-41294aefa7aff57927d4.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ + "/release/chunks/async2-none-c9e2b0fb2741b17cb7ae.js": "(self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[989],{ /***/ \\"./a/async2.js\\": /***/ (() => { @@ -66,7 +66,7 @@ console.log(\\"blah2\\"); /***/ }) }]);", - "/release/chunks/asyncLoc1-LOCALE1-40f629a47fce31f71795.js": "\\"use strict\\"; + "/release/chunks/asyncLoc1-LOCALE1-0e3f6d729d9a8d850e0d.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ /***/ \\"./a/asyncLoc1.js\\": @@ -102,7 +102,7 @@ const strings = {\\"another\\":\\"something else\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc1-LOCALE2-47968ebc87e0937a22bc.js": "\\"use strict\\"; + "/release/chunks/asyncLoc1-LOCALE2-2eebf33f2db768152544.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[14],{ /***/ \\"./a/asyncLoc1.js\\": @@ -138,7 +138,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc2-LOCALE1-e928396bee55883d3b7a.js": "\\"use strict\\"; + "/release/chunks/asyncLoc2-LOCALE1-862fa13951f910022c37.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ /***/ \\"./a/asyncLoc2.js\\": @@ -174,7 +174,7 @@ const strings = {\\"another\\":\\"something else\\"}; /***/ }) }]);", - "/release/chunks/asyncLoc2-LOCALE2-92ed268b2fc76b31ee2a.js": "\\"use strict\\"; + "/release/chunks/asyncLoc2-LOCALE2-c21e197905c17fe34ef7.js": "\\"use strict\\"; (self[\\"webpackChunk\\"] = self[\\"webpackChunk\\"] || []).push([[5],{ /***/ \\"./a/asyncLoc2.js\\": @@ -210,7 +210,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /***/ }) }]);", - "/release/main-LOCALE1-53cd5b4b8031fdd624b7.js": "/******/ (() => { // webpackBootstrap + "/release/main-LOCALE1-8345e579c701b1d78cf4.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -301,7 +301,7 @@ const strings = {\\"another\\":\\"some random translation\\"}; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"e928396bee55883d3b7a\\",\\"14\\":\\"40f629a47fce31f71795\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE1\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"862fa13951f910022c37\\",\\"14\\":\\"0e3f6d729d9a8d850e0d\\",\\"515\\":\\"38a5bffea2da0af62512\\",\\"989\\":\\"c9e2b0fb2741b17cb7ae\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -496,7 +496,7 @@ var __webpack_exports__ = {}; __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc1.js\\"));__webpack_require__.e(/* import() | asyncLoc2 */ 5).then(__webpack_require__.bind(__webpack_require__, \\"./a/asyncLoc2.js\\"));__webpack_require__.e(/* import() | async1 */ 515).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async1.js\\", 23));__webpack_require__.e(/* import() | async2 */ 989).then(__webpack_require__.t.bind(__webpack_require__, \\"./a/async2.js\\", 23)); /******/ })() ;", - "/release/main-LOCALE2-b233e0d532d0327ed6a8.js": "/******/ (() => { // webpackBootstrap + "/release/main-LOCALE2-9f3e7cd89069987e6049.js": "/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({}); /************************************************************************/ /******/ // The module cache @@ -587,7 +587,7 @@ __webpack_require__.e(/* import() | asyncLoc1 */ 14).then(__webpack_require__.bi /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"92ed268b2fc76b31ee2a\\",\\"14\\":\\"47968ebc87e0937a22bc\\",\\"515\\":\\"e1cb569a2a326e82328e\\",\\"989\\":\\"41294aefa7aff57927d4\\"}[chunkId] + \\".js\\"; +/******/ return \\"chunks/\\" + {\\"5\\":\\"asyncLoc2\\",\\"14\\":\\"asyncLoc1\\",\\"515\\":\\"async1\\",\\"989\\":\\"async2\\"}[chunkId] + \\"-\\" + ({\\"5\\":1,\\"14\\":1}[chunkId]?\\"LOCALE2\\":\\"none\\") + \\"-\\" + {\\"5\\":\\"c21e197905c17fe34ef7\\",\\"14\\":\\"2eebf33f2db768152544\\",\\"515\\":\\"38a5bffea2da0af62512\\",\\"989\\":\\"c9e2b0fb2741b17cb7ae\\"}[chunkId] + \\".js\\"; /******/ }; /******/ })(); /******/ @@ -792,22 +792,22 @@ Object { "entrypoints": Object { "main": Object { "localizedAssets": Object { - "LOCALE1": "main-LOCALE1-53cd5b4b8031fdd624b7.js", - "LOCALE2": "main-LOCALE2-b233e0d532d0327ed6a8.js", + "LOCALE1": "main-LOCALE1-8345e579c701b1d78cf4.js", + "LOCALE2": "main-LOCALE2-9f3e7cd89069987e6049.js", }, }, }, "namedChunkGroups": Object { "asyncLoc1": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc1-LOCALE1-40f629a47fce31f71795.js", - "LOCALE2": "chunks/asyncLoc1-LOCALE2-47968ebc87e0937a22bc.js", + "LOCALE1": "chunks/asyncLoc1-LOCALE1-0e3f6d729d9a8d850e0d.js", + "LOCALE2": "chunks/asyncLoc1-LOCALE2-2eebf33f2db768152544.js", }, }, "asyncLoc2": Object { "localizedAssets": Object { - "LOCALE1": "chunks/asyncLoc2-LOCALE1-e928396bee55883d3b7a.js", - "LOCALE2": "chunks/asyncLoc2-LOCALE2-92ed268b2fc76b31ee2a.js", + "LOCALE1": "chunks/asyncLoc2-LOCALE1-862fa13951f910022c37.js", + "LOCALE2": "chunks/asyncLoc2-LOCALE2-c21e197905c17fe34ef7.js", }, }, }, From a0b53e6a5f2ed35ac4ade687856d55628626be12 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 9 Feb 2024 20:08:58 -0500 Subject: [PATCH 092/180] Move ane export TrueHashPlugin. --- .../api/webpack5-localization-plugin.api.md | 15 ++++++++++++++ .../src/{test => }/TrueHashPlugin.ts | 20 +++++++++++++++---- .../webpack5-localization-plugin/src/index.ts | 2 +- .../src/test/LocalizedRuntimeTestBase.ts | 2 +- .../test/NonHashedNonLocalizedAssets.test.ts | 2 +- 5 files changed, 34 insertions(+), 7 deletions(-) rename webpack/webpack5-localization-plugin/src/{test => }/TrueHashPlugin.ts (84%) diff --git a/common/reviews/api/webpack5-localization-plugin.api.md b/common/reviews/api/webpack5-localization-plugin.api.md index 34bde810cb0..52abce5b9b6 100644 --- a/common/reviews/api/webpack5-localization-plugin.api.md +++ b/common/reviews/api/webpack5-localization-plugin.api.md @@ -4,6 +4,8 @@ ```ts +/// + import type { Chunk } from 'webpack'; import type { Compiler } from 'webpack'; import { ILocalizationFile } from '@rushstack/localization-utilities'; @@ -126,6 +128,12 @@ export interface _IStringPlaceholder { valuesByLocale: Map; } +// @public (undocumented) +export interface ITrueHashPluginOptions { + hashFunction?: (contents: string | Buffer) => string; + stageOverride?: number; +} + // @public export class LocalizationPlugin implements WebpackPluginInstance { constructor(options: ILocalizationPluginOptions); @@ -142,6 +150,13 @@ export class LocalizationPlugin implements WebpackPluginInstance { readonly stringKeys: Map; } +// @public (undocumented) +export class TrueHashPlugin implements WebpackPluginInstance { + constructor(options?: ITrueHashPluginOptions); + // (undocumented) + apply(compiler: Compiler): void; +} + // (No @packageDocumentation comment for this package) ``` diff --git a/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts similarity index 84% rename from webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts rename to webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 86af9de5127..9f2c057a322 100644 --- a/webpack/webpack5-localization-plugin/src/test/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -3,18 +3,29 @@ import type { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; -import { LocalizationPlugin } from '../LocalizationPlugin'; -import { type HashFn, getHashFunction, updateAssetHashes } from '../trueHashes'; +import { type HashFn, getHashFunction, updateAssetHashes } from './trueHashes'; +import { LocalizationPlugin } from './LocalizationPlugin'; const PLUGIN_NAME: 'true-hash' = 'true-hash'; +/** + * @public + */ export interface ITrueHashPluginOptions { /** * A function that takes the contents of a file and returns a hash. */ hashFunction?: (contents: string | Buffer) => string; + + /** + * Optionally override the process assets stage for this plugin. + */ + stageOverride?: number; } +/** + * @public + */ export class TrueHashPlugin implements WebpackPluginInstance { private readonly _options: ITrueHashPluginOptions; @@ -45,7 +56,8 @@ export class TrueHashPlugin implements WebpackPluginInstance { ) ); } else { - const { hashFunction } = this._options; + const { hashFunction, stageOverride = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = + this._options; const hashFn: HashFn = hashFunction ?? getHashFunction({ @@ -56,7 +68,7 @@ export class TrueHashPlugin implements WebpackPluginInstance { compilation.hooks.processAssets.tap( { name: PLUGIN_NAME, - stage: thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE + stage: stageOverride }, () => updateAssetHashes({ thisWebpack, compilation, hashFn }) ); diff --git a/webpack/webpack5-localization-plugin/src/index.ts b/webpack/webpack5-localization-plugin/src/index.ts index 1d7f61a200c..5bca18124c9 100644 --- a/webpack/webpack5-localization-plugin/src/index.ts +++ b/webpack/webpack5-localization-plugin/src/index.ts @@ -2,6 +2,7 @@ // See LICENSE in the project root for license information. export { LocalizationPlugin, type IStringPlaceholder as _IStringPlaceholder } from './LocalizationPlugin'; +export { TrueHashPlugin, type ITrueHashPluginOptions } from './TrueHashPlugin'; export { IDefaultLocaleOptions, @@ -20,5 +21,4 @@ export { IPseudolocalesOptions, IResolvedMissingTranslations } from './interfaces'; - export { ILocalizedWebpackChunk } from './webpackInterfaces'; diff --git a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts index 5cb2daf3c47..2d1841c4ae8 100644 --- a/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts +++ b/webpack/webpack5-localization-plugin/src/test/LocalizedRuntimeTestBase.ts @@ -10,7 +10,7 @@ import { Volume } from 'memfs/lib/volume'; import { MemFSPlugin } from './MemFSPlugin'; import type { ILocalizationPluginOptions } from '../interfaces'; import { LocalizationPlugin } from '../LocalizationPlugin'; -import { type ITrueHashPluginOptions, TrueHashPlugin } from './TrueHashPlugin'; +import { type ITrueHashPluginOptions, TrueHashPlugin } from '../TrueHashPlugin'; export function runTests(trueHashPluginOptions: ITrueHashPluginOptions = {}): void { async function testLocalizedRuntimeInner(minimize: boolean): Promise { diff --git a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts index fe21887d214..b94d85fdc8b 100644 --- a/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts +++ b/webpack/webpack5-localization-plugin/src/test/NonHashedNonLocalizedAssets.test.ts @@ -7,7 +7,7 @@ import { promisify } from 'util'; import webpack, { type Stats } from 'webpack'; import { Volume } from 'memfs/lib/volume'; -import { TrueHashPlugin } from './TrueHashPlugin'; +import { TrueHashPlugin } from '../TrueHashPlugin'; import { MemFSPlugin } from './MemFSPlugin'; async function testNonLocalizedInner(minimize: boolean): Promise { From f7d8c5a827445abc29a0e1a5d31a769839424ab9 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 9 Feb 2024 20:09:58 -0500 Subject: [PATCH 093/180] Remove the options validation. --- .../src/TrueHashPlugin.ts | 54 ++++++------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts index 9f2c057a322..2ebbb5c2fbb 100644 --- a/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/TrueHashPlugin.ts @@ -4,7 +4,6 @@ import type { Compilation, Compiler, WebpackPluginInstance } from 'webpack'; import { type HashFn, getHashFunction, updateAssetHashes } from './trueHashes'; -import { LocalizationPlugin } from './LocalizationPlugin'; const PLUGIN_NAME: 'true-hash' = 'true-hash'; @@ -36,43 +35,22 @@ export class TrueHashPlugin implements WebpackPluginInstance { public apply(compiler: Compiler): void { compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation: Compilation) => { const { webpack: thisWebpack } = compiler; - - let hasLocalizationPluginTrueHashOption: boolean = false; - if (compiler.options.plugins) { - for (const plugin of compiler.options.plugins) { - if (plugin instanceof LocalizationPlugin && plugin._options.realContentHash) { - hasLocalizationPluginTrueHashOption = true; - break; - } - } - } - - if (hasLocalizationPluginTrueHashOption) { - compilation.warnings.push( - new thisWebpack.WebpackError( - `The ${TrueHashPlugin.name} is not compatible with the LocalizationPlugin's "realContentHash" option. ` + - `Because the LocalizationPlugin is already handling true hashes, the ${TrueHashPlugin.name} plugin ` + - 'will have no effect.' - ) - ); - } else { - const { hashFunction, stageOverride = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = - this._options; - const hashFn: HashFn = - hashFunction ?? - getHashFunction({ - thisWebpack, - compilation - }); - - compilation.hooks.processAssets.tap( - { - name: PLUGIN_NAME, - stage: stageOverride - }, - () => updateAssetHashes({ thisWebpack, compilation, hashFn }) - ); - } + const { hashFunction, stageOverride = thisWebpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE } = + this._options; + const hashFn: HashFn = + hashFunction ?? + getHashFunction({ + thisWebpack, + compilation + }); + + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: stageOverride + }, + () => updateAssetHashes({ thisWebpack, compilation, hashFn }) + ); }); } } From fe1c7412b1ac7b1c6c017ca010bd04e1feb6332b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 9 Feb 2024 20:10:04 -0500 Subject: [PATCH 094/180] Rush change. --- .../export-truehashplugin_2024-02-10-01-08.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json diff --git a/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json b/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json new file mode 100644 index 00000000000..b5ab6d138f3 --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Export a `TrueHashPlugin` that performs what the `realContentHash` option does, but without validating the localization plugin's options.", + "type": "minor" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file From 67e0e2d534168860ac9eba7f57cff3ebf3cbc70d Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 10 Feb 2024 01:29:22 +0000 Subject: [PATCH 095/180] Update changelogs [skip ci] --- .../hash-salt_2024-02-10-00-58.json | 10 ---------- webpack/webpack5-localization-plugin/CHANGELOG.json | 12 ++++++++++++ webpack/webpack5-localization-plugin/CHANGELOG.md | 9 ++++++++- 3 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json diff --git a/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json b/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json deleted file mode 100644 index 9f6bf9f05bd..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/hash-salt_2024-02-10-00-58.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Add support for the `output.hashSalt` option when the `realContentHashes` feature is enabled.", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index 9a34ef2f155..f3b8f8b41cb 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.7.3", + "tag": "@rushstack/webpack5-localization-plugin_v0.7.3", + "date": "Sat, 10 Feb 2024 01:29:22 GMT", + "comments": { + "patch": [ + { + "comment": "Add support for the `output.hashSalt` option when the `realContentHashes` feature is enabled." + } + ] + } + }, { "version": "0.7.2", "tag": "@rushstack/webpack5-localization-plugin_v0.7.2", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index 3cf4e2dc30f..a7c820dce5a 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 10 Feb 2024 01:29:22 GMT and should not be manually modified. + +## 0.7.3 +Sat, 10 Feb 2024 01:29:22 GMT + +### Patches + +- Add support for the `output.hashSalt` option when the `realContentHashes` feature is enabled. ## 0.7.2 Thu, 08 Feb 2024 01:09:21 GMT From 779fb0c9b28e26a59728ee235161f909f679cd12 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 10 Feb 2024 01:29:24 +0000 Subject: [PATCH 096/180] Bump versions [skip ci] --- webpack/webpack5-localization-plugin/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index da1fbe4eb94..35c06903869 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.7.2", + "version": "0.7.3", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", From 1bdfc4598b4b454f5251a9ed2cad51243e9fb5a9 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 10 Feb 2024 01:40:49 +0000 Subject: [PATCH 097/180] Update changelogs [skip ci] --- .../export-truehashplugin_2024-02-10-01-08.json | 10 ---------- webpack/webpack5-localization-plugin/CHANGELOG.json | 12 ++++++++++++ webpack/webpack5-localization-plugin/CHANGELOG.md | 9 ++++++++- 3 files changed, 20 insertions(+), 11 deletions(-) delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json diff --git a/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json b/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json deleted file mode 100644 index b5ab6d138f3..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/export-truehashplugin_2024-02-10-01-08.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Export a `TrueHashPlugin` that performs what the `realContentHash` option does, but without validating the localization plugin's options.", - "type": "minor" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index f3b8f8b41cb..8530b253d80 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.8.0", + "tag": "@rushstack/webpack5-localization-plugin_v0.8.0", + "date": "Sat, 10 Feb 2024 01:40:49 GMT", + "comments": { + "minor": [ + { + "comment": "Export a `TrueHashPlugin` that performs what the `realContentHash` option does, but without validating the localization plugin's options." + } + ] + } + }, { "version": "0.7.3", "tag": "@rushstack/webpack5-localization-plugin_v0.7.3", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index a7c820dce5a..a270b56a1bb 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Sat, 10 Feb 2024 01:29:22 GMT and should not be manually modified. +This log was last generated on Sat, 10 Feb 2024 01:40:49 GMT and should not be manually modified. + +## 0.8.0 +Sat, 10 Feb 2024 01:40:49 GMT + +### Minor changes + +- Export a `TrueHashPlugin` that performs what the `realContentHash` option does, but without validating the localization plugin's options. ## 0.7.3 Sat, 10 Feb 2024 01:29:22 GMT From 630eacc50c60c48daffd8cf0d7c1dad442f4b87d Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 10 Feb 2024 01:40:51 +0000 Subject: [PATCH 098/180] Bump versions [skip ci] --- webpack/webpack5-localization-plugin/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 35c06903869..54af27f1ef3 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.7.3", + "version": "0.8.0", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", From 9bb519ff69a4971692cd756cf6132dbee9dd8b30 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 10 Feb 2024 02:30:21 -0500 Subject: [PATCH 099/180] Filter out non-JS chunks. --- ...tricter-js-detection_2024-02-10-07-30.json | 10 +++++ .../src/LocalizationPlugin.ts | 5 +++ .../src/trueHashes.ts | 40 ++++++++++++++----- .../src/utilities/chunkUtilities.ts | 8 ++++ 4 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json create mode 100644 webpack/webpack5-localization-plugin/src/utilities/chunkUtilities.ts diff --git a/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json b/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json new file mode 100644 index 00000000000..758f761f97f --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Filter out non-JS chunks.", + "type": "minor" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file diff --git a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts index 43b78a64011..9be64729814 100644 --- a/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack5-localization-plugin/src/LocalizationPlugin.ts @@ -30,6 +30,7 @@ import type { IAssetPathOptions } from './webpackInterfaces'; import { markEntity, getMark } from './utilities/EntityMarker'; import { processLocalizedAsset, processNonLocalizedAsset } from './AssetProcessor'; import { getHashFunction, type HashFn, updateAssetHashes } from './trueHashes'; +import { chunkIsJs } from './utilities/chunkUtilities'; /** * @public @@ -309,6 +310,10 @@ export class LocalizationPlugin implements WebpackPluginInstance { const localizedChunkNames: string[] = []; for (const chunk of chunks) { + if (!chunkIsJs(chunk, chunkGraph)) { + continue; + } + const isLocalized: boolean = _chunkHasLocalizedModules( chunkGraph, chunk, diff --git a/webpack/webpack5-localization-plugin/src/trueHashes.ts b/webpack/webpack5-localization-plugin/src/trueHashes.ts index 5c2843168f1..d6eb3ad447f 100644 --- a/webpack/webpack5-localization-plugin/src/trueHashes.ts +++ b/webpack/webpack5-localization-plugin/src/trueHashes.ts @@ -5,6 +5,7 @@ import type { default as webpack, Compilation, Chunk, Asset, sources, util } fro import { Text } from '@rushstack/node-core-library'; import type { ILocalizedWebpackChunk } from './webpackInterfaces'; +import { chunkIsJs } from './utilities/chunkUtilities'; interface IHashReplacement { existingHash: string; @@ -53,6 +54,17 @@ export function updateAssetHashes({ const unprocessedDependenciesByChunk: Map> = new Map(); const dependenciesByChunk: Map> = new Map(); const dependentsByChunk: Map> = new Map(); + const unprocessedChunks: Set = new Set(); + const nonJsChunks: Set = new Set(); + + for (const chunk of compilation.chunks) { + if (!chunkIsJs(chunk, compilation.chunkGraph)) { + nonJsChunks.add(chunk); + } else { + unprocessedChunks.add(chunk); + } + } + for (const chunk of compilation.chunks) { let unprocessedDependencies: Set | undefined = unprocessedDependenciesByChunk.get(chunk); if (!unprocessedDependencies) { @@ -68,22 +80,32 @@ export function updateAssetHashes({ if (chunk.hasRuntime()) { for (const asyncChunk of chunk.getAllAsyncChunks()) { - unprocessedDependencies.add(asyncChunk); - dependencies.add(asyncChunk); + if (!nonJsChunks.has(asyncChunk)) { + unprocessedDependencies.add(asyncChunk); + dependencies.add(asyncChunk); - let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); - if (!dependents) { - dependents = new Set(); - dependentsByChunk.set(asyncChunk, dependents); - } + let dependents: Set | undefined = dependentsByChunk.get(asyncChunk); + if (!dependents) { + dependents = new Set(); + dependentsByChunk.set(asyncChunk, dependents); + } + + dependents.add(chunk); - dependents.add(chunk); + if (!unprocessedChunks.has(asyncChunk)) { + compilation.errors.push( + new thisWebpack.WebpackError( + `Found an async chunk that was not included in the compilation: ${asyncChunk.id} ` + + `(reason: ${asyncChunk.chunkReason}).` + ) + ); + } + } } } } const hashReplacementsByChunk: Map = new Map(); - const unprocessedChunks: Set = new Set(compilation.chunks); let previousSize: number = -1; while (unprocessedChunks.size > 0) { const currentSize: number = unprocessedChunks.size; diff --git a/webpack/webpack5-localization-plugin/src/utilities/chunkUtilities.ts b/webpack/webpack5-localization-plugin/src/utilities/chunkUtilities.ts new file mode 100644 index 00000000000..d9334fb7865 --- /dev/null +++ b/webpack/webpack5-localization-plugin/src/utilities/chunkUtilities.ts @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { Chunk, ChunkGraph } from 'webpack'; + +export function chunkIsJs(chunk: Chunk, chunkGraph: ChunkGraph): boolean { + return !!chunkGraph.getChunkModulesIterableBySourceType(chunk, 'javascript'); +} From abae99021a27786cbea7c638e0528637ac99df47 Mon Sep 17 00:00:00 2001 From: Taylor Lodge Date: Mon, 12 Feb 2024 09:37:33 +1300 Subject: [PATCH 100/180] fix(heft-storybook-plugin): not cancelling webpack build during storybook static build Due to the guard around the isServeMode check in the webpack configuration taps the webpack build is only disabled when running in serve mode This means that when doing a static storybook build it does both the webpack and storybook webpack builds when the `--storybook` cli flag is used This changes the discarding of the webpack configuration to happen always when `--storybook` is present so static storybook builds don't double up the webpack builds While I'm here I added a configuration option for passing the `--webpack-stats-json` flag to Storybook to emit the webpack stats file which is required for usage with Chromatic's Turbosnap feature --- ...ook-plugin-static-builds_2024-02-11-20-39.json | 10 ++++++++++ .../heft-storybook-plugin/src/StorybookPlugin.ts | 15 +++++++++++---- .../src/schemas/storybook.schema.json | 5 +++++ 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json diff --git a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json new file mode 100644 index 00000000000..29fb85ef2be --- /dev/null +++ b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-storybook-plugin", + "comment": "fix double webpack builds during static storybook builds, expose --webpack-stats-json storybook CLI flag", + "type": "minor" + } + ], + "packageName": "@rushstack/heft-storybook-plugin" +} \ No newline at end of file diff --git a/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts b/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts index 68a11db2986..841e0965aa7 100644 --- a/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts +++ b/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts @@ -152,6 +152,10 @@ export interface IStorybookPluginOptions { * `"cwdPackageName": "my-storybook-ui-library"` */ cwdPackageName?: string; + /** + * Specifies whether to capture the webpack stats for the storybook build by adding the `--webpack-stats-json` CLI flag. + */ + captureWebpackStats?: boolean; } interface IRunStorybookOptions { @@ -220,11 +224,11 @@ export default class StorybookPlugin implements IHeftTaskPlugin { - // Discard Webpack's configuration to prevent Webpack from running only when starting a storybook server if (accessor.parameters.isServeMode) { this._isServeMode = true; - accessor.hooks.onLoadConfiguration.tapPromise(PLUGIN_NAME, configureWebpackTap); } + // Discard Webpack's configuration to prevent Webpack from running only when performing Storybook build + accessor.hooks.onLoadConfiguration.tapPromise(PLUGIN_NAME, configureWebpackTap); } ); @@ -232,11 +236,11 @@ export default class StorybookPlugin implements IHeftTaskPlugin { - // Discard Webpack's configuration to prevent Webpack from running only when starting a storybook server if (accessor.parameters.isServeMode) { this._isServeMode = true; - accessor.hooks.onLoadConfiguration.tapPromise(PLUGIN_NAME, configureWebpackTap); } + // Discard Webpack's configuration to prevent Webpack from running only when performing Storybook build + accessor.hooks.onLoadConfiguration.tapPromise(PLUGIN_NAME, configureWebpackTap); } ); @@ -400,6 +404,9 @@ export default class StorybookPlugin implements IHeftTaskPlugin Date: Mon, 12 Feb 2024 02:25:42 -0500 Subject: [PATCH 101/180] Tweak changelogs. --- ...torybook-plugin-static-builds_2024-02-11-20-39.json | 2 +- ...torybook-plugin-static-builds_2024-02-11-20-40.json | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json diff --git a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json index 29fb85ef2be..feb23cfc35b 100644 --- a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json +++ b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/heft-storybook-plugin", - "comment": "fix double webpack builds during static storybook builds, expose --webpack-stats-json storybook CLI flag", + "comment": "Fix an issue where Webpack would run twice during static storybook builds.", "type": "minor" } ], diff --git a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json new file mode 100644 index 00000000000..e59f0733225 --- /dev/null +++ b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-storybook-plugin", + "comment": "Introduce a `captureWebpackStats` configuration option that, when enabled, will pass the `--webpack-stats-json` parameter to Storybook.", + "type": "minor" + } + ], + "packageName": "@rushstack/heft-storybook-plugin" +} \ No newline at end of file From ee012c9335b255c1d2c2460b5da787424dc5f821 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 12 Feb 2024 16:09:55 +0000 Subject: [PATCH 102/180] Update changelogs [skip ci] --- ...ook-plugin-static-builds_2024-02-11-20-39.json | 10 ---------- ...ook-plugin-static-builds_2024-02-11-20-40.json | 10 ---------- heft-plugins/heft-storybook-plugin/CHANGELOG.json | 15 +++++++++++++++ heft-plugins/heft-storybook-plugin/CHANGELOG.md | 10 +++++++++- 4 files changed, 24 insertions(+), 21 deletions(-) delete mode 100644 common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json delete mode 100644 common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json diff --git a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json deleted file mode 100644 index feb23cfc35b..00000000000 --- a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-storybook-plugin", - "comment": "Fix an issue where Webpack would run twice during static storybook builds.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft-storybook-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json b/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json deleted file mode 100644 index e59f0733225..00000000000 --- a/common/changes/@rushstack/heft-storybook-plugin/fix-storybook-plugin-static-builds_2024-02-11-20-40.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-storybook-plugin", - "comment": "Introduce a `captureWebpackStats` configuration option that, when enabled, will pass the `--webpack-stats-json` parameter to Storybook.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft-storybook-plugin" -} \ No newline at end of file diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 130974b0729..bcc7d3ee526 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.6.0", + "tag": "@rushstack/heft-storybook-plugin_v0.6.0", + "date": "Mon, 12 Feb 2024 16:09:54 GMT", + "comments": { + "minor": [ + { + "comment": "Fix an issue where Webpack would run twice during static storybook builds." + }, + { + "comment": "Introduce a `captureWebpackStats` configuration option that, when enabled, will pass the `--webpack-stats-json` parameter to Storybook." + } + ] + } + }, { "version": "0.5.3", "tag": "@rushstack/heft-storybook-plugin_v0.5.3", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index ba2a9aa10d1..95daba2abb1 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Mon, 12 Feb 2024 16:09:54 GMT and should not be manually modified. + +## 0.6.0 +Mon, 12 Feb 2024 16:09:54 GMT + +### Minor changes + +- Fix an issue where Webpack would run twice during static storybook builds. +- Introduce a `captureWebpackStats` configuration option that, when enabled, will pass the `--webpack-stats-json` parameter to Storybook. ## 0.5.3 Thu, 08 Feb 2024 01:09:21 GMT From e2a17c81731cadc6b39b8e75c08dfccb9bc5ce9c Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 12 Feb 2024 16:09:56 +0000 Subject: [PATCH 103/180] Bump versions [skip ci] --- heft-plugins/heft-storybook-plugin/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index 13a21a3fb3a..0345981a528 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.5.3", + "version": "0.6.0", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", From 494c60737061b2f454ab73602558fa5cd4558aa4 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 12 Feb 2024 15:33:28 -0800 Subject: [PATCH 104/180] fix: pnpm-sync copy should in all phases and commands --- libraries/rush-lib/src/cli/RushXCommandLine.ts | 3 +-- .../rush-lib/src/cli/scriptActions/PhasedScriptAction.ts | 2 +- .../src/logic/operations/PnpmSyncCopyOperationPlugin.ts | 9 ++------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/libraries/rush-lib/src/cli/RushXCommandLine.ts b/libraries/rush-lib/src/cli/RushXCommandLine.ts index ddd138bee9d..d3e902f947a 100644 --- a/libraries/rush-lib/src/cli/RushXCommandLine.ts +++ b/libraries/rush-lib/src/cli/RushXCommandLine.ts @@ -211,8 +211,7 @@ export class RushXCommandLine { if (rushConfiguration?.packageManager === 'pnpm' && rushConfiguration?.experimentsConfiguration) { const { configuration: experiments } = rushConfiguration?.experimentsConfiguration; - //only `rushx build` command will trigger the pnpm-sync copy - if (experiments?.usePnpmSyncForInjectedDependencies && rushxArguments.commandName === 'build') { + if (experiments?.usePnpmSyncForInjectedDependencies) { const pnpmSyncJsonPath: string = packageFolder + '/node_modules/.pnpm-sync.json'; if (FileSystem.exists(pnpmSyncJsonPath)) { void pnpmSyncCopy(pnpmSyncJsonPath); diff --git a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts index ec1c33b0199..325f4b3f93c 100644 --- a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts +++ b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts @@ -380,7 +380,7 @@ export class PhasedScriptAction extends BaseScriptAction { terminal.writeVerboseLine(`Incremental strategy: none (full rebuild)`); } - const { configuration: experiments } = this.rushConfiguration?.experimentsConfiguration; + const { configuration: experiments } = this.rushConfiguration.experimentsConfiguration; if ( this.rushConfiguration?.packageManager === 'pnpm' && experiments?.usePnpmSyncForInjectedDependencies diff --git a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts index f0247051d5b..752e480d65c 100644 --- a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts @@ -21,15 +21,10 @@ export class PnpmSyncCopyOperationPlugin implements IPhasedCommandPlugin { const record: OperationExecutionRecord = runnerContext as OperationExecutionRecord; const { status, - operation: { associatedProject: project, associatedPhase: phase } + operation: { associatedProject: project } } = record; - //skip if phase is not build - if (phase?.name !== 'build') { - return; - } - - //skip if `rush build` is skipped, from cache or no operation + //skip if the phase is skipped, from cache or no operation if ( status === OperationStatus.Skipped || status === OperationStatus.FromCache || From 37bb087de4204886f667175b042cc5f2eb7862ff Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Mon, 12 Feb 2024 20:54:31 -0800 Subject: [PATCH 105/180] fix: move conditional import to inline --- .../rush-lib/src/cli/scriptActions/PhasedScriptAction.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts index 325f4b3f93c..9df0c1af7c1 100644 --- a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts +++ b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts @@ -44,7 +44,6 @@ import { RushProjectConfiguration } from '../../api/RushProjectConfiguration'; import { LegacySkipPlugin } from '../../logic/operations/LegacySkipPlugin'; import { ValidateOperationsPlugin } from '../../logic/operations/ValidateOperationsPlugin'; import type { ProjectWatcher } from '../../logic/ProjectWatcher'; -import { PnpmSyncCopyOperationPlugin } from '../../logic/operations/PnpmSyncCopyOperationPlugin'; /** * Constructor parameters for PhasedScriptAction. @@ -385,6 +384,9 @@ export class PhasedScriptAction extends BaseScriptAction { this.rushConfiguration?.packageManager === 'pnpm' && experiments?.usePnpmSyncForInjectedDependencies ) { + const { PnpmSyncCopyOperationPlugin } = await import( + '../../logic/operations/PnpmSyncCopyOperationPlugin' + ); new PnpmSyncCopyOperationPlugin().apply(this.hooks); } From 820d57039311e48179d9c54f095fabcc01cdd4a2 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Tue, 13 Feb 2024 12:42:17 -0800 Subject: [PATCH 106/180] fix: change pnpm-sync lib to nonbrowser-approved-packages in rush config --- common/config/rush/browser-approved-packages.json | 4 ---- common/config/rush/nonbrowser-approved-packages.json | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index a12b94d60f2..7a5edb8f445 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -62,10 +62,6 @@ "name": "office-ui-fabric-core", "allowedCategories": [ "libraries" ] }, - { - "name": "pnpm-sync-lib", - "allowedCategories": [ "libraries" ] - }, { "name": "react", "allowedCategories": [ "libraries", "tests", "vscode-extensions" ] diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index f5b7599d5b1..949cec9b36a 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -714,6 +714,10 @@ "name": "package-extractor-test-03", "allowedCategories": [ "tests" ] }, + { + "name": "pnpm-sync-lib", + "allowedCategories": [ "libraries" ] + }, { "name": "postcss", "allowedCategories": [ "libraries", "tests" ] From 77d0b6f05810e5fbe7351d60e3d1d640b7529054 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:33:59 -0500 Subject: [PATCH 107/180] Update docs around the experiment. --- .../assets/rush-init/common/config/rush/experiments.json | 2 +- libraries/rush-lib/src/api/ExperimentsConfiguration.ts | 2 +- libraries/rush-lib/src/schemas/experiments.schema.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index 6043d15de1f..b9e2de48474 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -72,7 +72,7 @@ /*[LINE "HYPOTHETICAL"]*/ "forbidPhantomResolvableNodeModulesFolders": true, /** - * If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished. + * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. */ /*[LINE "HYPOTHETICAL"]*/ "useProjectImpactGraphGeneratorAfterRushUpdate": true } diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index aab04e98fbe..b01ef6ceca3 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -78,7 +78,7 @@ export interface IExperimentsJson { forbidPhantomResolvableNodeModulesFolders?: boolean; /** - * If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished. + * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. */ useProjectImpactGraphGeneratorAfterRushUpdate?: boolean; } diff --git a/libraries/rush-lib/src/schemas/experiments.schema.json b/libraries/rush-lib/src/schemas/experiments.schema.json index 1a16784b96c..d43be3f4226 100644 --- a/libraries/rush-lib/src/schemas/experiments.schema.json +++ b/libraries/rush-lib/src/schemas/experiments.schema.json @@ -55,7 +55,7 @@ "type": "boolean" }, "useProjectImpactGraphGeneratorAfterRushUpdate": { - "description": "If true, Rush will generate project-impact-graph.yaml at repositoryRoot after `rush update` finished.", + "description": "If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`.", "type": "boolean" } }, From 792e670df1eb8263341e26c2f3fb61bb9c9c84ca Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:35:16 -0500 Subject: [PATCH 108/180] Rename the experiment. --- common/reviews/api/rush-lib.api.md | 2 +- .../assets/rush-init/common/config/rush/experiments.json | 2 +- libraries/rush-lib/src/api/ExperimentsConfiguration.ts | 2 +- libraries/rush-lib/src/schemas/experiments.schema.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index e5e48efc53f..43d1f34bce1 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -453,6 +453,7 @@ export interface IExperimentsJson { buildSkipWithAllowWarningsInSuccessfulBuild?: boolean; cleanInstallAfterNpmrcChanges?: boolean; forbidPhantomResolvableNodeModulesFolders?: boolean; + generateProjectImpactGraphDuringRushUpdate?: boolean; noChmodFieldInTarHeaderNormalization?: boolean; omitImportersFromPreventManualShrinkwrapChanges?: boolean; phasedCommands?: boolean; @@ -460,7 +461,6 @@ export interface IExperimentsJson { usePnpmFrozenLockfileForRushInstall?: boolean; usePnpmLockfileOnlyThenFrozenLockfileForRushUpdate?: boolean; usePnpmPreferFrozenLockfileForRushUpdate?: boolean; - useProjectImpactGraphGeneratorAfterRushUpdate?: boolean; } // @beta diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index b9e2de48474..7a9efa56678 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -74,5 +74,5 @@ /** * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. */ - /*[LINE "HYPOTHETICAL"]*/ "useProjectImpactGraphGeneratorAfterRushUpdate": true + /*[LINE "HYPOTHETICAL"]*/ "generateProjectImpactGraphDuringRushUpdate": true } diff --git a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts index b01ef6ceca3..86b960e81d1 100644 --- a/libraries/rush-lib/src/api/ExperimentsConfiguration.ts +++ b/libraries/rush-lib/src/api/ExperimentsConfiguration.ts @@ -80,7 +80,7 @@ export interface IExperimentsJson { /** * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. */ - useProjectImpactGraphGeneratorAfterRushUpdate?: boolean; + generateProjectImpactGraphDuringRushUpdate?: boolean; } /** diff --git a/libraries/rush-lib/src/schemas/experiments.schema.json b/libraries/rush-lib/src/schemas/experiments.schema.json index d43be3f4226..63f7ea234f9 100644 --- a/libraries/rush-lib/src/schemas/experiments.schema.json +++ b/libraries/rush-lib/src/schemas/experiments.schema.json @@ -54,7 +54,7 @@ "description": "If true, Rush will not allow node_modules in the repo folder or in parent folders.", "type": "boolean" }, - "useProjectImpactGraphGeneratorAfterRushUpdate": { + "generateProjectImpactGraphDuringRushUpdate": { "description": "If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`.", "type": "boolean" } From 71adecc969f6fc6067806d31c5c9bb98008a8694 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:36:19 -0500 Subject: [PATCH 109/180] Use terminal instead of console. --- .../rush-lib/src/cli/actions/BaseInstallAction.ts | 3 ++- .../src/logic/ProjectImpactGraphGenerator.ts | 14 +++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 77dec4bca9a..5b565588744 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -263,9 +263,10 @@ export abstract class BaseInstallAction extends BaseRushAction { if ( this.actionName === 'update' && this.rushConfiguration.experimentsConfiguration.configuration - .useProjectImpactGraphGeneratorAfterRushUpdate + .generateProjectImpactGraphDuringRushUpdate ) { const projectImpactGraphGenerator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator( + this._terminal, this.rushConfiguration ); projectImpactGraphGenerator.generate(); diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 53e7b6866e5..0708ce5189d 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -1,10 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem } from '@rushstack/node-core-library'; +import { Colors, FileSystem, type ITerminal } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; import path from 'path'; -import colors from 'colors/safe'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { RushConfigurationProject } from '../api/RushConfigurationProject'; import { Stopwatch } from '../utilities/Stopwatch'; @@ -36,6 +35,8 @@ export interface IFileSchema { const DefaultGlobalExcludedGlobs: string[] = ['common/autoinstallers/**']; export class ProjectImpactGraphGenerator { + private readonly _terminal: ITerminal; + /** * Full path of repository root */ @@ -49,7 +50,8 @@ export class ProjectImpactGraphGenerator { /** * Get repositoryRoot and load projects within the rush.json */ - public constructor(rushConfiguration: RushConfiguration) { + public constructor(terminal: ITerminal, rushConfiguration: RushConfiguration) { + this._terminal = terminal; this._repositoryRoot = rushConfiguration.rushJsonFolder; this._projects = rushConfiguration.projects; } @@ -115,7 +117,9 @@ export class ProjectImpactGraphGenerator { yaml.safeDump(content) ); stopwatch.stop(); - // eslint-disable-next-line no-console - console.log('\n' + colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`)); + this._terminal.writeLine(); + this._terminal.writeLine( + Colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`) + ); } } From 8166febb8b968e9e77e02eece55405e200ff1a1b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:37:26 -0500 Subject: [PATCH 110/180] General refactoring. --- .../src/cli/actions/BaseInstallAction.ts | 2 +- .../src/logic/ProjectImpactGraphGenerator.ts | 45 ++++++++++++------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 5b565588744..d2b5919d1e7 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -269,7 +269,7 @@ export abstract class BaseInstallAction extends BaseRushAction { this._terminal, this.rushConfiguration ); - projectImpactGraphGenerator.generate(); + await projectImpactGraphGenerator.generateAsync(); } } diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 0708ce5189d..a5abc8ec0d1 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -1,9 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Colors, FileSystem, type ITerminal } from '@rushstack/node-core-library'; +import { Colors, FileSystem, Text, type ITerminal } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; -import path from 'path'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { RushConfigurationProject } from '../api/RushConfigurationProject'; import { Stopwatch } from '../utilities/Stopwatch'; @@ -32,7 +31,7 @@ export interface IFileSchema { * Default global excluded globs * Only used if the `/.mergequeueignore` does not exist */ -const DefaultGlobalExcludedGlobs: string[] = ['common/autoinstallers/**']; +const DEFAULT_GLOBAL_EXCLUDED_GLOBS: string[] = ['common/autoinstallers/**']; export class ProjectImpactGraphGenerator { private readonly _terminal: ITerminal; @@ -60,11 +59,19 @@ export class ProjectImpactGraphGenerator { * Load global excluded globs * @param repositoryRoot */ - private _loadGlobalExcludedGlobs(repositoryRoot: string): string[] | undefined { + private async _loadGlobalExcludedGlobsAsync(repositoryRoot: string): Promise { const filePath: string = `${repositoryRoot}/${RushConstants.mergeQueueIgnoreFileName}`; - if (FileSystem.exists(filePath)) { - const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); - return globs; + let fileContents: string | undefined; + try { + fileContents = await FileSystem.readFileAsync(filePath); + } catch (error) { + if (!FileSystem.isNotExistError(error)) { + throw error; + } + } + + if (fileContents) { + return Text.convertToLf(fileContents).split('\n'); } } @@ -76,18 +83,22 @@ export class ProjectImpactGraphGenerator { const filePath: string = `${this._repositoryRoot}/${projectRootRelativePath}/${RushConstants.mergeQueueIgnoreFileName}`; if (FileSystem.exists(filePath)) { const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); - return globs.map((glob) => path.join(projectRootRelativePath, glob)); + for (let i: number = 0; i < globs.length; i++) { + globs[i] = `${projectRootRelativePath}/${globs[i]}`; + } + + return globs; } } /** * Core Logic: generate project-impact-graph.yaml */ - public generate(): void { + public async generateAsync(): Promise { const stopwatch: Stopwatch = Stopwatch.start(); const globalExcludedGlobs: string[] = - this._loadGlobalExcludedGlobs(this._repositoryRoot) || DefaultGlobalExcludedGlobs; + (await this._loadGlobalExcludedGlobsAsync(this._repositoryRoot)) || DEFAULT_GLOBAL_EXCLUDED_GLOBS; const projects: { [key: string]: IProjectConfiguration; } = {}; @@ -95,10 +106,10 @@ export class ProjectImpactGraphGenerator { // ignore the top project if (project.projectRelativeFolder !== '.') { const dependentList: string[] = [project.packageName]; - project.consumingProjects.forEach((item) => { - dependentList.push(item.packageName); - }); - projects[`${project.packageName}`] = { + for (const consumingProject of project.consumingProjects) { + dependentList.push(consumingProject.packageName); + } + projects[project.packageName] = { includedGlobs: [`${project.projectRelativeFolder}/**`], dependentProjects: dependentList.sort() }; @@ -106,14 +117,14 @@ export class ProjectImpactGraphGenerator { project.projectRelativeFolder ); if (projectExcludedGlobs) { - projects[`${project.packageName}`].excludedGlobs = projectExcludedGlobs; + projects[project.packageName].excludedGlobs = projectExcludedGlobs; } } } const content: IFileSchema = { globalExcludedGlobs, projects }; - FileSystem.writeFile( - path.join(this._repositoryRoot, 'project-impact-graph.yaml'), + await FileSystem.writeFileAsync( + `${this._repositoryRoot}/project-impact-graph.yaml`, yaml.safeDump(content) ); stopwatch.stop(); From 4ca62c66ab0abcaaca9f658fdc7ff1f99f123301 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:41:02 -0500 Subject: [PATCH 111/180] Rename some exports. --- .../rush-lib/src/logic/ProjectImpactGraphGenerator.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index a5abc8ec0d1..c451c3c7f8b 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -11,7 +11,7 @@ import { RushConstants } from './RushConstants'; /** * Project property configuration */ -export interface IProjectConfiguration { +export interface IProjectImpactGraphProjectConfiguration { includedGlobs: string[]; excludedGlobs?: string[]; dependentProjects: string[]; @@ -20,10 +20,10 @@ export interface IProjectConfiguration { /** * The schema of `project-impact-graph.yaml` */ -export interface IFileSchema { +export interface IProjectImpactGraphFile { globalExcludedGlobs: string[]; projects: { - [key: string]: IProjectConfiguration; + [key: string]: IProjectImpactGraphProjectConfiguration; }; } @@ -100,7 +100,7 @@ export class ProjectImpactGraphGenerator { const globalExcludedGlobs: string[] = (await this._loadGlobalExcludedGlobsAsync(this._repositoryRoot)) || DEFAULT_GLOBAL_EXCLUDED_GLOBS; const projects: { - [key: string]: IProjectConfiguration; + [key: string]: IProjectImpactGraphProjectConfiguration; } = {}; for (const project of this._projects) { // ignore the top project @@ -121,12 +121,13 @@ export class ProjectImpactGraphGenerator { } } } - const content: IFileSchema = { globalExcludedGlobs, projects }; + const content: IProjectImpactGraphFile = { globalExcludedGlobs, projects }; await FileSystem.writeFileAsync( `${this._repositoryRoot}/project-impact-graph.yaml`, yaml.safeDump(content) ); + stopwatch.stop(); this._terminal.writeLine(); this._terminal.writeLine( From 83393461596ec3f5e2d75e2b3fe83e9eee158521 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 17:55:09 -0500 Subject: [PATCH 112/180] Include a unit test. --- .../test/ProjectImpactGraphGenerator.test.ts | 49 +++ .../ProjectImpactGraphGenerator.test.ts.snap | 280 ++++++++++++++++++ 2 files changed, 329 insertions(+) create mode 100644 libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts create mode 100644 libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap diff --git a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts new file mode 100644 index 00000000000..2194f7f5937 --- /dev/null +++ b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { FileSystem, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; +import { RushConfiguration } from '../../api/RushConfiguration'; +import { Stopwatch } from '../../utilities/Stopwatch'; + +describe(ProjectImpactGraphGenerator.name, () => { + beforeEach(() => { + jest.spyOn(Stopwatch.prototype, 'duration', 'get').mockReturnValue(1.5); + }); + + it.each(['workspacePackages', 'packages', 'repo'])( + 'Correctly generates a project impact graph (repo: "%p")', + async (repoName) => { + const writeFileAsyncSpy: jest.SpyInstance = jest + .spyOn(FileSystem, 'writeFileAsync') + .mockImplementation(); + + const repoBasePath: string = `${__dirname}/${repoName}`; + const terminalProvider: StringBufferTerminalProvider = new StringBufferTerminalProvider(true); + const terminal: Terminal = new Terminal(terminalProvider); + const rushConfiguration: RushConfiguration = RushConfiguration.loadFromConfigurationFile( + `${repoBasePath}/rush.json` + ); + + const generator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator( + terminal, + rushConfiguration + ); + await generator.generateAsync(); + + expect(writeFileAsyncSpy).toHaveBeenCalledTimes(1); + expect(writeFileAsyncSpy.mock.calls[0][0].replace(repoBasePath, '')).toMatchSnapshot( + 'Output file path' + ); + expect(writeFileAsyncSpy.mock.calls[0][1]).toMatchSnapshot('Output file data'); + + expect({ + output: terminalProvider.getOutput({ normalizeSpecialCharacters: true }), + verbose: terminalProvider.getVerbose({ normalizeSpecialCharacters: true }), + error: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }), + warning: terminalProvider.getWarningOutput({ normalizeSpecialCharacters: true }), + debug: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }) + }).toMatchSnapshot('Terminal Output'); + } + ); +}); diff --git a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap new file mode 100644 index 00000000000..d615e754bd3 --- /dev/null +++ b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap @@ -0,0 +1,280 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Output file data 1`] = ` +"globalExcludedGlobs: + - common/autoinstallers/** +projects: + a: + includedGlobs: + - a/** + dependentProjects: + - a + - b + - e + - g + - h + b: + includedGlobs: + - b/** + dependentProjects: + - b + - c + - f + c: + includedGlobs: + - c/** + dependentProjects: + - c + - d + cyclic-dep-1: + includedGlobs: + - cyclic-dep-1/** + dependentProjects: + - cyclic-dep-1 + - cyclic-dep-2 + cyclic-dep-2: + includedGlobs: + - cyclic-dep-2/** + dependentProjects: + - cyclic-dep-1 + - cyclic-dep-2 + cyclic-dep-explicit-1: + includedGlobs: + - cyclic-dep-explicit-1/** + dependentProjects: + - cyclic-dep-explicit-1 + cyclic-dep-explicit-2: + includedGlobs: + - cyclic-dep-explicit-2/** + dependentProjects: + - cyclic-dep-explicit-1 + - cyclic-dep-explicit-2 + d: + includedGlobs: + - d/** + dependentProjects: + - d + e: + includedGlobs: + - e/** + dependentProjects: + - e + f: + includedGlobs: + - f/** + dependentProjects: + - f + g: + includedGlobs: + - g/** + dependentProjects: + - g + h: + includedGlobs: + - h/** + dependentProjects: + - f + - h + i: + includedGlobs: + - i/** + dependentProjects: + - i + - j + j: + includedGlobs: + - j/** + dependentProjects: + - j +" +`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Output file path 1`] = `"/project-impact-graph.yaml"`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Terminal Output 1`] = ` +Object { + "debug": "", + "error": "", + "output": "[n][green]Generate project impact graph successfully. (1.50 seconds)[default][n]", + "verbose": "", + "warning": "", +} +`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Output file data 1`] = ` +"globalExcludedGlobs: + - common/autoinstallers/** +projects: + a: + includedGlobs: + - a/** + dependentProjects: + - a + - b + - f + - g + - h + b: + includedGlobs: + - b/** + dependentProjects: + - b + - c + - d + c: + includedGlobs: + - c/** + dependentProjects: + - c + - e + d: + includedGlobs: + - d/** + dependentProjects: + - d + e: + includedGlobs: + - e/** + dependentProjects: + - e + f: + includedGlobs: + - f/** + dependentProjects: + - f + g: + includedGlobs: + - g/** + dependentProjects: + - g + h: + includedGlobs: + - h/** + dependentProjects: + - f + - h + i: + includedGlobs: + - i/** + dependentProjects: + - i + j: + includedGlobs: + - j/** + dependentProjects: + - j +" +`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Output file path 1`] = `"/project-impact-graph.yaml"`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Terminal Output 1`] = ` +Object { + "debug": "", + "error": "", + "output": "[n][green]Generate project impact graph successfully. (1.50 seconds)[default][n]", + "verbose": "", + "warning": "", +} +`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Output file data 1`] = ` +"globalExcludedGlobs: + - common/autoinstallers/** +projects: + a: + includedGlobs: + - a/** + dependentProjects: + - a + - b + - e + - g + - h + b: + includedGlobs: + - b/** + dependentProjects: + - b + - c + - f + c: + includedGlobs: + - c/** + dependentProjects: + - c + - d + cyclic-dep-1: + includedGlobs: + - cyclic-dep-1/** + dependentProjects: + - cyclic-dep-1 + - cyclic-dep-2 + cyclic-dep-2: + includedGlobs: + - cyclic-dep-2/** + dependentProjects: + - cyclic-dep-1 + - cyclic-dep-2 + cyclic-dep-explicit-1: + includedGlobs: + - cyclic-dep-explicit-1/** + dependentProjects: + - cyclic-dep-explicit-1 + cyclic-dep-explicit-2: + includedGlobs: + - cyclic-dep-explicit-2/** + dependentProjects: + - cyclic-dep-explicit-1 + - cyclic-dep-explicit-2 + d: + includedGlobs: + - d/** + dependentProjects: + - d + e: + includedGlobs: + - e/** + dependentProjects: + - e + f: + includedGlobs: + - f/** + dependentProjects: + - f + g: + includedGlobs: + - g/** + dependentProjects: + - g + h: + includedGlobs: + - h/** + dependentProjects: + - f + - h + i: + includedGlobs: + - i/** + dependentProjects: + - i + - j + j: + includedGlobs: + - j/** + dependentProjects: + - j +" +`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Output file path 1`] = `"/project-impact-graph.yaml"`; + +exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Terminal Output 1`] = ` +Object { + "debug": "", + "error": "", + "output": "[n][green]Generate project impact graph successfully. (1.50 seconds)[default][n]", + "verbose": "", + "warning": "", +} +`; From 12fb68faebded76c65ad120048c213c98bd93118 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 18:00:23 -0500 Subject: [PATCH 113/180] More code cleanup. --- .../src/logic/ProjectImpactGraphGenerator.ts | 42 +++++++++++-------- libraries/rush-lib/src/logic/RushConstants.ts | 5 +++ 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index c451c3c7f8b..aaf6409c6b1 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -3,6 +3,7 @@ import { Colors, FileSystem, Text, type ITerminal } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; + import type { RushConfiguration } from '../api/RushConfiguration'; import type { RushConfigurationProject } from '../api/RushConfigurationProject'; import { Stopwatch } from '../utilities/Stopwatch'; @@ -33,6 +34,21 @@ export interface IProjectImpactGraphFile { */ const DEFAULT_GLOBAL_EXCLUDED_GLOBS: string[] = ['common/autoinstallers/**']; +async function tryReadFileLinesAsync(filePath: string): Promise { + let fileContents: string | undefined; + try { + fileContents = await FileSystem.readFileAsync(filePath); + } catch (error) { + if (!FileSystem.isNotExistError(error)) { + throw error; + } + } + + if (fileContents) { + return Text.convertToLf(fileContents).split('\n'); + } +} + export class ProjectImpactGraphGenerator { private readonly _terminal: ITerminal; @@ -61,28 +77,20 @@ export class ProjectImpactGraphGenerator { */ private async _loadGlobalExcludedGlobsAsync(repositoryRoot: string): Promise { const filePath: string = `${repositoryRoot}/${RushConstants.mergeQueueIgnoreFileName}`; - let fileContents: string | undefined; - try { - fileContents = await FileSystem.readFileAsync(filePath); - } catch (error) { - if (!FileSystem.isNotExistError(error)) { - throw error; - } - } - - if (fileContents) { - return Text.convertToLf(fileContents).split('\n'); - } + return await tryReadFileLinesAsync(filePath); } /** * Load project excluded globs * @param projectRootRelativePath - project root relative path */ - private _loadProjectExcludedGlobs(projectRootRelativePath: string): string[] | undefined { + private async _tryLoadProjectExcludedGlobsAsync( + projectRootRelativePath: string + ): Promise { const filePath: string = `${this._repositoryRoot}/${projectRootRelativePath}/${RushConstants.mergeQueueIgnoreFileName}`; - if (FileSystem.exists(filePath)) { - const globs: string[] = FileSystem.readFile(filePath).toString().split('\n'); + + const globs: string[] | undefined = await tryReadFileLinesAsync(filePath); + if (globs) { for (let i: number = 0; i < globs.length; i++) { globs[i] = `${projectRootRelativePath}/${globs[i]}`; } @@ -113,7 +121,7 @@ export class ProjectImpactGraphGenerator { includedGlobs: [`${project.projectRelativeFolder}/**`], dependentProjects: dependentList.sort() }; - const projectExcludedGlobs: string[] | undefined = this._loadProjectExcludedGlobs( + const projectExcludedGlobs: string[] | undefined = await this._tryLoadProjectExcludedGlobsAsync( project.projectRelativeFolder ); if (projectExcludedGlobs) { @@ -124,7 +132,7 @@ export class ProjectImpactGraphGenerator { const content: IProjectImpactGraphFile = { globalExcludedGlobs, projects }; await FileSystem.writeFileAsync( - `${this._repositoryRoot}/project-impact-graph.yaml`, + `${this._repositoryRoot}/${RushConstants.projectImpactGraphFilename}`, yaml.safeDump(content) ); diff --git a/libraries/rush-lib/src/logic/RushConstants.ts b/libraries/rush-lib/src/logic/RushConstants.ts index 664dbecd2a1..37ea80cacc7 100644 --- a/libraries/rush-lib/src/logic/RushConstants.ts +++ b/libraries/rush-lib/src/logic/RushConstants.ts @@ -301,4 +301,9 @@ export class RushConstants { * Merge Queue ignore configuration file. */ public static readonly mergeQueueIgnoreFileName: string = '.mergequeueignore'; + + /** + * The filename ("project-impact-graph.yaml") for the project impact graph file. + */ + public static readonly projectImpactGraphFilename: string = 'project-impact-graph.yaml'; } From a3a109f110b43c4cdeef86e9518ef9a7d066545e Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 18:01:54 -0500 Subject: [PATCH 114/180] Clean up a type. --- .../rush-lib/src/logic/ProjectImpactGraphGenerator.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index aaf6409c6b1..4e1ba56010a 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -23,9 +23,7 @@ export interface IProjectImpactGraphProjectConfiguration { */ export interface IProjectImpactGraphFile { globalExcludedGlobs: string[]; - projects: { - [key: string]: IProjectImpactGraphProjectConfiguration; - }; + projects: Record; } /** @@ -107,9 +105,7 @@ export class ProjectImpactGraphGenerator { const globalExcludedGlobs: string[] = (await this._loadGlobalExcludedGlobsAsync(this._repositoryRoot)) || DEFAULT_GLOBAL_EXCLUDED_GLOBS; - const projects: { - [key: string]: IProjectImpactGraphProjectConfiguration; - } = {}; + const projects: Record = {}; for (const project of this._projects) { // ignore the top project if (project.projectRelativeFolder !== '.') { From 6d4278deaff6e2376a8b44f51c93bbd264a5a2d1 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 18:12:09 -0500 Subject: [PATCH 115/180] Increase parallelism. --- .../src/logic/ProjectImpactGraphGenerator.ts | 56 +++++++++++-------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 4e1ba56010a..38e5310d2db 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Colors, FileSystem, Text, type ITerminal } from '@rushstack/node-core-library'; +import { Colors, FileSystem, Text, type ITerminal, Async } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; import type { RushConfiguration } from '../api/RushConfiguration'; @@ -103,29 +103,37 @@ export class ProjectImpactGraphGenerator { public async generateAsync(): Promise { const stopwatch: Stopwatch = Stopwatch.start(); - const globalExcludedGlobs: string[] = - (await this._loadGlobalExcludedGlobsAsync(this._repositoryRoot)) || DEFAULT_GLOBAL_EXCLUDED_GLOBS; - const projects: Record = {}; - for (const project of this._projects) { - // ignore the top project - if (project.projectRelativeFolder !== '.') { - const dependentList: string[] = [project.packageName]; - for (const consumingProject of project.consumingProjects) { - dependentList.push(consumingProject.packageName); - } - projects[project.packageName] = { - includedGlobs: [`${project.projectRelativeFolder}/**`], - dependentProjects: dependentList.sort() - }; - const projectExcludedGlobs: string[] | undefined = await this._tryLoadProjectExcludedGlobsAsync( - project.projectRelativeFolder - ); - if (projectExcludedGlobs) { - projects[project.packageName].excludedGlobs = projectExcludedGlobs; - } - } - } - + const [globalExcludedGlobs = DEFAULT_GLOBAL_EXCLUDED_GLOBS, projectEntries] = await Promise.all([ + this._loadGlobalExcludedGlobsAsync(this._repositoryRoot), + Async.mapAsync( + this._projects, + async ({ packageName, consumingProjects, projectRelativeFolder }) => { + const dependentList: string[] = [packageName]; + for (const consumingProject of consumingProjects) { + dependentList.push(consumingProject.packageName); + } + + const projectImpactGraphProjectConfiguration: IProjectImpactGraphProjectConfiguration = { + includedGlobs: [`${projectRelativeFolder}/**`], + dependentProjects: dependentList.sort() + }; + + const projectExcludedGlobs: string[] | undefined = await this._tryLoadProjectExcludedGlobsAsync( + projectRelativeFolder + ); + if (projectExcludedGlobs) { + projectImpactGraphProjectConfiguration.excludedGlobs = projectExcludedGlobs; + } + + return [packageName, projectImpactGraphProjectConfiguration]; + }, + { concurrency: 50 } + ) + ]); + + projectEntries.sort(([aName], [bName]) => aName.localeCompare(bName)); + const projects: Record = + Object.fromEntries(projectEntries); const content: IProjectImpactGraphFile = { globalExcludedGlobs, projects }; await FileSystem.writeFileAsync( `${this._repositoryRoot}/${RushConstants.projectImpactGraphFilename}`, From dda25f7679d28f532d9d61ce3937db5af81b1051 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 18:28:19 -0500 Subject: [PATCH 116/180] Add mergequeueignore files in test cases. --- .../test/ProjectImpactGraphGenerator.test.ts | 15 +++++++++++++-- .../ProjectImpactGraphGenerator.test.ts.snap | 4 +++- .../test/workspacePackages/.mergequeueignore | 1 + .../test/workspacePackages/e/.mergequeueignore | 1 + 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 libraries/rush-lib/src/logic/test/workspacePackages/.mergequeueignore create mode 100644 libraries/rush-lib/src/logic/test/workspacePackages/e/.mergequeueignore diff --git a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts index 2194f7f5937..38e80de1bc1 100644 --- a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts +++ b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts @@ -1,11 +1,22 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { + FileSystem, + PackageJsonLookup, + StringBufferTerminalProvider, + Terminal +} from '@rushstack/node-core-library'; import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; import { RushConfiguration } from '../../api/RushConfiguration'; import { Stopwatch } from '../../utilities/Stopwatch'; +const PROJECT_FOLDER_PATH: string = PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname)!; +const RELATIVE_DIRNAME: string = __dirname.replace(`${PROJECT_FOLDER_PATH}/`, ''); +const SRC_DIRNAME: string = `${PROJECT_FOLDER_PATH}/src/${RELATIVE_DIRNAME.substring( + RELATIVE_DIRNAME.indexOf('/') + 1 +)}`; + describe(ProjectImpactGraphGenerator.name, () => { beforeEach(() => { jest.spyOn(Stopwatch.prototype, 'duration', 'get').mockReturnValue(1.5); @@ -18,7 +29,7 @@ describe(ProjectImpactGraphGenerator.name, () => { .spyOn(FileSystem, 'writeFileAsync') .mockImplementation(); - const repoBasePath: string = `${__dirname}/${repoName}`; + const repoBasePath: string = `${SRC_DIRNAME}/${repoName}`; const terminalProvider: StringBufferTerminalProvider = new StringBufferTerminalProvider(true); const terminal: Terminal = new Terminal(terminalProvider); const rushConfiguration: RushConfiguration = RushConfiguration.loadFromConfigurationFile( diff --git a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap index d615e754bd3..efaf3ac7328 100644 --- a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap +++ b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap @@ -180,7 +180,7 @@ Object { exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Output file data 1`] = ` "globalExcludedGlobs: - - common/autoinstallers/** + - common/config/version-policies.json projects: a: includedGlobs: @@ -237,6 +237,8 @@ projects: - e/** dependentProjects: - e + excludedGlobs: + - e/src/** f: includedGlobs: - f/** diff --git a/libraries/rush-lib/src/logic/test/workspacePackages/.mergequeueignore b/libraries/rush-lib/src/logic/test/workspacePackages/.mergequeueignore new file mode 100644 index 00000000000..b68298052b9 --- /dev/null +++ b/libraries/rush-lib/src/logic/test/workspacePackages/.mergequeueignore @@ -0,0 +1 @@ +common/config/version-policies.json \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/test/workspacePackages/e/.mergequeueignore b/libraries/rush-lib/src/logic/test/workspacePackages/e/.mergequeueignore new file mode 100644 index 00000000000..c578b1d164c --- /dev/null +++ b/libraries/rush-lib/src/logic/test/workspacePackages/e/.mergequeueignore @@ -0,0 +1 @@ +src/** \ No newline at end of file From 1a42e3a08c2b5b3dc3f2a0b4316b185ffec18763 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 18:29:09 -0500 Subject: [PATCH 117/180] Minor code cleanup. --- .../rush-lib/src/logic/ProjectImpactGraphGenerator.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 38e5310d2db..e1eea9e8918 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -71,10 +71,9 @@ export class ProjectImpactGraphGenerator { /** * Load global excluded globs - * @param repositoryRoot */ - private async _loadGlobalExcludedGlobsAsync(repositoryRoot: string): Promise { - const filePath: string = `${repositoryRoot}/${RushConstants.mergeQueueIgnoreFileName}`; + private async _loadGlobalExcludedGlobsAsync(): Promise { + const filePath: string = `${this._repositoryRoot}/${RushConstants.mergeQueueIgnoreFileName}`; return await tryReadFileLinesAsync(filePath); } @@ -104,7 +103,7 @@ export class ProjectImpactGraphGenerator { const stopwatch: Stopwatch = Stopwatch.start(); const [globalExcludedGlobs = DEFAULT_GLOBAL_EXCLUDED_GLOBS, projectEntries] = await Promise.all([ - this._loadGlobalExcludedGlobsAsync(this._repositoryRoot), + this._loadGlobalExcludedGlobsAsync(), Async.mapAsync( this._projects, async ({ packageName, consumingProjects, projectRelativeFolder }) => { From 1fe594236174ab0a541dabf8d602ecd8ea6d4517 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 19:17:53 -0500 Subject: [PATCH 118/180] Add more validation and move the project impact graph generator to parallel with install. --- common/reviews/api/rush-lib.api.md | 1 + .../src/cli/actions/BaseInstallAction.ts | 12 --- .../src/logic/ProjectImpactGraphGenerator.ts | 22 +++-- .../src/logic/base/BaseInstallManager.ts | 93 ++++++++++++------ .../test/ProjectImpactGraphGenerator.test.ts | 95 +++++++++++-------- .../ProjectImpactGraphGenerator.test.ts.snap | 18 ++-- 6 files changed, 146 insertions(+), 95 deletions(-) diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index 43d1f34bce1..f67fd0ec7c0 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -1249,6 +1249,7 @@ export class RushConstants { static readonly pnpmfileV6Filename: string; static readonly pnpmPatchesFolderName: string; static readonly pnpmV3ShrinkwrapFilename: string; + static readonly projectImpactGraphFilename: string; static readonly projectRushFolderName: string; static readonly projectShrinkwrapFilename: string; static readonly rebuildCommandName: string; diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index d2b5919d1e7..8003f198dd7 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -27,7 +27,6 @@ import { VersionMismatchFinder } from '../../logic/versionMismatch/VersionMismat import { Variants } from '../../api/Variants'; import { RushConstants } from '../../logic/RushConstants'; import type { SelectionParameterSet } from '../parsing/SelectionParameterSet'; -import { ProjectImpactGraphGenerator } from '../../logic/ProjectImpactGraphGenerator'; import type { RushConfigurationProject } from '../../api/RushConfigurationProject'; import type { Subspace } from '../../api/Subspace'; @@ -260,17 +259,6 @@ export abstract class BaseInstallAction extends BaseRushAction { this.parser.isDebug, this._ignoreHooksParameter.value ); - if ( - this.actionName === 'update' && - this.rushConfiguration.experimentsConfiguration.configuration - .generateProjectImpactGraphDuringRushUpdate - ) { - const projectImpactGraphGenerator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator( - this._terminal, - this.rushConfiguration - ); - await projectImpactGraphGenerator.generateAsync(); - } } if (warnAboutScriptUpdate) { diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index e1eea9e8918..27e74eccb03 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -60,13 +60,19 @@ export class ProjectImpactGraphGenerator { */ private readonly _projects: RushConfigurationProject[]; + /** + * Full path to `project-impact-graph.yaml` + */ + private readonly _projectImpactGraphFilePath: string; + /** * Get repositoryRoot and load projects within the rush.json */ - public constructor(terminal: ITerminal, rushConfiguration: RushConfiguration) { + public constructor(terminal: ITerminal, { rushJsonFolder, projects }: RushConfiguration) { this._terminal = terminal; - this._repositoryRoot = rushConfiguration.rushJsonFolder; - this._projects = rushConfiguration.projects; + this._repositoryRoot = rushJsonFolder; + this._projects = projects; + this._projectImpactGraphFilePath = `${rushJsonFolder}/${RushConstants.projectImpactGraphFilename}`; } /** @@ -134,10 +140,7 @@ export class ProjectImpactGraphGenerator { const projects: Record = Object.fromEntries(projectEntries); const content: IProjectImpactGraphFile = { globalExcludedGlobs, projects }; - await FileSystem.writeFileAsync( - `${this._repositoryRoot}/${RushConstants.projectImpactGraphFilename}`, - yaml.safeDump(content) - ); + await FileSystem.writeFileAsync(this._projectImpactGraphFilePath, yaml.safeDump(content)); stopwatch.stop(); this._terminal.writeLine(); @@ -145,4 +148,9 @@ export class ProjectImpactGraphGenerator { Colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`) ); } + + public async validateAsync(): Promise { + // TODO: More validation other than just existence + return await FileSystem.existsAsync(this._projectImpactGraphFilePath); + } } diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index bcbbc804168..c876339625c 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -47,6 +47,7 @@ import type { PnpmResolutionMode } from '../pnpm/PnpmOptionsConfiguration'; import { SubspacePnpmfileConfiguration } from '../pnpm/SubspacePnpmfileConfiguration'; import type { Subspace } from '../../api/Subspace'; import { SubspacesConfiguration } from '../../api/SubspacesConfiguration'; +import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; /** * Pnpm don't support --ignore-compatibility-db, so use --config.ignoreCompatibilityDb for now. @@ -103,6 +104,7 @@ export abstract class BaseInstallManager { } public async doInstallAsync(): Promise { + const { allowShrinkwrapUpdates } = this.options; const isFilteredInstall: boolean = this.options.pnpmFilterArguments.length > 0; const useWorkspaces: boolean = this.rushConfiguration.pnpmOptions && this.rushConfiguration.pnpmOptions.useWorkspaces; @@ -121,7 +123,7 @@ export abstract class BaseInstallManager { } // Prevent update when using a filter, as modifications to the shrinkwrap shouldn't be saved - if (this.options.allowShrinkwrapUpdates && isFilteredInstall) { + if (allowShrinkwrapUpdates && isFilteredInstall) { // Allow partial update when there are subspace projects if (!this.rushConfiguration.subspacesFeatureEnabled) { // eslint-disable-next-line no-console @@ -139,7 +141,12 @@ export abstract class BaseInstallManager { const subspace: Subspace = this.options.subspace; - const { shrinkwrapIsUpToDate, variantIsUpToDate, npmrcHash } = await this.prepareAsync(subspace); + const projectImpactGraphGenerator: ProjectImpactGraphGenerator | undefined = this.rushConfiguration + .experimentsConfiguration.configuration.generateProjectImpactGraphDuringRushUpdate + ? new ProjectImpactGraphGenerator(this._terminal, this.rushConfiguration) + : undefined; + const { shrinkwrapIsUpToDate, variantIsUpToDate, npmrcHash, projectImpactGraphIsUpToDate } = + await this.prepareAsync(subspace, projectImpactGraphGenerator); if (this.options.checkOnly) { return; @@ -164,7 +171,7 @@ export abstract class BaseInstallManager { const cleanInstall: boolean = isFilteredInstall || !commonTempInstallFlag.checkValidAndReportStoreIssues({ - rushVerb: this.options.allowShrinkwrapUpdates ? 'update' : 'install', + rushVerb: allowShrinkwrapUpdates ? 'update' : 'install', statePropertiesToIgnore: optionsToIgnore }); @@ -175,7 +182,13 @@ export abstract class BaseInstallManager { return this.canSkipInstall(outputStats.mtime, subspace); }; - if (cleanInstall || !shrinkwrapIsUpToDate || !variantIsUpToDate || !canSkipInstall()) { + if ( + cleanInstall || + !shrinkwrapIsUpToDate || + !variantIsUpToDate || + !canSkipInstall() || + !projectImpactGraphIsUpToDate + ) { // eslint-disable-next-line no-console console.log(); await this.validateNpmSetup(); @@ -207,8 +220,12 @@ export abstract class BaseInstallManager { await this.options.beforeInstallAsync(); } - // Perform the actual install - await this.installAsync(cleanInstall, subspace); + await Promise.all([ + // Perform the actual install + this.installAsync(cleanInstall, subspace), + // If allowed, generate the project impact graph + allowShrinkwrapUpdates ? projectImpactGraphGenerator?.generateAsync() : undefined + ]); if (this.options.allowShrinkwrapUpdates && !shrinkwrapIsUpToDate) { // Copy (or delete) common\temp\pnpm-lock.yaml --> common\config\rush\pnpm-lock.yaml @@ -283,11 +300,17 @@ export abstract class BaseInstallManager { return Utilities.isFileTimestampCurrent(lastModifiedDate, potentiallyChangedFiles); } - protected async prepareAsync(subspace: Subspace): Promise<{ + protected async prepareAsync( + subspace: Subspace, + projectImpactGraphGenerator: ProjectImpactGraphGenerator | undefined + ): Promise<{ variantIsUpToDate: boolean; shrinkwrapIsUpToDate: boolean; npmrcHash: string | undefined; + projectImpactGraphIsUpToDate: boolean; }> { + const { allowShrinkwrapUpdates } = this.options; + // Check the policies await PolicyValidator.validatePolicyAsync(this.rushConfiguration, subspace, this.options); @@ -297,8 +320,8 @@ export abstract class BaseInstallManager { this.rushConfiguration ); if (approvedPackagesChecker.approvedPackagesFilesAreOutOfDate) { - if (this.options.allowShrinkwrapUpdates) { - approvedPackagesChecker.rewriteConfigFiles(); + approvedPackagesChecker.rewriteConfigFiles(); + if (allowShrinkwrapUpdates) { // eslint-disable-next-line no-console console.log( colors.yellow( @@ -321,12 +344,12 @@ export abstract class BaseInstallManager { // (If it's a full update, then we ignore the shrinkwrap from Git since it will be overwritten) if (!this.options.fullUpgrade) { - const commitedShrinkwrapFileName: string = subspace.getCommittedShrinkwrapFilename(); + const committedShrinkwrapFileName: string = subspace.getCommittedShrinkwrapFilename(); try { shrinkwrapFile = ShrinkwrapFileFactory.getShrinkwrapFile( this.rushConfiguration.packageManager, this.rushConfiguration.packageManagerOptions, - commitedShrinkwrapFileName + committedShrinkwrapFileName ); } catch (ex) { // eslint-disable-next-line no-console @@ -336,7 +359,7 @@ export abstract class BaseInstallManager { `Unable to load the ${this.rushConfiguration.shrinkwrapFilePhrase}: ${(ex as Error).message}` ); - if (!this.options.allowShrinkwrapUpdates) { + if (!allowShrinkwrapUpdates) { // eslint-disable-next-line no-console console.log(); // eslint-disable-next-line no-console @@ -442,12 +465,13 @@ export abstract class BaseInstallManager { } } - // Allow for package managers to do their own preparation and check that the shrinkwrap is up to date // eslint-disable-next-line prefer-const - let { shrinkwrapIsUpToDate, shrinkwrapWarnings } = await this.prepareCommonTempAsync( - subspace, - shrinkwrapFile - ); + let [{ shrinkwrapIsUpToDate, shrinkwrapWarnings }, projectImpactGraphIsUpToDate = true] = + await Promise.all([ + // Allow for package managers to do their own preparation and check that the shrinkwrap is up to date + this.prepareCommonTempAsync(subspace, shrinkwrapFile), + projectImpactGraphGenerator?.validateAsync() + ]); shrinkwrapIsUpToDate = shrinkwrapIsUpToDate && !this.options.recheckShrinkwrap; this._syncTempShrinkwrap(subspace, shrinkwrapFile); @@ -473,22 +497,31 @@ export abstract class BaseInstallManager { console.log(); } + let hasErrors: boolean = false; // Force update if the shrinkwrap is out of date - if (!shrinkwrapIsUpToDate) { - if (!this.options.allowShrinkwrapUpdates) { - // eslint-disable-next-line no-console - console.log(); - // eslint-disable-next-line no-console - console.log( - colors.red( - `The ${this.rushConfiguration.shrinkwrapFilePhrase} is out of date. You need to run "rush update".` - ) - ); - throw new AlreadyReportedError(); - } + if (!shrinkwrapIsUpToDate && !allowShrinkwrapUpdates) { + this._terminal.writeErrorLine(); + this._terminal.writeErrorLine( + `The ${this.rushConfiguration.shrinkwrapFilePhrase} is out of date. You need to run "rush update".` + ); + hasErrors = true; + } + + if (!projectImpactGraphIsUpToDate && !allowShrinkwrapUpdates) { + hasErrors = true; + this._terminal.writeErrorLine(); + this._terminal.writeErrorLine( + colors.red( + `The ${RushConstants.projectImpactGraphFilename} file is missing or out of date. You need to run "rush update".` + ) + ); + } + + if (hasErrors) { + throw new AlreadyReportedError(); } - return { shrinkwrapIsUpToDate, variantIsUpToDate, npmrcHash }; + return { shrinkwrapIsUpToDate, variantIsUpToDate, npmrcHash, projectImpactGraphIsUpToDate }; } /** diff --git a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts index 38e80de1bc1..7f9b0115c2d 100644 --- a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts +++ b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts @@ -17,44 +17,65 @@ const SRC_DIRNAME: string = `${PROJECT_FOLDER_PATH}/src/${RELATIVE_DIRNAME.subst RELATIVE_DIRNAME.indexOf('/') + 1 )}`; +async function runTestForExampleRepoAsync( + repoName: string, + testFn: ( + repoBasePath: string, + generator: ProjectImpactGraphGenerator, + terminalProvider: StringBufferTerminalProvider + ) => Promise +): Promise { + const repoBasePath: string = `${SRC_DIRNAME}/${repoName}`; + const terminalProvider: StringBufferTerminalProvider = new StringBufferTerminalProvider(true); + const terminal: Terminal = new Terminal(terminalProvider); + const rushConfiguration: RushConfiguration = RushConfiguration.loadFromConfigurationFile( + `${repoBasePath}/rush.json` + ); + + const generator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator(terminal, rushConfiguration); + await testFn(repoBasePath, generator, terminalProvider); +} + describe(ProjectImpactGraphGenerator.name, () => { - beforeEach(() => { - jest.spyOn(Stopwatch.prototype, 'duration', 'get').mockReturnValue(1.5); + describe(ProjectImpactGraphGenerator.prototype.generateAsync.name, () => { + beforeEach(() => { + jest.spyOn(Stopwatch.prototype, 'duration', 'get').mockReturnValue(1.5); + }); + + it.each(['workspacePackages', 'packages', 'repo'])( + 'Correctly generates a project impact graph (repo: "%p")', + async (repoName) => + await runTestForExampleRepoAsync(repoName, async (repoBasePath, generator, terminalProvider) => { + const writeFileAsyncSpy: jest.SpyInstance = jest + .spyOn(FileSystem, 'writeFileAsync') + .mockImplementation(); + + await generator.generateAsync(); + + expect(writeFileAsyncSpy).toHaveBeenCalledTimes(1); + expect(writeFileAsyncSpy.mock.calls[0][0].replace(repoBasePath, '')).toMatchSnapshot( + 'Output file path' + ); + expect(writeFileAsyncSpy.mock.calls[0][1]).toMatchSnapshot('Output file data'); + + expect({ + output: terminalProvider.getOutput({ normalizeSpecialCharacters: true }), + verbose: terminalProvider.getVerbose({ normalizeSpecialCharacters: true }), + error: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }), + warning: terminalProvider.getWarningOutput({ normalizeSpecialCharacters: true }), + debug: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }) + }).toMatchSnapshot('Terminal Output'); + }) + ); }); - it.each(['workspacePackages', 'packages', 'repo'])( - 'Correctly generates a project impact graph (repo: "%p")', - async (repoName) => { - const writeFileAsyncSpy: jest.SpyInstance = jest - .spyOn(FileSystem, 'writeFileAsync') - .mockImplementation(); - - const repoBasePath: string = `${SRC_DIRNAME}/${repoName}`; - const terminalProvider: StringBufferTerminalProvider = new StringBufferTerminalProvider(true); - const terminal: Terminal = new Terminal(terminalProvider); - const rushConfiguration: RushConfiguration = RushConfiguration.loadFromConfigurationFile( - `${repoBasePath}/rush.json` - ); - - const generator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator( - terminal, - rushConfiguration - ); - await generator.generateAsync(); - - expect(writeFileAsyncSpy).toHaveBeenCalledTimes(1); - expect(writeFileAsyncSpy.mock.calls[0][0].replace(repoBasePath, '')).toMatchSnapshot( - 'Output file path' - ); - expect(writeFileAsyncSpy.mock.calls[0][1]).toMatchSnapshot('Output file data'); - - expect({ - output: terminalProvider.getOutput({ normalizeSpecialCharacters: true }), - verbose: terminalProvider.getVerbose({ normalizeSpecialCharacters: true }), - error: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }), - warning: terminalProvider.getWarningOutput({ normalizeSpecialCharacters: true }), - debug: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }) - }).toMatchSnapshot('Terminal Output'); - } - ); + describe(ProjectImpactGraphGenerator.prototype.validateAsync.name, () => { + it.each(['workspacePackages'])( + 'Reports if the project-impact-graph.yaml file is missing (repo: "%p")', + async (repoName) => + await runTestForExampleRepoAsync(repoName, async (repoBasePath, generator, terminalProvider) => { + await expect(generator.validateAsync()).resolves.toBe(false); + }) + ); + }); }); diff --git a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap index efaf3ac7328..cc8695ee186 100644 --- a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap +++ b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Output file data 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""packages""): Output file data 1`] = ` "globalExcludedGlobs: - common/autoinstallers/** projects: @@ -89,9 +89,9 @@ projects: " `; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Output file path 1`] = `"/project-impact-graph.yaml"`; +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""packages""): Output file path 1`] = `"/project-impact-graph.yaml"`; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""packages""): Terminal Output 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""packages""): Terminal Output 1`] = ` Object { "debug": "", "error": "", @@ -101,7 +101,7 @@ Object { } `; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Output file data 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""repo""): Output file data 1`] = ` "globalExcludedGlobs: - common/autoinstallers/** projects: @@ -166,9 +166,9 @@ projects: " `; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Output file path 1`] = `"/project-impact-graph.yaml"`; +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""repo""): Output file path 1`] = `"/project-impact-graph.yaml"`; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""repo""): Terminal Output 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""repo""): Terminal Output 1`] = ` Object { "debug": "", "error": "", @@ -178,7 +178,7 @@ Object { } `; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Output file data 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""workspacePackages""): Output file data 1`] = ` "globalExcludedGlobs: - common/config/version-policies.json projects: @@ -269,9 +269,9 @@ projects: " `; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Output file path 1`] = `"/project-impact-graph.yaml"`; +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""workspacePackages""): Output file path 1`] = `"/project-impact-graph.yaml"`; -exports[`ProjectImpactGraphGenerator Correctly generates a project impact graph (repo: ""workspacePackages""): Terminal Output 1`] = ` +exports[`ProjectImpactGraphGenerator generateAsync Correctly generates a project impact graph (repo: ""workspacePackages""): Terminal Output 1`] = ` Object { "debug": "", "error": "", From 10dbb61dc935686a9d6e88eb38b02e1119afbcd4 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 19:25:18 -0500 Subject: [PATCH 119/180] Minor refactor. --- .../src/logic/ProjectImpactGraphGenerator.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index 27e74eccb03..ddbabb34116 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -51,14 +51,14 @@ export class ProjectImpactGraphGenerator { private readonly _terminal: ITerminal; /** - * Full path of repository root + * The Rush configuration */ - private readonly _repositoryRoot: string; + private readonly _rushConfiguration: RushConfiguration; /** - * Projects within the Rush configuration + * Full path of repository root */ - private readonly _projects: RushConfigurationProject[]; + private readonly _repositoryRoot: string; /** * Full path to `project-impact-graph.yaml` @@ -68,10 +68,11 @@ export class ProjectImpactGraphGenerator { /** * Get repositoryRoot and load projects within the rush.json */ - public constructor(terminal: ITerminal, { rushJsonFolder, projects }: RushConfiguration) { + public constructor(terminal: ITerminal, rushConfiguration: RushConfiguration) { this._terminal = terminal; + this._rushConfiguration = rushConfiguration; + const { rushJsonFolder } = rushConfiguration; this._repositoryRoot = rushJsonFolder; - this._projects = projects; this._projectImpactGraphFilePath = `${rushJsonFolder}/${RushConstants.projectImpactGraphFilename}`; } @@ -111,7 +112,7 @@ export class ProjectImpactGraphGenerator { const [globalExcludedGlobs = DEFAULT_GLOBAL_EXCLUDED_GLOBS, projectEntries] = await Promise.all([ this._loadGlobalExcludedGlobsAsync(), Async.mapAsync( - this._projects, + this._rushConfiguration.projects, async ({ packageName, consumingProjects, projectRelativeFolder }) => { const dependentList: string[] = [packageName]; for (const consumingProject of consumingProjects) { From 1e387bc0ecd55fd9ce7340bcad4dba4edaf5f384 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 21:48:00 -0500 Subject: [PATCH 120/180] Fix an issue with tests on Windows. --- libraries/rush-lib/config/heft.json | 5 ++ .../test/ProjectImpactGraphGenerator.test.ts | 53 ++++++++----------- .../ProjectImpactGraphGenerator.test.ts.snap | 10 ++++ 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/libraries/rush-lib/config/heft.json b/libraries/rush-lib/config/heft.json index fa542524f26..cb203be79e0 100644 --- a/libraries/rush-lib/config/heft.json +++ b/libraries/rush-lib/config/heft.json @@ -36,6 +36,11 @@ "sourcePath": "src/logic/pnpm/test", "destinationFolders": ["lib-commonjs/logic/pnpm/test"], "fileExtensions": [".yaml"] + }, + { + "sourcePath": "src/logic/test", + "destinationFolders": ["lib-commonjs/logic/test"], + "includeGlobs": ["**/.mergequeueignore"] } ] } diff --git a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts index 7f9b0115c2d..b0d807950a4 100644 --- a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts +++ b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts @@ -1,39 +1,33 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { - FileSystem, - PackageJsonLookup, - StringBufferTerminalProvider, - Terminal -} from '@rushstack/node-core-library'; +import { FileSystem, Path, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; import { RushConfiguration } from '../../api/RushConfiguration'; import { Stopwatch } from '../../utilities/Stopwatch'; -const PROJECT_FOLDER_PATH: string = PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname)!; -const RELATIVE_DIRNAME: string = __dirname.replace(`${PROJECT_FOLDER_PATH}/`, ''); -const SRC_DIRNAME: string = `${PROJECT_FOLDER_PATH}/src/${RELATIVE_DIRNAME.substring( - RELATIVE_DIRNAME.indexOf('/') + 1 -)}`; +const NORMALIZED_DIRNAME: string = Path.convertToSlashes(__dirname); async function runTestForExampleRepoAsync( repoName: string, - testFn: ( - repoBasePath: string, - generator: ProjectImpactGraphGenerator, - terminalProvider: StringBufferTerminalProvider - ) => Promise + testFn: (generator: ProjectImpactGraphGenerator) => Promise ): Promise { - const repoBasePath: string = `${SRC_DIRNAME}/${repoName}`; const terminalProvider: StringBufferTerminalProvider = new StringBufferTerminalProvider(true); const terminal: Terminal = new Terminal(terminalProvider); const rushConfiguration: RushConfiguration = RushConfiguration.loadFromConfigurationFile( - `${repoBasePath}/rush.json` + `${NORMALIZED_DIRNAME}/${repoName}/rush.json` ); const generator: ProjectImpactGraphGenerator = new ProjectImpactGraphGenerator(terminal, rushConfiguration); - await testFn(repoBasePath, generator, terminalProvider); + await testFn(generator); + + expect({ + output: terminalProvider.getOutput({ normalizeSpecialCharacters: true }), + verbose: terminalProvider.getVerbose({ normalizeSpecialCharacters: true }), + error: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }), + warning: terminalProvider.getWarningOutput({ normalizeSpecialCharacters: true }), + debug: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }) + }).toMatchSnapshot('Terminal Output'); } describe(ProjectImpactGraphGenerator.name, () => { @@ -45,7 +39,7 @@ describe(ProjectImpactGraphGenerator.name, () => { it.each(['workspacePackages', 'packages', 'repo'])( 'Correctly generates a project impact graph (repo: "%p")', async (repoName) => - await runTestForExampleRepoAsync(repoName, async (repoBasePath, generator, terminalProvider) => { + await runTestForExampleRepoAsync(repoName, async (generator) => { const writeFileAsyncSpy: jest.SpyInstance = jest .spyOn(FileSystem, 'writeFileAsync') .mockImplementation(); @@ -53,18 +47,13 @@ describe(ProjectImpactGraphGenerator.name, () => { await generator.generateAsync(); expect(writeFileAsyncSpy).toHaveBeenCalledTimes(1); - expect(writeFileAsyncSpy.mock.calls[0][0].replace(repoBasePath, '')).toMatchSnapshot( - 'Output file path' - ); + expect( + Path.convertToSlashes(writeFileAsyncSpy.mock.calls[0][0]).replace( + `${NORMALIZED_DIRNAME}/${repoName}`, + '' + ) + ).toMatchSnapshot('Output file path'); expect(writeFileAsyncSpy.mock.calls[0][1]).toMatchSnapshot('Output file data'); - - expect({ - output: terminalProvider.getOutput({ normalizeSpecialCharacters: true }), - verbose: terminalProvider.getVerbose({ normalizeSpecialCharacters: true }), - error: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }), - warning: terminalProvider.getWarningOutput({ normalizeSpecialCharacters: true }), - debug: terminalProvider.getDebugOutput({ normalizeSpecialCharacters: true }) - }).toMatchSnapshot('Terminal Output'); }) ); }); @@ -73,7 +62,7 @@ describe(ProjectImpactGraphGenerator.name, () => { it.each(['workspacePackages'])( 'Reports if the project-impact-graph.yaml file is missing (repo: "%p")', async (repoName) => - await runTestForExampleRepoAsync(repoName, async (repoBasePath, generator, terminalProvider) => { + await runTestForExampleRepoAsync(repoName, async (generator) => { await expect(generator.validateAsync()).resolves.toBe(false); }) ); diff --git a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap index cc8695ee186..f784a772885 100644 --- a/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap +++ b/libraries/rush-lib/src/logic/test/__snapshots__/ProjectImpactGraphGenerator.test.ts.snap @@ -280,3 +280,13 @@ Object { "warning": "", } `; + +exports[`ProjectImpactGraphGenerator validateAsync Reports if the project-impact-graph.yaml file is missing (repo: ""workspacePackages""): Terminal Output 1`] = ` +Object { + "debug": "", + "error": "", + "output": "", + "verbose": "", + "warning": "", +} +`; From 3279ac9d9c85c015712806522913b167f420523e Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 22:44:45 -0500 Subject: [PATCH 121/180] Update a changelog message. --- ...t-generate-impact-graph-after-update_2024-02-04-11-38.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json b/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json index 4225c7e961d..8842b19306d 100644 --- a/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json +++ b/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json @@ -2,9 +2,9 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Add project impact graph generator", + "comment": "Add a feature to generate a `project-impact-graph.yaml` file in the repo root. This feature is gated under the new `generateProjectImpactGraphDuringRushUpdate` experiment.", "type": "none" } ], "packageName": "@microsoft/rush" -} \ No newline at end of file +} From 083a8e08b2921f5dcb9839447113fde43f38f44f Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 13 Feb 2024 22:45:25 -0500 Subject: [PATCH 122/180] Make the next release of Rush a minor bump --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 3ba18561b11..bedaa70a250 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -103,7 +103,7 @@ "policyName": "rush", "definitionName": "lockStepVersion", "version": "5.113.4", - "nextBump": "patch", + "nextBump": "minor", "mainProject": "@microsoft/rush" } ] From 30ddd66ff0213e1cfa401d1768581810577f89f9 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 14 Feb 2024 17:07:21 -0500 Subject: [PATCH 123/180] Pull in the new copy of pnpm-sync-lib. --- common/config/rush/pnpm-lock.yaml | 236 ++---------------- common/config/rush/repo-state.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-lib/src/api/Rush.ts | 3 +- .../rush-lib/src/cli/RushXCommandLine.ts | 25 +- .../src/cli/test/RushXCommandLine.test.ts | 2 +- .../installManager/WorkspaceInstallManager.ts | 32 ++- .../operations/PnpmSyncCopyOperationPlugin.ts | 21 +- .../src/logic/pnpm/PnpmShrinkwrapFile.ts | 40 ++- 9 files changed, 108 insertions(+), 255 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c0f148ff698..dd95d014516 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1774,10 +1774,10 @@ importers: version: link:../../heft-plugins/heft-typescript-plugin '@types/jest': specifier: ts4.9 - version: 29.5.11 + version: 29.5.12 '@types/node': specifier: ts4.9 - version: 20.11.14 + version: 20.11.17 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -3208,8 +3208,8 @@ importers: specifier: ~6.1.0 version: 6.1.1 pnpm-sync-lib: - specifier: 0.1.0 - version: 0.1.0 + specifier: 0.1.2 + version: 0.1.2 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -8767,11 +8767,6 @@ packages: webpack: 4.47.0(webpack-cli@3.3.12) dev: true - /@pnpm/constants@7.1.1: - resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} - engines: {node: '>=16.14'} - dev: false - /@pnpm/crypto.base32-hash@1.0.1: resolution: {integrity: sha512-pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==} engines: {node: '>=14.6'} @@ -8796,35 +8791,11 @@ packages: semver: 7.5.4 dev: false - /@pnpm/dependency-path@2.1.7: - resolution: {integrity: sha512-/q3xNNgAEKkG0FvU8o/6B06nrBhSl1i34ZMEQDOhHFMDzS0mWqnIogb54seVKySNxfdJdyqfedjNnNIzKrPbkg==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/crypto.base32-hash': 2.0.0 - '@pnpm/types': 9.4.2 - encode-registry: 3.0.1 - semver: 7.5.4 - dev: false - /@pnpm/error@1.4.0: resolution: {integrity: sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA==} engines: {node: '>=10.16'} dev: false - /@pnpm/error@5.0.2: - resolution: {integrity: sha512-0TEm+tWNYm+9uh6DSKyRbv8pv/6b4NL0PastLvMxIoqZbBZ5Zj1cYi332R9xsSUi31ZOsu2wpgn/bC7DA9hrjg==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/constants': 7.1.1 - dev: false - - /@pnpm/git-utils@1.0.0: - resolution: {integrity: sha512-lUI+XrzOJN4zdPGOGnFUrmtXAXpXi8wD8OI0nWOZmlh+raqbLzC3VkXu1zgaduOK6YonOcnQW88O+ojav1rAdA==} - engines: {node: '>=16.14'} - dependencies: - execa: /safe-execa@0.1.2 - dev: false - /@pnpm/link-bins@5.3.25: resolution: {integrity: sha512-9Xq8lLNRHFDqvYPXPgaiKkZ4rtdsm7izwM/cUsFDc5IMnG0QYIVBXQbgwhz2UvjUotbJrvfKLJaCfA3NGBnLDg==} engines: {node: '>=10.16'} @@ -8844,39 +8815,6 @@ packages: ramda: 0.27.2 dev: false - /@pnpm/lockfile-file@8.1.6(@pnpm/logger@5.0.0): - resolution: {integrity: sha512-ObCi2cONJ5DXqWu+h5TxlRvHTlGN9E63zGW/kghqiJFG562OxIS1pDndqwtSvqPyCt7DuoKSR/LVd/+XkpZwiw==} - engines: {node: '>=16.14'} - peerDependencies: - '@pnpm/logger': ^5.0.0 - dependencies: - '@pnpm/constants': 7.1.1 - '@pnpm/dependency-path': 2.1.7 - '@pnpm/error': 5.0.2 - '@pnpm/git-utils': 1.0.0 - '@pnpm/lockfile-types': 5.1.5 - '@pnpm/logger': 5.0.0 - '@pnpm/merge-lockfile-changes': 5.0.7 - '@pnpm/types': 9.4.2 - '@pnpm/util.lex-comparator': 1.0.0 - '@zkochan/rimraf': 2.1.3 - comver-to-semver: 1.0.0 - js-yaml: /@zkochan/js-yaml@0.0.6 - normalize-path: 3.0.0 - ramda: /@pnpm/ramda@0.28.1 - semver: 7.5.4 - sort-keys: 4.2.0 - strip-bom: 4.0.0 - write-file-atomic: 5.0.1 - dev: false - - /@pnpm/lockfile-types@5.1.5: - resolution: {integrity: sha512-02FP0HynzX+2DcuPtuMy7PH+kLIC0pevAydAOK+zug2bwdlSLErlvSkc+4+3dw60eRWgUXUqyfO2eR/Ansdbng==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/types': 9.4.2 - dev: false - /@pnpm/logger@4.0.0: resolution: {integrity: sha512-SIShw+k556e7S7tLZFVSIHjCdiVog1qWzcKW2RbLEHPItdisAFVNIe34kYd9fMSswTlSRLS/qRjw3ZblzWmJ9Q==} engines: {node: '>=12.17'} @@ -8885,24 +8823,6 @@ packages: ndjson: 2.0.0 dev: true - /@pnpm/logger@5.0.0: - resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} - engines: {node: '>=12.17'} - dependencies: - bole: 5.0.10 - ndjson: 2.0.0 - dev: false - - /@pnpm/merge-lockfile-changes@5.0.7: - resolution: {integrity: sha512-fYmX1+EHv3wg7l4A9FCEkjgEBIHaY6JosknkLk3pL8dbB9k6unjIrF9f2onNtpj3XUlWxZ3aBw9THk/Bf6hKow==} - engines: {node: '>=16.14'} - dependencies: - '@pnpm/lockfile-types': 5.1.5 - comver-to-semver: 1.0.0 - ramda: /@pnpm/ramda@0.28.1 - semver: 7.5.4 - dev: false - /@pnpm/package-bins@4.1.0: resolution: {integrity: sha512-57/ioGYLBbVRR80Ux9/q2i3y8Q+uQADc3c+Yse8jr/60YLOi3jcWz13e2Jy+ANYtZI258Qc5wk2X077rp0Ly/Q==} engines: {node: '>=10.16'} @@ -8912,10 +8832,6 @@ packages: is-subdir: 1.2.0 dev: false - /@pnpm/ramda@0.28.1: - resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==} - dev: false - /@pnpm/read-modules-dir@2.0.3: resolution: {integrity: sha512-i9OgRvSlxrTS9a2oXokhDxvQzDtfqtsooJ9jaGoHkznue5aFCTSrNZFQ6M18o8hC03QWfnxaKi0BtOvNkKu2+A==} engines: {node: '>=10.13'} @@ -8966,16 +8882,6 @@ packages: engines: {node: '>=16.14'} dev: false - /@pnpm/types@9.4.2: - resolution: {integrity: sha512-g1hcF8Nv4gd76POilz9gD4LITAPXOe5nX4ijgr8ixCbLQZfcpYiMfJ+C1RlMNRUDo8vhlNB4O3bUlxmT6EAQXA==} - engines: {node: '>=16.14'} - dev: false - - /@pnpm/util.lex-comparator@1.0.0: - resolution: {integrity: sha512-3aBQPHntVgk5AweBWZn+1I/fqZ9krK/w01197aYVkAJQGftb+BVWgEepxY5GChjSW12j52XX+CmfynYZ/p0DFQ==} - engines: {node: '>=12.22.0'} - dev: false - /@pnpm/write-project-manifest@1.1.7: resolution: {integrity: sha512-OLkDZSqkA1mkoPNPvLFXyI6fb0enCuFji6Zfditi/CLAo9kmIhQFmEUDu4krSB8i908EljG8YwL5Xjxzm5wsWA==} engines: {node: '>=10.16'} @@ -9771,23 +9677,6 @@ packages: semver: 7.5.4 z-schema: 5.0.5 - /@rushstack/node-core-library@3.64.2: - resolution: {integrity: sha512-n1S2VYEklONiwKpUyBq/Fym6yAsfsCXrqFabuOMcCuj4C+zW+HyaspSHXJCKqkMxfjviwe/c9+DUqvRWIvSN9Q==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.4 - semver: 7.5.4 - z-schema: 5.0.5 - dev: false - /@rushstack/operation-graph@0.2.3(@types/node@18.17.15): resolution: {integrity: sha512-/GbudYBU5+4v40lPFboiVwdb8LN6+pXe/SfkI+/qUegn4mJ/5RJ9YsrwdBAXM32IwIrBoLsPiZ+1YDzhd0c5wg==} peerDependencies: @@ -9800,21 +9689,6 @@ packages: '@types/node': 18.17.15 dev: true - /@rushstack/package-extractor@0.6.23: - resolution: {integrity: sha512-ySRr7yLFWwibh7XPqDokMK7N6UAfT+j+34JoP+Ta6oKYcDqFRqW/lbV923wW26rrx7L8lHQOldUDskIssn39dw==} - dependencies: - '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': 3.64.2 - '@rushstack/terminal': 0.7.20 - ignore: 5.1.9 - jszip: 3.8.0 - minimatch: 3.0.8 - npm-packlist: 2.1.5 - semver: 7.5.4 - transitivePeerDependencies: - - '@types/node' - dev: false - /@rushstack/rig-package@0.5.1: resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: @@ -9837,17 +9711,6 @@ packages: - '@types/node' - webpack - /@rushstack/terminal@0.7.20: - resolution: {integrity: sha512-e23GExH43r1VSpcudhvXNlatjDn/jZiajaW3Bs/Nd9wyRPsWxs1b+6iEFdZSDoBDRwAKxrSv96no9qCszOSmkQ==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 3.64.2 - dev: false - /@rushstack/tree-pattern@0.3.2: resolution: {integrity: sha512-cF8gIPVDQSM9Ui2L0gRMmn63/iDA8JSgeqI575evPYAtDcIL2W65wvpWkWBTuvsEJjmecXoX9hCj7suzyIlzEA==} dev: true @@ -11565,8 +11428,8 @@ packages: expect: 29.6.2 pretty-format: 29.6.2 - /@types/jest@29.5.11: - resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: expect: 29.6.2 pretty-format: 29.6.2 @@ -11678,8 +11541,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.14: - resolution: {integrity: sha512-w3yWCcwULefjP9DmDDsgUskrMoOy5Z8MiwKHr1FvqGPtx7CvJzQvxD7eKpxNtklQxLruxSXWddyeRtyud0RcXQ==} + /@types/node@20.11.17: + resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} dependencies: undici-types: 5.26.5 dev: true @@ -12575,28 +12438,6 @@ packages: is-windows: 1.0.2 dev: false - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: false - - /@zkochan/rimraf@2.1.3: - resolution: {integrity: sha512-mCfR3gylCzPC+iqdxEA6z5SxJeOgzgbwmyxanKriIne5qZLswDe/M43aD3p5MNzwzXRhbZg/OX+MpES6Zk1a6A==} - engines: {node: '>=12.10'} - dependencies: - rimraf: 3.0.2 - dev: false - - /@zkochan/which@2.0.3: - resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: false - /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} @@ -13640,13 +13481,6 @@ packages: individual: 3.0.0 dev: true - /bole@5.0.10: - resolution: {integrity: sha512-5IiUWQ8QRQ8yHf46VPQ7GH3nj0Jy7P4heaENBVmsGfHP1Gtd0wqkvK6C3iHLUMdG3SMFx2DD8FqoIQcnMpdIdQ==} - dependencies: - fast-safe-stringify: 2.1.1 - individual: 3.0.0 - dev: false - /bonjour-service@1.1.1: resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} dependencies: @@ -14522,11 +14356,6 @@ packages: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: true - /comver-to-semver@1.0.0: - resolution: {integrity: sha512-gcGtbRxjwROQOdXLUWH1fQAXqThUVRZ219aAwgtX3KfYw429/Zv6EIJRf5TBSzWdAGwePmqH7w70WTaX4MDqag==} - engines: {node: '>=12.17'} - dev: false - /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -15633,13 +15462,6 @@ packages: mem: 8.1.1 dev: false - /encode-registry@3.0.1: - resolution: {integrity: sha512-6qOwkl1g0fv0DN3Y3ggr2EaZXN71aoAqPp3p/pVaWSBSIo+YjLOWN61Fva43oVyQNPf7kgm8lkudzlzojwE2jw==} - engines: {node: '>=10'} - dependencies: - mem: 8.1.1 - dev: false - /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -18340,6 +18162,7 @@ packages: /individual@3.0.0: resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + dev: true /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -19705,6 +19528,7 @@ packages: /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} @@ -20739,6 +20563,7 @@ packages: readable-stream: 3.6.2 split2: 3.2.2 through2: 4.0.2 + dev: true /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} @@ -21491,10 +21316,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - /path-name@1.0.0: - resolution: {integrity: sha512-/dcAb5vMXH0f51yvMuSUqFpxUcA8JelbRmE5mW/p4CUJxrNgK24IkstnV7ENtg2IDGBOu6izKTG6eilbnbNKWQ==} - dev: false - /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -21623,15 +21444,8 @@ packages: - typescript dev: true - /pnpm-sync-lib@0.1.0: - resolution: {integrity: sha512-s+LzY+TElBBMPMRTQJWsWxvMIXqHgiDhmKp4F0ZvNlBnnB0MAQjsyARtJm29NlJiDT+TX3L1FSCFi8HEooAAEw==} - dependencies: - '@pnpm/lockfile-file': 8.1.6(@pnpm/logger@5.0.0) - '@pnpm/logger': 5.0.0 - '@rushstack/node-core-library': 3.64.2 - '@rushstack/package-extractor': 0.6.23 - transitivePeerDependencies: - - '@types/node' + /pnpm-sync-lib@0.1.2: + resolution: {integrity: sha512-99OOkkff1xXabnjVjFW/ri5lZAz6KkLTM0hSQXA9bSOZYyMHpoQXY8TyFmZ8z3k91hKe2p5yaEAwmhgdCbXAyg==} dev: false /polished@4.2.2: @@ -23356,15 +23170,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-execa@0.1.2: - resolution: {integrity: sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==} - engines: {node: '>=12'} - dependencies: - '@zkochan/which': 2.0.3 - execa: 5.1.1 - path-name: 1.0.0 - dev: false - /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -23877,11 +23682,6 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: false - /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: true @@ -24135,6 +23935,7 @@ packages: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.2 + dev: true /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -24760,6 +24561,7 @@ packages: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: readable-stream: 3.6.2 + dev: true /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -26495,14 +26297,6 @@ packages: imurmurhash: 0.1.4 signal-exit: 3.0.7 - /write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - imurmurhash: 0.1.4 - signal-exit: 4.1.0 - dev: false - /write-yaml-file@4.2.0: resolution: {integrity: sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==} engines: {node: '>=10.13'} diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index ad4016d6181..bb8fb138cf0 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "3bceb357183173e58aa624d2fc84bdc450e84f2e", + "pnpmShrinkwrapHash": "a1684087493dfb4e2676ef7d97718f17cf42d016", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 5f87c8dca9c..ac180322b0e 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -58,7 +58,7 @@ "tar": "~6.1.11", "true-case-path": "~2.2.1", "uuid": "~8.3.2", - "pnpm-sync-lib": "0.1.0" + "pnpm-sync-lib": "0.1.2" }, "devDependencies": { "@pnpm/logger": "4.0.0", diff --git a/libraries/rush-lib/src/api/Rush.ts b/libraries/rush-lib/src/api/Rush.ts index 83f384a47ca..fce89a84407 100644 --- a/libraries/rush-lib/src/api/Rush.ts +++ b/libraries/rush-lib/src/api/Rush.ts @@ -109,7 +109,8 @@ export class Rush { public static launchRushX(launcherVersion: string, options: ILaunchOptions): void { options = Rush._normalizeLaunchOptions(options); Rush._assignRushInvokedFolder(); - RushXCommandLine.launchRushX(launcherVersion, options); + // eslint-disable-next-line no-console + RushXCommandLine.launchRushXAsync(launcherVersion, options).catch(console.error); // CommandLineParser.execute() should never reject the promise } /** diff --git a/libraries/rush-lib/src/cli/RushXCommandLine.ts b/libraries/rush-lib/src/cli/RushXCommandLine.ts index d3e902f947a..aaa032d6ef6 100644 --- a/libraries/rush-lib/src/cli/RushXCommandLine.ts +++ b/libraries/rush-lib/src/cli/RushXCommandLine.ts @@ -3,7 +3,7 @@ import colors from 'colors/safe'; import * as path from 'path'; -import { PackageJsonLookup, type IPackageJson, Text, FileSystem } from '@rushstack/node-core-library'; +import { PackageJsonLookup, type IPackageJson, Text, FileSystem, Async } from '@rushstack/node-core-library'; import { DEFAULT_CONSOLE_WIDTH, PrintUtilities } from '@rushstack/terminal'; import { Utilities } from '../utilities/Utilities'; @@ -15,7 +15,7 @@ import { RushStartupBanner } from './RushStartupBanner'; import { EventHooksManager } from '../logic/EventHooksManager'; import { Event } from '../api/EventHooks'; import { EnvironmentVariableNames } from '../api/EnvironmentConfiguration'; -import { pnpmSyncCopy } from 'pnpm-sync-lib'; +import { pnpmSyncCopyAsync } from 'pnpm-sync-lib'; interface IRushXCommandLineArguments { /** @@ -65,7 +65,7 @@ class ProcessError extends Error { } export class RushXCommandLine { - public static launchRushX(launcherVersion: string, options: ILaunchOptions): void { + public static async launchRushXAsync(launcherVersion: string, options: ILaunchOptions): Promise { try { const rushxArguments: IRushXCommandLineArguments = RushXCommandLine._parseCommandLineArguments(); const rushConfiguration: RushConfiguration | undefined = RushConfiguration.tryLoadFromDefaultLocation({ @@ -89,7 +89,7 @@ export class RushXCommandLine { // promise exception), so we start with the assumption that the exit code is 1 // and set it to 0 only on success. process.exitCode = 1; - RushXCommandLine._launchRushXInternal(rushxArguments, rushConfiguration, options); + await RushXCommandLine._launchRushXInternalAsync(rushxArguments, rushConfiguration, options); if (attemptHooks) { try { eventHooksManager?.handle(Event.postRushx, rushxArguments.isDebug, rushxArguments.ignoreHooks); @@ -112,11 +112,11 @@ export class RushXCommandLine { } } - private static _launchRushXInternal( + private static async _launchRushXInternalAsync( rushxArguments: IRushXCommandLineArguments, rushConfiguration: RushConfiguration | undefined, options: ILaunchOptions - ): void { + ): Promise { if (!rushxArguments.quiet) { RushStartupBanner.logStreamlinedBanner(Rush.version, options.isManaged); } @@ -213,8 +213,17 @@ export class RushXCommandLine { if (experiments?.usePnpmSyncForInjectedDependencies) { const pnpmSyncJsonPath: string = packageFolder + '/node_modules/.pnpm-sync.json'; - if (FileSystem.exists(pnpmSyncJsonPath)) { - void pnpmSyncCopy(pnpmSyncJsonPath); + if (await FileSystem.existsAsync(pnpmSyncJsonPath)) { + const { PackageExtractor } = await import( + /* webpackChunkName: 'PackageExtractor' */ + '@rushstack/package-extractor' + ); + await pnpmSyncCopyAsync({ + pnpmSyncJsonPath, + ensureFolder: FileSystem.ensureFolderAsync, + forEachAsyncWithConcurrency: Async.forEachAsync, + getPackageIncludedFiles: PackageExtractor.getPackageIncludedFilesAsync + }); } } } diff --git a/libraries/rush-lib/src/cli/test/RushXCommandLine.test.ts b/libraries/rush-lib/src/cli/test/RushXCommandLine.test.ts index b29f362a3c8..b06f0bdfd7d 100644 --- a/libraries/rush-lib/src/cli/test/RushXCommandLine.test.ts +++ b/libraries/rush-lib/src/cli/test/RushXCommandLine.test.ts @@ -94,7 +94,7 @@ describe(RushXCommandLine.name, () => { jest.restoreAllMocks(); }); - describe(RushXCommandLine.launchRushX.name, () => { + describe(RushXCommandLine.launchRushXAsync.name, () => { it('prints usage info', () => { process.argv = ['node', 'startx.js', '--help']; executeLifecycleCommandMock!.mockReturnValue(0); diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index d8bd0f8ae7f..8b37c879585 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -33,9 +33,9 @@ import { EnvironmentConfiguration } from '../../api/EnvironmentConfiguration'; import { ShrinkwrapFileFactory } from '../ShrinkwrapFileFactory'; import { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile'; import { type CustomTipId, type ICustomTipInfo, PNPM_CUSTOM_TIPS } from '../../api/CustomTipsConfiguration'; -import type { PnpmShrinkwrapFile } from '../pnpm/PnpmShrinkwrapFile'; +import { PnpmShrinkwrapFile } from '../pnpm/PnpmShrinkwrapFile'; import { objectsAreDeepEqual } from '../../utilities/objectUtilities'; -import { pnpmSyncPrepare } from 'pnpm-sync-lib'; +import { type ILockfile, pnpmSyncPrepareAsync } from 'pnpm-sync-lib'; import type { Subspace } from '../../api/Subspace'; /** @@ -113,9 +113,9 @@ export class WorkspaceInstallManager extends BaseInstallManager { ); if (orphanedProjects.length > 0) { - for (const orhpanedProject of orphanedProjects) { + for (const orphanedProject of orphanedProjects) { shrinkwrapWarnings.push( - `Your ${this.rushConfiguration.shrinkwrapFilePhrase} references "${orhpanedProject}" ` + + `Your ${this.rushConfiguration.shrinkwrapFilePhrase} references "${orphanedProject}" ` + 'which was not found in rush.json' ); } @@ -351,7 +351,7 @@ export class WorkspaceInstallManager extends BaseInstallManager { } /** - * Runs "npm install" in the common folder. + * Runs "pnpm install" in the common folder. */ protected async installAsync(cleanInstall: boolean, subspace: Subspace): Promise { // Example: "C:\MyRepo\common\temp\npm-local\node_modules\.bin\npm" @@ -505,8 +505,26 @@ export class WorkspaceInstallManager extends BaseInstallManager { // the pnpm-sync will generate the pnpm-sync.json based on lockfile if (this.rushConfiguration.packageManager === 'pnpm' && experiments?.usePnpmSyncForInjectedDependencies) { const pnpmLockfilePath: string = this.rushConfiguration.tempShrinkwrapFilename; - const dotPnpmFolderPath: string = this.rushConfiguration.commonTempFolder + '/node_modules/.pnpm'; - await pnpmSyncPrepare(pnpmLockfilePath, dotPnpmFolderPath); + const pnpmStorePath: string = `${this.rushConfiguration.commonTempFolder}/node_modules/.pnpm`; + await pnpmSyncPrepareAsync({ + lockfilePath: pnpmLockfilePath, + storePath: pnpmStorePath, + readWantedLockfile: async (lockfilePath) => { + const wantedPnpmLockfile: PnpmShrinkwrapFile | undefined = await PnpmShrinkwrapFile.loadFromFile( + lockfilePath, + { withCaching: true } + ); + + if (!wantedPnpmLockfile) { + return null; + } else { + const result: ILockfile = { + importers: Object.fromEntries(wantedPnpmLockfile.importers.entries()) + }; + return result; + } + } + }); } // If all attempts fail we just terminate. No special handling needed. diff --git a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts index 752e480d65c..e2729b937cc 100644 --- a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem } from '@rushstack/node-core-library'; +import { Async, FileSystem } from '@rushstack/node-core-library'; import { OperationStatus } from './OperationStatus'; import type { IOperationRunnerContext } from './IOperationRunner'; import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks'; import type { OperationExecutionRecord } from './OperationExecutionRecord'; -import { pnpmSyncCopy } from 'pnpm-sync-lib'; +import { pnpmSyncCopyAsync } from 'pnpm-sync-lib'; const PLUGIN_NAME: 'PnpmSyncCopyOperationPlugin' = 'PnpmSyncCopyOperationPlugin'; @@ -33,9 +33,20 @@ export class PnpmSyncCopyOperationPlugin implements IPhasedCommandPlugin { return; } - const pnpmSyncJsonPath: string = project?.projectFolder + '/node_modules/.pnpm-sync.json'; - if (FileSystem.exists(pnpmSyncJsonPath)) { - await pnpmSyncCopy(pnpmSyncJsonPath); + if (project) { + const pnpmSyncJsonPath: string = `${project.projectFolder}/node_modules/.pnpm-sync.json`; + if (await FileSystem.exists(pnpmSyncJsonPath)) { + const { PackageExtractor } = await import( + /* webpackChunkName: 'PackageExtractor' */ + '@rushstack/package-extractor' + ); + await pnpmSyncCopyAsync({ + pnpmSyncJsonPath, + ensureFolder: FileSystem.ensureFolderAsync, + forEachAsyncWithConcurrency: Async.forEachAsync, + getPackageIncludedFiles: PackageExtractor.getPackageIncludedFilesAsync + }); + } } } ); diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts index 7f5bd13a2ff..ce49a95b521 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts @@ -133,6 +133,10 @@ export interface IPnpmShrinkwrapYaml { overrides?: { [dependency: string]: string }; } +export interface ILoadFromFileOptions { + withCaching?: boolean; +} + /** * Given an encoded "dependency key" from the PNPM shrinkwrap file, this parses it into an equivalent * DependencySpecifier. @@ -243,6 +247,8 @@ export function normalizePnpmVersionSpecifier(versionSpecifier: IPnpmVersionSpec } export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { + private static _cacheByLockfilePath: Map = new Map(); + public readonly shrinkwrapFileMajorVersion: number; public readonly isWorkspaceCompatible: boolean; public readonly registry: string; @@ -286,16 +292,30 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { this._integrities = new Map(); } - public static loadFromFile(shrinkwrapYamlFilename: string): PnpmShrinkwrapFile | undefined { - try { - const shrinkwrapContent: string = FileSystem.readFile(shrinkwrapYamlFilename); - return PnpmShrinkwrapFile.loadFromString(shrinkwrapContent); - } catch (error) { - if (FileSystem.isNotExistError(error as Error)) { - return undefined; // file does not exist - } - throw new Error(`Error reading "${shrinkwrapYamlFilename}":\n ${(error as Error).message}`); + public static loadFromFile( + shrinkwrapYamlFilePath: string, + { withCaching }: ILoadFromFileOptions = {} + ): PnpmShrinkwrapFile | undefined { + let loaded: PnpmShrinkwrapFile | undefined; + if (withCaching) { + loaded = PnpmShrinkwrapFile._cacheByLockfilePath.get(shrinkwrapYamlFilePath); } + + // TODO: Promisify this + loaded ??= (() => { + try { + const shrinkwrapContent: string = FileSystem.readFile(shrinkwrapYamlFilePath); + return PnpmShrinkwrapFile.loadFromString(shrinkwrapContent); + } catch (error) { + if (FileSystem.isNotExistError(error as Error)) { + return undefined; // file does not exist + } + throw new Error(`Error reading "${shrinkwrapYamlFilePath}":\n ${(error as Error).message}`); + } + })(); + + PnpmShrinkwrapFile._cacheByLockfilePath.set(shrinkwrapYamlFilePath, loaded); + return loaded; } public static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile { @@ -715,7 +735,7 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { RushConstants.pnpmfileGlobalFilename ); - if (FileSystem.exists(subspacePnpmfilePath)) { + if (await FileSystem.exists(subspacePnpmfilePath)) { try { subspacePnpmfile = require(subspacePnpmfilePath); } catch (err) { From 9300ce20a9487cafce309015cd43c0cae1a987a5 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Thu, 15 Feb 2024 13:14:51 -0800 Subject: [PATCH 124/180] fix: readWantedLockfile function should take pnpm-lock.yaml folder path as input --- .../src/logic/installManager/WorkspaceInstallManager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index 8b37c879585..bcb280aace7 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -509,9 +509,9 @@ export class WorkspaceInstallManager extends BaseInstallManager { await pnpmSyncPrepareAsync({ lockfilePath: pnpmLockfilePath, storePath: pnpmStorePath, - readWantedLockfile: async (lockfilePath) => { + readWantedLockfile: async (pnpmLockFolderPath) => { const wantedPnpmLockfile: PnpmShrinkwrapFile | undefined = await PnpmShrinkwrapFile.loadFromFile( - lockfilePath, + pnpmLockFolderPath + 'pnpm-lock.yaml', { withCaching: true } ); From c135995cd8fd3c650e157be5929dec0c0ff17445 Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Thu, 15 Feb 2024 14:23:11 -0800 Subject: [PATCH 125/180] fix: use pnpm-sync-lib 0.1.3 --- common/config/rush/pnpm-lock.yaml | 14 +++++++------- common/config/rush/repo-state.json | 2 +- libraries/rush-lib/package.json | 2 +- .../installManager/WorkspaceInstallManager.ts | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dd95d014516..c9dc37338e2 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1777,7 +1777,7 @@ importers: version: 29.5.12 '@types/node': specifier: ts4.9 - version: 20.11.17 + version: 20.11.19 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -3208,8 +3208,8 @@ importers: specifier: ~6.1.0 version: 6.1.1 pnpm-sync-lib: - specifier: 0.1.2 - version: 0.1.2 + specifier: 0.1.3 + version: 0.1.3 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -11541,8 +11541,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.17: - resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} + /@types/node@20.11.19: + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} dependencies: undici-types: 5.26.5 dev: true @@ -21444,8 +21444,8 @@ packages: - typescript dev: true - /pnpm-sync-lib@0.1.2: - resolution: {integrity: sha512-99OOkkff1xXabnjVjFW/ri5lZAz6KkLTM0hSQXA9bSOZYyMHpoQXY8TyFmZ8z3k91hKe2p5yaEAwmhgdCbXAyg==} + /pnpm-sync-lib@0.1.3: + resolution: {integrity: sha512-bNGuQmEnlIUSxrdtHTZHFt9JKEBqN39nU1QgTdMWjBeXIxCV7M99ylOoE4uH7KutHHacKlW7PD4+2ktApPUzog==} dev: false /polished@4.2.2: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index bb8fb138cf0..bd99e13a499 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "a1684087493dfb4e2676ef7d97718f17cf42d016", + "pnpmShrinkwrapHash": "332000563488f49a00610acb8ef732b9402e01e9", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index ac180322b0e..37a93643b45 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -58,7 +58,7 @@ "tar": "~6.1.11", "true-case-path": "~2.2.1", "uuid": "~8.3.2", - "pnpm-sync-lib": "0.1.2" + "pnpm-sync-lib": "0.1.3" }, "devDependencies": { "@pnpm/logger": "4.0.0", diff --git a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts index bcb280aace7..c3e092eb394 100644 --- a/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts @@ -509,14 +509,14 @@ export class WorkspaceInstallManager extends BaseInstallManager { await pnpmSyncPrepareAsync({ lockfilePath: pnpmLockfilePath, storePath: pnpmStorePath, - readWantedLockfile: async (pnpmLockFolderPath) => { + readPnpmLockfile: async (lockfilePath: string) => { const wantedPnpmLockfile: PnpmShrinkwrapFile | undefined = await PnpmShrinkwrapFile.loadFromFile( - pnpmLockFolderPath + 'pnpm-lock.yaml', + lockfilePath, { withCaching: true } ); if (!wantedPnpmLockfile) { - return null; + return undefined; } else { const result: ILockfile = { importers: Object.fromEntries(wantedPnpmLockfile.importers.entries()) From 1cc7d47ac260c9185c70b1d0e8ff4e409275853c Mon Sep 17 00:00:00 2001 From: "chao.guo" Date: Thu, 15 Feb 2024 14:40:05 -0800 Subject: [PATCH 126/180] fix: fixs based PR feedback --- .../src/logic/operations/PnpmSyncCopyOperationPlugin.ts | 2 +- libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts index e2729b937cc..a4e3f7af813 100644 --- a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts @@ -2,12 +2,12 @@ // See LICENSE in the project root for license information. import { Async, FileSystem } from '@rushstack/node-core-library'; +import { pnpmSyncCopyAsync } from 'pnpm-sync-lib'; import { OperationStatus } from './OperationStatus'; import type { IOperationRunnerContext } from './IOperationRunner'; import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks'; import type { OperationExecutionRecord } from './OperationExecutionRecord'; -import { pnpmSyncCopyAsync } from 'pnpm-sync-lib'; const PLUGIN_NAME: 'PnpmSyncCopyOperationPlugin' = 'PnpmSyncCopyOperationPlugin'; diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts index ce49a95b521..52bc7f492d0 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts @@ -247,6 +247,7 @@ export function normalizePnpmVersionSpecifier(versionSpecifier: IPnpmVersionSpec } export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { + // TODO: Implement cache eviction when a lockfile is copied back private static _cacheByLockfilePath: Map = new Map(); public readonly shrinkwrapFileMajorVersion: number; @@ -735,7 +736,7 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { RushConstants.pnpmfileGlobalFilename ); - if (await FileSystem.exists(subspacePnpmfilePath)) { + if (await FileSystem.existsAsync(subspacePnpmfilePath)) { try { subspacePnpmfile = require(subspacePnpmfilePath); } catch (err) { From 9450defd77e0d708f7c8a33798733ba7aa73aeef Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Thu, 15 Feb 2024 18:29:06 -0500 Subject: [PATCH 127/180] Update a snapshot. --- .../cli/test/__snapshots__/RushXCommandLine.test.ts.snap | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/rush-lib/src/cli/test/__snapshots__/RushXCommandLine.test.ts.snap b/libraries/rush-lib/src/cli/test/__snapshots__/RushXCommandLine.test.ts.snap index 2f406bb3dd5..e171ae4d905 100644 --- a/libraries/rush-lib/src/cli/test/__snapshots__/RushXCommandLine.test.ts.snap +++ b/libraries/rush-lib/src/cli/test/__snapshots__/RushXCommandLine.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`RushXCommandLine launchRushX executes a valid package script 1`] = ` +exports[`RushXCommandLine launchRushXAsync executes a valid package script 1`] = ` Array [ Array [ "Rush Multi-Project Build Tool 40.40.40 - Node.js 12.12.12 (LTS)", @@ -12,9 +12,9 @@ Array [ ] `; -exports[`RushXCommandLine launchRushX executes a valid package script with no startup banner 1`] = `Array []`; +exports[`RushXCommandLine launchRushXAsync executes a valid package script with no startup banner 1`] = `Array []`; -exports[`RushXCommandLine launchRushX fails if the package does not contain a matching script 1`] = ` +exports[`RushXCommandLine launchRushXAsync fails if the package does not contain a matching script 1`] = ` Array [ Array [ "Rush Multi-Project Build Tool 40.40.40 - Node.js 12.12.12 (LTS)", @@ -22,7 +22,7 @@ Array [ ] `; -exports[`RushXCommandLine launchRushX prints usage info 1`] = ` +exports[`RushXCommandLine launchRushXAsync prints usage info 1`] = ` Array [ Array [ "Rush Multi-Project Build Tool 40.40.40 - Node.js 12.12.12 (LTS)", From 02e14e4e9c8d8eb127aa927bdbde2a68678fca4d Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 16 Feb 2024 19:00:48 -0500 Subject: [PATCH 128/180] Remove an unused constructor. --- .../src/logic/operations/PnpmSyncCopyOperationPlugin.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts index a4e3f7af813..c72d59269d0 100644 --- a/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/PnpmSyncCopyOperationPlugin.ts @@ -12,8 +12,6 @@ import type { OperationExecutionRecord } from './OperationExecutionRecord'; const PLUGIN_NAME: 'PnpmSyncCopyOperationPlugin' = 'PnpmSyncCopyOperationPlugin'; export class PnpmSyncCopyOperationPlugin implements IPhasedCommandPlugin { - public constructor() {} - public apply(hooks: PhasedCommandHooks): void { hooks.afterExecuteOperation.tapPromise( PLUGIN_NAME, From fdd12a290305152743f533f88a025556c5a32972 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 16 Feb 2024 18:55:05 -0500 Subject: [PATCH 129/180] Create a pnpm-patches constant. --- .../rush/chao-enable-pnpm-sync_2024-02-16-23-54.json | 10 ++++++++++ common/reviews/api/rush-lib.api.md | 1 + .../rush-lib/src/cli/RushPnpmCommandLineParser.ts | 5 +++-- libraries/rush-lib/src/logic/RushConstants.ts | 6 ++++++ .../rush-lib/src/logic/base/BaseInstallManager.ts | 2 +- 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json new file mode 100644 index 00000000000..348dfefbfe3 --- /dev/null +++ b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Include a `pnpmPatchesCommonFolderName` constant for the folder name \"pnpm-patches\" that gets placed under \"constants.\"", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index f67fd0ec7c0..9ef84fffcae 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -1247,6 +1247,7 @@ export class RushConstants { static readonly pnpmfileGlobalFilename: string; static readonly pnpmfileV1Filename: string; static readonly pnpmfileV6Filename: string; + static readonly pnpmPatchesCommonFolderName: string; static readonly pnpmPatchesFolderName: string; static readonly pnpmV3ShrinkwrapFilename: string; static readonly projectImpactGraphFilename: string; diff --git a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts index 0f3afa73640..6a746f484a7 100644 --- a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts +++ b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts @@ -406,7 +406,7 @@ export class RushPnpmCommandLineParser { if (!objectsAreDeepEqual(currentGlobalPatchedDependencies, newGlobalPatchedDependencies)) { const commonTempPnpmPatchesFolder: string = `${this._rushConfiguration.commonTempFolder}/${RushConstants.pnpmPatchesFolderName}`; - const rushPnpmPatchesFolder: string = `${this._rushConfiguration.commonFolder}/pnpm-${RushConstants.pnpmPatchesFolderName}`; + const rushPnpmPatchesFolder: string = `${this._rushConfiguration.commonFolder}/${RushConstants.pnpmPatchesCommonFolderName}`; // Copy (or delete) common\temp\patches\ --> common\pnpm-patches\ if (FileSystem.exists(commonTempPnpmPatchesFolder)) { FileSystem.ensureEmptyFolder(rushPnpmPatchesFolder); @@ -433,7 +433,8 @@ export class RushPnpmCommandLineParser { await this._doRushUpdateAsync(); this._terminal.writeWarningLine( - `Rush refreshed the ${RushConstants.pnpmConfigFilename}, shrinkwrap file and patch files under the "common/pnpm/patches" folder.\n` + + `Rush refreshed the ${RushConstants.pnpmConfigFilename}, shrinkwrap file and patch files under the ` + + `"${RushConstants.commonFolderName}/${RushConstants.pnpmPatchesCommonFolderName}" folder.\n` + ' Please commit this change to Git.' ); } diff --git a/libraries/rush-lib/src/logic/RushConstants.ts b/libraries/rush-lib/src/logic/RushConstants.ts index 37ea80cacc7..091f4fe4b4e 100644 --- a/libraries/rush-lib/src/logic/RushConstants.ts +++ b/libraries/rush-lib/src/logic/RushConstants.ts @@ -103,6 +103,12 @@ export class RushConstants { */ public static readonly pnpmPatchesFolderName: string = 'patches'; + /** + * The folder name under `/common/temp` used to store checked-in patches. + * Example: `C:\MyRepo\common\pnpm-patches` + */ + public static readonly pnpmPatchesCommonFolderName: string = `pnpm-${RushConstants.pnpmPatchesFolderName}`; + /** * The filename ("shrinkwrap.yaml") used to store state for pnpm */ diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index c876339625c..514f79d78ab 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -438,7 +438,7 @@ export abstract class BaseInstallManager { const commonTempPnpmPatchesFolder: string = `${subspace.getSubspaceTempFolder()}/${ RushConstants.pnpmPatchesFolderName }`; - const rushPnpmPatchesFolder: string = `${this.rushConfiguration.commonFolder}/pnpm-${RushConstants.pnpmPatchesFolderName}`; + const rushPnpmPatchesFolder: string = `${this.rushConfiguration.commonFolder}/${RushConstants.pnpmPatchesCommonFolderName}`; if (FileSystem.exists(rushPnpmPatchesFolder)) { FileSystem.copyFiles({ sourcePath: rushPnpmPatchesFolder, From a9723dac5e0b8cdce2bf0b5842506c4776ca5231 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Fri, 16 Feb 2024 19:00:01 -0800 Subject: [PATCH 130/180] Fix hyperlinks that were broken when API docs were moved to the api.rushstack.io subsite --- apps/api-documenter/README.md | 2 +- apps/api-extractor/README.md | 2 +- apps/heft/README.md | 2 +- build-tests/ts-command-line-test/README.md | 2 +- eslint/eslint-plugin/README.md | 2 +- libraries/api-extractor-model/README.md | 4 ++-- libraries/debug-certificate-manager/README.md | 2 +- libraries/heft-config-file/README.md | 2 +- libraries/module-minifier/README.md | 2 +- libraries/node-core-library/README.md | 2 +- libraries/operation-graph/README.md | 2 +- libraries/package-deps-hash/README.md | 2 +- libraries/package-extractor/README.md | 2 +- libraries/rig-package/README.md | 2 +- libraries/stream-collator/README.md | 2 +- libraries/terminal/README.md | 2 +- libraries/tree-pattern/README.md | 2 +- libraries/ts-command-line/README.md | 2 +- libraries/typings-generator/README.md | 2 +- libraries/worker-pool/README.md | 2 +- 20 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apps/api-documenter/README.md b/apps/api-documenter/README.md index a3109a3cb00..ad3ecfd0e25 100644 --- a/apps/api-documenter/README.md +++ b/apps/api-documenter/README.md @@ -14,6 +14,6 @@ documentation. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/apps/api-documenter/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/api-documenter/) +- [API Reference](https://api.rushstack.io/pages/api-documenter/) API Documenter is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/apps/api-extractor/README.md b/apps/api-extractor/README.md index 1f3ebfa7c14..69c1846fc1d 100644 --- a/apps/api-extractor/README.md +++ b/apps/api-extractor/README.md @@ -46,6 +46,6 @@ For more details and support resources, please visit: https://api-extractor.com/ - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/api-extractor/) +- [API Reference](https://api.rushstack.io/pages/api-extractor/) API Extractor is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/apps/heft/README.md b/apps/heft/README.md index 515c2a82e48..fd224141575 100644 --- a/apps/heft/README.md +++ b/apps/heft/README.md @@ -85,6 +85,6 @@ the Rush Stack website. - [UPGRADING.md]( https://github.com/microsoft/rushstack/blob/main/apps/heft/UPGRADING.md) - Instructions for migrating existing projects to use a newer version of Heft -- [API Reference](https://rushstack.io/pages/api/heft/) +- [API Reference](https://api.rushstack.io/pages/heft/) Heft is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/build-tests/ts-command-line-test/README.md b/build-tests/ts-command-line-test/README.md index c85f938dbd0..513fc01061c 100644 --- a/build-tests/ts-command-line-test/README.md +++ b/build-tests/ts-command-line-test/README.md @@ -131,7 +131,7 @@ Console Title: Default title Arguments to be executed: ["1","2","3"] ``` -For more about environment variables, see the [IBaseCommandLineDefinition.environmentVariable](https://rushstack.io/pages/api/ts-command-line.ibasecommandlinedefinition.environmentvariable/) documentation. +For more about environment variables, see the [IBaseCommandLineDefinition.environmentVariable](https://api.rushstack.io/pages/ts-command-line.ibasecommandlinedefinition.environmentvariable/) documentation. ## More information diff --git a/eslint/eslint-plugin/README.md b/eslint/eslint-plugin/README.md index d1ab3447e02..c259143b929 100644 --- a/eslint/eslint-plugin/README.md +++ b/eslint/eslint-plugin/README.md @@ -81,7 +81,7 @@ If you are designing a new JSON file format, it's a good idea to avoid `null` en there are better representations that convey more information about an item that is unknown, omitted, or disabled. If you do need to declare types for JSON structures containing `null`, rather than suppressing the lint rule, you can use a specialized -[JsonNull](https://rushstack.io/pages/api/node-core-library.jsonnull/) +[JsonNull](https://api.rushstack.io/pages/node-core-library.jsonnull/) type as provided by [@rushstack/node-core-library](https://www.npmjs.com/package/@rushstack/node-core-library). diff --git a/libraries/api-extractor-model/README.md b/libraries/api-extractor-model/README.md index 9c2b5c243d4..d00064af4cd 100644 --- a/libraries/api-extractor-model/README.md +++ b/libraries/api-extractor-model/README.md @@ -4,7 +4,7 @@ Use this library to read and write *.api.json files as defined by the [API Extra These files are used to generate a documentation website for your TypeScript package. The files store the API signatures and doc comments that were extracted from your package. -API documentation for this package: https://rushstack.io/pages/api/api-extractor-model/ +API documentation for this package: https://api.rushstack.io/pages/api-extractor-model/ ## Example Usage @@ -63,6 +63,6 @@ a namespace containing static members of the class. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/api-extractor-model/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/api-extractor-model/) +- [API Reference](https://api.rushstack.io/pages/api-extractor-model/) API Extractor is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/debug-certificate-manager/README.md b/libraries/debug-certificate-manager/README.md index 601e4e24298..59ecac4eb78 100644 --- a/libraries/debug-certificate-manager/README.md +++ b/libraries/debug-certificate-manager/README.md @@ -45,6 +45,6 @@ Attempts to locate a previously generated debug certificate and untrust it. Retu - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/debug-certificate-manager/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/debug-certificate-manager/) +- [API Reference](https://api.rushstack.io/pages/debug-certificate-manager/) **@rushstack/debug-certificate-manager** is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/heft-config-file/README.md b/libraries/heft-config-file/README.md index 7019b68ca75..a2f43d2d0ac 100644 --- a/libraries/heft-config-file/README.md +++ b/libraries/heft-config-file/README.md @@ -7,6 +7,6 @@ A library for loading config files for use with the [Heft](https://rushstack.io/ - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/heft-config-file/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/heft-config-file/) +- [API Reference](https://api.rushstack.io/pages/heft-config-file/) Heft is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/module-minifier/README.md b/libraries/module-minifier/README.md index bf2b247f59b..f532520ef55 100644 --- a/libraries/module-minifier/README.md +++ b/libraries/module-minifier/README.md @@ -7,6 +7,6 @@ This library wraps terser in convenient handles for parallelization. It powers @ - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/module-minifier/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/module-minifier/) +- [API Reference](https://api.rushstack.io/pages/module-minifier/) `@rushstack/module-minifier` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/node-core-library/README.md b/libraries/node-core-library/README.md index ecdfac76aca..73e7901f785 100644 --- a/libraries/node-core-library/README.md +++ b/libraries/node-core-library/README.md @@ -33,6 +33,6 @@ demonstrated. If in doubt, create your own NPM package. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/node-core-library/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/node-core-library/) +- [API Reference](https://api.rushstack.io/pages/node-core-library/) `@rushstack/node-core-library` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/operation-graph/README.md b/libraries/operation-graph/README.md index 7f442043cb7..f04f7c25777 100644 --- a/libraries/operation-graph/README.md +++ b/libraries/operation-graph/README.md @@ -7,6 +7,6 @@ This library contains logic for managing and executing tasks in a directed acycl - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/operation-graph/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/operation-graph/) +- [API Reference](https://api.rushstack.io/pages/operation-graph/) `@rushstack/operation-graph` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/package-deps-hash/README.md b/libraries/package-deps-hash/README.md index 9f573086e63..5386749d7a5 100644 --- a/libraries/package-deps-hash/README.md +++ b/libraries/package-deps-hash/README.md @@ -34,6 +34,6 @@ if (_.isEqual(deps, existingDeps)) { - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/package-deps-hash/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/package-deps-hash/) +- [API Reference](https://api.rushstack.io/pages/package-deps-hash/) `@rushstack/package-deps-hash` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/package-extractor/README.md b/libraries/package-extractor/README.md index dd1dc9b4c43..6bdf6b3af4a 100644 --- a/libraries/package-extractor/README.md +++ b/libraries/package-extractor/README.md @@ -7,6 +7,6 @@ A library used for creating an isolated copy of a package and, optionally, bundl - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/deploy-manager/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/deploy-manager/) +- [API Reference](https://api.rushstack.io/pages/deploy-manager/) `@rushstack/package-extractor` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/rig-package/README.md b/libraries/rig-package/README.md index 7f4c4b6eee2..8ad3e006bda 100644 --- a/libraries/rig-package/README.md +++ b/libraries/rig-package/README.md @@ -224,6 +224,6 @@ Note that there are also async variants of the functions that access the filesys - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/rig-package/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/rig-package/) +- [API Reference](https://api.rushstack.io/pages/rig-package/) `@rushstack/rig-package` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/stream-collator/README.md b/libraries/stream-collator/README.md index ae248f51fea..fed7d4f7d75 100644 --- a/libraries/stream-collator/README.md +++ b/libraries/stream-collator/README.md @@ -52,6 +52,6 @@ all background streams which have been completed will be emitted. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/stream-collator/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/stream-collator/) +- [API Reference](https://api.rushstack.io/pages/stream-collator/) `@rushstack/stream-collator` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/terminal/README.md b/libraries/terminal/README.md index 355f5a2afc1..ee8ab33b119 100644 --- a/libraries/terminal/README.md +++ b/libraries/terminal/README.md @@ -48,6 +48,6 @@ capable of matching substrings that span multiple chunks. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/terminal/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/terminal/) +- [API Reference](https://api.rushstack.io/pages/terminal/) `@rushstack/terminal` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/tree-pattern/README.md b/libraries/tree-pattern/README.md index 26093953686..ff9a0284018 100644 --- a/libraries/tree-pattern/README.md +++ b/libraries/tree-pattern/README.md @@ -143,6 +143,6 @@ separate patterns. - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/tree-pattern/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/tree-pattern/) +- [API Reference](https://api.rushstack.io/pages/tree-pattern/) `@rushstack/tree-pattern` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/ts-command-line/README.md b/libraries/ts-command-line/README.md index f49d5716373..39d0dec42c9 100644 --- a/libraries/ts-command-line/README.md +++ b/libraries/ts-command-line/README.md @@ -240,7 +240,7 @@ You can also mix the two models. For example, we could augment the `WidgetComma - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/ts-command-line/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/ts-command-line/) +- [API Reference](https://api.rushstack.io/pages/ts-command-line/) Here are some real world GitHub projects that illustrate different use cases for **ts-command-line**: diff --git a/libraries/typings-generator/README.md b/libraries/typings-generator/README.md index 784450361aa..123d8a63ac3 100644 --- a/libraries/typings-generator/README.md +++ b/libraries/typings-generator/README.md @@ -158,6 +158,6 @@ is set to `IExportStyles`. If not specified, the interface name will be `IExport - [CHANGELOG.md](https://github.com/microsoft/rushstack/blob/main/libraries/typings-generator/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/typings-generator/) +- [API Reference](https://api.rushstack.io/pages/typings-generator/) `@rushstack/typings-generator` is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/worker-pool/README.md b/libraries/worker-pool/README.md index f2c4671140c..7a35ca43590 100644 --- a/libraries/worker-pool/README.md +++ b/libraries/worker-pool/README.md @@ -7,6 +7,6 @@ This library contains a lightweight worker pool using the NodeJS worker_threads - [CHANGELOG.md]( https://github.com/microsoft/rushstack/blob/main/libraries/worker-pool/CHANGELOG.md) - Find out what's new in the latest version -- [API Reference](https://rushstack.io/pages/api/worker-pool/) +- [API Reference](https://api.rushstack.io/pages/worker-pool/) `@rushstack/worker-pool` is part of the [Rush Stack](https://rushstack.io/) family of projects. From 2b8032e3dd5ef9d63e9b97e633bd8e720f8b94cb Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Fri, 16 Feb 2024 19:00:43 -0800 Subject: [PATCH 131/180] rush change --- .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../heft/octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../terminal/octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ .../octogonz-api-links_2024-02-17-03-00.json | 11 +++++++++++ 19 files changed, 209 insertions(+) create mode 100644 common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json create mode 100644 common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json diff --git a/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..302ec19938d --- /dev/null +++ b/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@microsoft/api-documenter" + } + ], + "packageName": "@microsoft/api-documenter", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..d158d914537 --- /dev/null +++ b/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@microsoft/api-extractor-model" + } + ], + "packageName": "@microsoft/api-extractor-model", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..ff9fd29063e --- /dev/null +++ b/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@microsoft/api-extractor" + } + ], + "packageName": "@microsoft/api-extractor", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..d1070bfbb95 --- /dev/null +++ b/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/debug-certificate-manager" + } + ], + "packageName": "@rushstack/debug-certificate-manager", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..c50ba320e8a --- /dev/null +++ b/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/eslint-plugin" + } + ], + "packageName": "@rushstack/eslint-plugin", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..e309540fd42 --- /dev/null +++ b/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/heft-config-file" + } + ], + "packageName": "@rushstack/heft-config-file", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..d7f4b1307a1 --- /dev/null +++ b/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/heft" + } + ], + "packageName": "@rushstack/heft", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..422c2931862 --- /dev/null +++ b/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/module-minifier" + } + ], + "packageName": "@rushstack/module-minifier", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..9d9eb5cd4f3 --- /dev/null +++ b/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/node-core-library" + } + ], + "packageName": "@rushstack/node-core-library", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..97afa05d751 --- /dev/null +++ b/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/operation-graph" + } + ], + "packageName": "@rushstack/operation-graph", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..b9170c30cdc --- /dev/null +++ b/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/package-deps-hash" + } + ], + "packageName": "@rushstack/package-deps-hash", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..40787638472 --- /dev/null +++ b/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/package-extractor" + } + ], + "packageName": "@rushstack/package-extractor", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..4a60007de65 --- /dev/null +++ b/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/rig-package" + } + ], + "packageName": "@rushstack/rig-package", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..73e96b3f88d --- /dev/null +++ b/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/stream-collator" + } + ], + "packageName": "@rushstack/stream-collator", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..cf3ff623b22 --- /dev/null +++ b/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/terminal" + } + ], + "packageName": "@rushstack/terminal", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..a96f4462dd7 --- /dev/null +++ b/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/tree-pattern" + } + ], + "packageName": "@rushstack/tree-pattern", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..180c375db8a --- /dev/null +++ b/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/ts-command-line" + } + ], + "packageName": "@rushstack/ts-command-line", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..6aa26e273c6 --- /dev/null +++ b/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/typings-generator" + } + ], + "packageName": "@rushstack/typings-generator", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json new file mode 100644 index 00000000000..5ca2499fbcd --- /dev/null +++ b/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix broken link to API documentation", + "type": "patch", + "packageName": "@rushstack/worker-pool" + } + ], + "packageName": "@rushstack/worker-pool", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file From 5b300dfebf42a4976bb8ffb642b17ec1d25c4f97 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 16 Feb 2024 22:25:28 -0500 Subject: [PATCH 132/180] Update common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json --- .../@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json index 348dfefbfe3..b2a27246fdf 100644 --- a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json +++ b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Include a `pnpmPatchesCommonFolderName` constant for the folder name \"pnpm-patches\" that gets placed under \"constants.\"", + "comment": "Include a `pnpmPatchesCommonFolderName` constant for the folder name \"pnpm-patches\" that gets placed under \"common\".", "type": "none" } ], From da74d37c8e08256df5425a38b901b3ab42ab2216 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 17 Feb 2024 06:24:35 +0000 Subject: [PATCH 133/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 26 +++++++++++++ apps/api-documenter/CHANGELOG.md | 9 ++++- apps/api-extractor/CHANGELOG.json | 26 +++++++++++++ apps/api-extractor/CHANGELOG.md | 9 ++++- apps/heft/CHANGELOG.json | 32 +++++++++++++++ apps/heft/CHANGELOG.md | 9 ++++- apps/lockfile-explorer/CHANGELOG.json | 15 +++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 18 +++++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 18 +++++++++ apps/trace-import/CHANGELOG.md | 7 +++- .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../bump-cyclics_2023-09-27-01-48.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ ...de-typescript-part-2_2024-01-16-19-07.json | 10 ----- .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ .../octogonz-api-links_2024-02-17-03-00.json | 11 ------ eslint/eslint-bulk/CHANGELOG.json | 12 ++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- eslint/eslint-config/CHANGELOG.json | 18 +++++++++ eslint/eslint-config/CHANGELOG.md | 7 +++- eslint/eslint-plugin-packlets/CHANGELOG.json | 12 ++++++ eslint/eslint-plugin-packlets/CHANGELOG.md | 7 +++- eslint/eslint-plugin-security/CHANGELOG.json | 12 ++++++ eslint/eslint-plugin-security/CHANGELOG.md | 7 +++- eslint/eslint-plugin/CHANGELOG.json | 17 ++++++++ eslint/eslint-plugin/CHANGELOG.md | 9 ++++- .../heft-api-extractor-plugin/CHANGELOG.json | 24 ++++++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 21 ++++++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 21 ++++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 27 +++++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 24 ++++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 24 ++++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- libraries/api-extractor-model/CHANGELOG.json | 17 ++++++++ libraries/api-extractor-model/CHANGELOG.md | 9 ++++- .../debug-certificate-manager/CHANGELOG.json | 20 ++++++++++ .../debug-certificate-manager/CHANGELOG.md | 9 ++++- libraries/heft-config-file/CHANGELOG.json | 20 ++++++++++ libraries/heft-config-file/CHANGELOG.md | 9 ++++- libraries/load-themed-styles/CHANGELOG.json | 12 ++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 18 +++++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 20 ++++++++++ libraries/module-minifier/CHANGELOG.md | 9 ++++- libraries/node-core-library/CHANGELOG.json | 12 ++++++ libraries/node-core-library/CHANGELOG.md | 9 ++++- libraries/operation-graph/CHANGELOG.json | 17 ++++++++ libraries/operation-graph/CHANGELOG.md | 9 ++++- libraries/package-deps-hash/CHANGELOG.json | 20 ++++++++++ libraries/package-deps-hash/CHANGELOG.md | 9 ++++- libraries/package-extractor/CHANGELOG.json | 29 ++++++++++++++ libraries/package-extractor/CHANGELOG.md | 9 ++++- libraries/rig-package/CHANGELOG.json | 12 ++++++ libraries/rig-package/CHANGELOG.md | 9 ++++- libraries/stream-collator/CHANGELOG.json | 23 +++++++++++ libraries/stream-collator/CHANGELOG.md | 9 ++++- libraries/terminal/CHANGELOG.json | 20 ++++++++++ libraries/terminal/CHANGELOG.md | 9 ++++- libraries/tree-pattern/CHANGELOG.json | 12 ++++++ libraries/tree-pattern/CHANGELOG.md | 9 ++++- libraries/ts-command-line/CHANGELOG.json | 12 ++++++ libraries/ts-command-line/CHANGELOG.md | 9 ++++- libraries/typings-generator/CHANGELOG.json | 20 ++++++++++ libraries/typings-generator/CHANGELOG.md | 9 ++++- libraries/worker-pool/CHANGELOG.json | 17 ++++++++ libraries/worker-pool/CHANGELOG.md | 9 ++++- rigs/heft-node-rig/CHANGELOG.json | 33 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 39 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 +++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 +++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 ++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 ++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 ++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 +++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../CHANGELOG.md | 7 +++- 129 files changed, 1355 insertions(+), 322 deletions(-) delete mode 100644 common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/eslint-plugin-packlets/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json delete mode 100644 common/changes/@rushstack/eslint-plugin-security/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json delete mode 100644 common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/rig-package/bump-cyclics_2023-09-27-01-48.json delete mode 100644 common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/rig-package/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json delete mode 100644 common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/tree-pattern/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json delete mode 100644 common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/ts-command-line/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json delete mode 100644 common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json delete mode 100644 common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index 9ca3d135a20..920d990e319 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,32 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.24", + "tag": "@microsoft/api-documenter_v7.23.24", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.17.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "7.23.23", "tag": "@microsoft/api-documenter_v7.23.23", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index aaa26c781ae..b8247a38198 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 7.23.24 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 7.23.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index b2cf94392ae..00cafe694cb 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,32 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.40.2", + "tag": "@microsoft/api-extractor_v7.40.2", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/rig-package\" to `0.5.2`" + }, + { + "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.17.2`" + } + ] + } + }, { "version": "7.40.1", "tag": "@microsoft/api-extractor_v7.40.1", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index b47ea08236f..8ff56b30366 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 7.40.2 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 7.40.1 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index df26e6d1150..6b792c6544f 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,38 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.64.7", + "tag": "@rushstack/heft_v0.64.7", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/operation-graph\" to `0.2.9`" + }, + { + "comment": "Updating dependency \"@rushstack/rig-package\" to `0.5.2`" + }, + { + "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.17.2`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + } + ] + } + }, { "version": "0.64.6", "tag": "@rushstack/heft_v0.64.6", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index b6a283119b5..e10f41c0493 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.64.7 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 0.64.6 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index db6fdc92213..59ef66b2504 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.24", + "tag": "@rushstack/lockfile-explorer_v1.2.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "1.2.23", "tag": "@rushstack/lockfile-explorer_v1.2.23", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index 72c150a2397..b64b7a57a68 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 1.2.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 1.2.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index a882fbcfb1c..7d2ed5ef254 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.24", + "tag": "@rushstack/rundown_v1.1.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.17.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "1.1.23", "tag": "@rushstack/rundown_v1.1.23", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index cb8ea3b3e8a..7e5451bdbed 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 1.1.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 1.1.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index 6afad3653ba..552859acc66 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.24", + "tag": "@rushstack/trace-import_v0.3.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.17.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.3.23", "tag": "@rushstack/trace-import_v0.3.23", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index 16294c06410..0395811f3e1 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.3.23 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 302ec19938d..00000000000 --- a/common/changes/@microsoft/api-documenter/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@microsoft/api-documenter" - } - ], - "packageName": "@microsoft/api-documenter", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index d158d914537..00000000000 --- a/common/changes/@microsoft/api-extractor-model/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@microsoft/api-extractor-model" - } - ], - "packageName": "@microsoft/api-extractor-model", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index ff9fd29063e..00000000000 --- a/common/changes/@microsoft/api-extractor/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@microsoft/api-extractor" - } - ], - "packageName": "@microsoft/api-extractor", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index d1070bfbb95..00000000000 --- a/common/changes/@rushstack/debug-certificate-manager/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/debug-certificate-manager" - } - ], - "packageName": "@rushstack/debug-certificate-manager", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin-packlets/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/eslint-plugin-packlets/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index ff918c1ad1d..00000000000 --- a/common/changes/@rushstack/eslint-plugin-packlets/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/eslint-plugin-packlets", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/eslint-plugin-packlets" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin-security/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/eslint-plugin-security/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index a4477ef1a61..00000000000 --- a/common/changes/@rushstack/eslint-plugin-security/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/eslint-plugin-security", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/eslint-plugin-security" -} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index c50ba320e8a..00000000000 --- a/common/changes/@rushstack/eslint-plugin/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/eslint-plugin" - } - ], - "packageName": "@rushstack/eslint-plugin", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index e309540fd42..00000000000 --- a/common/changes/@rushstack/heft-config-file/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/heft-config-file" - } - ], - "packageName": "@rushstack/heft-config-file", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index d7f4b1307a1..00000000000 --- a/common/changes/@rushstack/heft/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/heft" - } - ], - "packageName": "@rushstack/heft", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 422c2931862..00000000000 --- a/common/changes/@rushstack/module-minifier/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/module-minifier" - } - ], - "packageName": "@rushstack/module-minifier", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 9d9eb5cd4f3..00000000000 --- a/common/changes/@rushstack/node-core-library/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/node-core-library" - } - ], - "packageName": "@rushstack/node-core-library", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 97afa05d751..00000000000 --- a/common/changes/@rushstack/operation-graph/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/operation-graph" - } - ], - "packageName": "@rushstack/operation-graph", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index b9170c30cdc..00000000000 --- a/common/changes/@rushstack/package-deps-hash/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/package-deps-hash" - } - ], - "packageName": "@rushstack/package-deps-hash", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 40787638472..00000000000 --- a/common/changes/@rushstack/package-extractor/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/package-extractor" - } - ], - "packageName": "@rushstack/package-extractor", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/bump-cyclics_2023-09-27-01-48.json b/common/changes/@rushstack/rig-package/bump-cyclics_2023-09-27-01-48.json deleted file mode 100644 index c66505525a1..00000000000 --- a/common/changes/@rushstack/rig-package/bump-cyclics_2023-09-27-01-48.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@rushstack/rig-package" - } - ], - "packageName": "@rushstack/rig-package", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 4a60007de65..00000000000 --- a/common/changes/@rushstack/rig-package/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/rig-package" - } - ], - "packageName": "@rushstack/rig-package", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/rig-package/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index 1c1df562afb..00000000000 --- a/common/changes/@rushstack/rig-package/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/rig-package", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/rig-package" -} \ No newline at end of file diff --git a/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 73e96b3f88d..00000000000 --- a/common/changes/@rushstack/stream-collator/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/stream-collator" - } - ], - "packageName": "@rushstack/stream-collator", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index cf3ff623b22..00000000000 --- a/common/changes/@rushstack/terminal/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/terminal" - } - ], - "packageName": "@rushstack/terminal", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index a96f4462dd7..00000000000 --- a/common/changes/@rushstack/tree-pattern/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/tree-pattern" - } - ], - "packageName": "@rushstack/tree-pattern", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/tree-pattern/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/tree-pattern/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index 120c33a1f7e..00000000000 --- a/common/changes/@rushstack/tree-pattern/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/tree-pattern", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/tree-pattern" -} \ No newline at end of file diff --git a/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 180c375db8a..00000000000 --- a/common/changes/@rushstack/ts-command-line/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/ts-command-line" - } - ], - "packageName": "@rushstack/ts-command-line", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/ts-command-line/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json b/common/changes/@rushstack/ts-command-line/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json deleted file mode 100644 index a03064b455f..00000000000 --- a/common/changes/@rushstack/ts-command-line/octogonz-upgrade-typescript-part-2_2024-01-16-19-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/ts-command-line", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/ts-command-line" -} \ No newline at end of file diff --git a/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 6aa26e273c6..00000000000 --- a/common/changes/@rushstack/typings-generator/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/typings-generator" - } - ], - "packageName": "@rushstack/typings-generator", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json b/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json deleted file mode 100644 index 5ca2499fbcd..00000000000 --- a/common/changes/@rushstack/worker-pool/octogonz-api-links_2024-02-17-03-00.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix broken link to API documentation", - "type": "patch", - "packageName": "@rushstack/worker-pool" - } - ], - "packageName": "@rushstack/worker-pool", - "email": "4673363+octogonz@users.noreply.github.com" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index 75022c1db63..8a9a25394d8 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.14", + "tag": "@rushstack/eslint-bulk_v0.1.14", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.1.13", "tag": "@rushstack/eslint-bulk_v0.1.13", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index 82417b76121..65f4222b3ad 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.1.14 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.1.13 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/eslint/eslint-config/CHANGELOG.json b/eslint/eslint-config/CHANGELOG.json index ca9c9d33f97..a4d7ff3550e 100644 --- a/eslint/eslint-config/CHANGELOG.json +++ b/eslint/eslint-config/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/eslint-config", "entries": [ + { + "version": "3.6.4", + "tag": "@rushstack/eslint-config_v3.6.4", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/eslint-plugin\" to `0.15.1`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-plugin-packlets\" to `0.9.1`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-plugin-security\" to `0.8.1`" + } + ] + } + }, { "version": "3.6.3", "tag": "@rushstack/eslint-config_v3.6.3", diff --git a/eslint/eslint-config/CHANGELOG.md b/eslint/eslint-config/CHANGELOG.md index 2fd01863ac0..2e07fe3fce3 100644 --- a/eslint/eslint-config/CHANGELOG.md +++ b/eslint/eslint-config/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-config -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 3.6.4 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 3.6.3 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/eslint/eslint-plugin-packlets/CHANGELOG.json b/eslint/eslint-plugin-packlets/CHANGELOG.json index 1972950b4d2..3f16289ec27 100644 --- a/eslint/eslint-plugin-packlets/CHANGELOG.json +++ b/eslint/eslint-plugin-packlets/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-plugin-packlets", "entries": [ + { + "version": "0.9.1", + "tag": "@rushstack/eslint-plugin-packlets_v0.9.1", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/tree-pattern\" to `0.3.3`" + } + ] + } + }, { "version": "0.9.0", "tag": "@rushstack/eslint-plugin-packlets_v0.9.0", diff --git a/eslint/eslint-plugin-packlets/CHANGELOG.md b/eslint/eslint-plugin-packlets/CHANGELOG.md index 181a4c6497d..db618d8dfb9 100644 --- a/eslint/eslint-plugin-packlets/CHANGELOG.md +++ b/eslint/eslint-plugin-packlets/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-plugin-packlets -This log was last generated on Tue, 16 Jan 2024 18:30:10 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.9.1 +Sat, 17 Feb 2024 06:24:34 GMT + +_Version update only_ ## 0.9.0 Tue, 16 Jan 2024 18:30:10 GMT diff --git a/eslint/eslint-plugin-security/CHANGELOG.json b/eslint/eslint-plugin-security/CHANGELOG.json index 966cb0c4061..3a67a4007ee 100644 --- a/eslint/eslint-plugin-security/CHANGELOG.json +++ b/eslint/eslint-plugin-security/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-plugin-security", "entries": [ + { + "version": "0.8.1", + "tag": "@rushstack/eslint-plugin-security_v0.8.1", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/tree-pattern\" to `0.3.3`" + } + ] + } + }, { "version": "0.8.0", "tag": "@rushstack/eslint-plugin-security_v0.8.0", diff --git a/eslint/eslint-plugin-security/CHANGELOG.md b/eslint/eslint-plugin-security/CHANGELOG.md index 7ac95b016a4..a7c86417070 100644 --- a/eslint/eslint-plugin-security/CHANGELOG.md +++ b/eslint/eslint-plugin-security/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-plugin-security -This log was last generated on Tue, 16 Jan 2024 18:30:10 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.8.1 +Sat, 17 Feb 2024 06:24:34 GMT + +_Version update only_ ## 0.8.0 Tue, 16 Jan 2024 18:30:10 GMT diff --git a/eslint/eslint-plugin/CHANGELOG.json b/eslint/eslint-plugin/CHANGELOG.json index 4947d6cdd8e..e15a27dc3c5 100644 --- a/eslint/eslint-plugin/CHANGELOG.json +++ b/eslint/eslint-plugin/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/eslint-plugin", "entries": [ + { + "version": "0.15.1", + "tag": "@rushstack/eslint-plugin_v0.15.1", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/tree-pattern\" to `0.3.3`" + } + ] + } + }, { "version": "0.15.0", "tag": "@rushstack/eslint-plugin_v0.15.0", diff --git a/eslint/eslint-plugin/CHANGELOG.md b/eslint/eslint-plugin/CHANGELOG.md index 7853ed12748..2e8b478fa98 100644 --- a/eslint/eslint-plugin/CHANGELOG.md +++ b/eslint/eslint-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/eslint-plugin -This log was last generated on Wed, 07 Feb 2024 01:11:18 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.15.1 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 0.15.0 Wed, 07 Feb 2024 01:11:18 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index ebedf6e9949..0a892a93c74 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.7", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.7", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.6` to `0.64.7`" + } + ] + } + }, { "version": "0.3.6", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.6", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index f47ba34bead..6d2b0a05ab2 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.7 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.3.6 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 1cee2e0eb1e..381a59bc794 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.24", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.24`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.4.23", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.23", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 07da6a09bee..0573e9a13ec 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.4.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.4.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index 3f3f345e969..2273802c06b 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.7", + "tag": "@rushstack/heft-jest-plugin_v0.11.7", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.11.6", "tag": "@rushstack/heft-jest-plugin_v0.11.6", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index 447fe2703aa..601c325f04c 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.11.7 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.11.6 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index 91ae0aa456a..aa19080c6a2 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.7", + "tag": "@rushstack/heft-lint-plugin_v0.3.7", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.6` to `0.64.7`" + } + ] + } + }, { "version": "0.3.6", "tag": "@rushstack/heft-lint-plugin_v0.3.6", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index a5de202ac25..9c54181def7 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.7 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.3.6 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 0a6e0b03c6c..98a3712bf56 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.10", + "tag": "@rushstack/heft-sass-plugin_v0.13.10", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.10`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.24`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.13.9", "tag": "@rushstack/heft-sass-plugin_v0.13.9", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index f934fba3c84..f49d334b9a4 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.13.10 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.13.9 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index c9de7e05a02..7aab7114414 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.24", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.3.23", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.23", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index a5d8dbcc44d..04c7c226c1e 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.3.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index bcc7d3ee526..27eb24036e3 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.6.1", + "tag": "@rushstack/heft-storybook-plugin_v0.6.1", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.6.0", "tag": "@rushstack/heft-storybook-plugin_v0.6.0", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index 95daba2abb1..d3ed1a5e60e 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Mon, 12 Feb 2024 16:09:54 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.6.1 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.6.0 Mon, 12 Feb 2024 16:09:54 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index cadcf73ccb1..abb192e8d1d 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.7", + "tag": "@rushstack/heft-typescript-plugin_v0.3.7", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.6` to `0.64.7`" + } + ] + } + }, { "version": "0.3.6", "tag": "@rushstack/heft-typescript-plugin_v0.3.6", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 3ef4e3d8389..7746f11d22f 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.7 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.3.6 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index b93fe9d8203..e72987ed0b4 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.24", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.24`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.10.23", "tag": "@rushstack/heft-webpack4-plugin_v0.10.23", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index 5a611943b6f..d80b564ea00 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.10.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.10.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index e54b3180d5b..8575cb7d4c1 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.24", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.24`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.9.23", "tag": "@rushstack/heft-webpack5-plugin_v0.9.23", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index a8c170984a1..4ae0270da25 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.9.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.9.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/api-extractor-model/CHANGELOG.json b/libraries/api-extractor-model/CHANGELOG.json index 9e9ff71bb7c..338e22a94dd 100644 --- a/libraries/api-extractor-model/CHANGELOG.json +++ b/libraries/api-extractor-model/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@microsoft/api-extractor-model", "entries": [ + { + "version": "7.28.10", + "tag": "@microsoft/api-extractor-model_v7.28.10", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + } + ] + } + }, { "version": "7.28.9", "tag": "@microsoft/api-extractor-model_v7.28.9", diff --git a/libraries/api-extractor-model/CHANGELOG.md b/libraries/api-extractor-model/CHANGELOG.md index b8e02103471..13b61f79845 100644 --- a/libraries/api-extractor-model/CHANGELOG.md +++ b/libraries/api-extractor-model/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/api-extractor-model -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 7.28.10 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 7.28.9 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index 2ee28ad566d..b612ea03d90 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.24", + "tag": "@rushstack/debug-certificate-manager_v1.3.24", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "1.3.23", "tag": "@rushstack/debug-certificate-manager_v1.3.23", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index 858512de638..ce44282fc8c 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 1.3.24 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 1.3.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/heft-config-file/CHANGELOG.json b/libraries/heft-config-file/CHANGELOG.json index f64f23ee055..49daa5b61e7 100644 --- a/libraries/heft-config-file/CHANGELOG.json +++ b/libraries/heft-config-file/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/heft-config-file", "entries": [ + { + "version": "0.14.10", + "tag": "@rushstack/heft-config-file_v0.14.10", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/rig-package\" to `0.5.2`" + } + ] + } + }, { "version": "0.14.9", "tag": "@rushstack/heft-config-file_v0.14.9", diff --git a/libraries/heft-config-file/CHANGELOG.md b/libraries/heft-config-file/CHANGELOG.md index 993a1be9f23..9eb71521a42 100644 --- a/libraries/heft-config-file/CHANGELOG.md +++ b/libraries/heft-config-file/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft-config-file -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.14.10 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 0.14.9 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 013cafc2bec..54dd662198e 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.100", + "tag": "@microsoft/load-themed-styles_v2.0.100", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "2.0.99", "tag": "@microsoft/load-themed-styles_v2.0.99", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index f5c8cfce7b3..452b01fcc0d 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 2.0.100 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 2.0.99 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index ee7ee0370b7..c8fc5fb56da 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.24", + "tag": "@rushstack/localization-utilities_v0.9.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.9.23", "tag": "@rushstack/localization-utilities_v0.9.23", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index 55555e727fa..9754abc7a40 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.9.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.9.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index b8480c7ed68..1cb3d031143 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.24", + "tag": "@rushstack/module-minifier_v0.4.24", + "date": "Sat, 17 Feb 2024 06:24:34 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.4.23", "tag": "@rushstack/module-minifier_v0.4.23", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index 1cf25de0b27..50da28d51b6 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. + +## 0.4.24 +Sat, 17 Feb 2024 06:24:34 GMT + +### Patches + +- Fix broken link to API documentation ## 0.4.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/node-core-library/CHANGELOG.json b/libraries/node-core-library/CHANGELOG.json index ae29190448f..3b85615086b 100644 --- a/libraries/node-core-library/CHANGELOG.json +++ b/libraries/node-core-library/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/node-core-library", "entries": [ + { + "version": "3.66.1", + "tag": "@rushstack/node-core-library_v3.66.1", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ] + } + }, { "version": "3.66.0", "tag": "@rushstack/node-core-library_v3.66.0", diff --git a/libraries/node-core-library/CHANGELOG.md b/libraries/node-core-library/CHANGELOG.md index a3838dc0ec0..c9f959ed5df 100644 --- a/libraries/node-core-library/CHANGELOG.md +++ b/libraries/node-core-library/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/node-core-library -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 3.66.1 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 3.66.0 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/operation-graph/CHANGELOG.json b/libraries/operation-graph/CHANGELOG.json index b82680a43b4..66e2e826b6b 100644 --- a/libraries/operation-graph/CHANGELOG.json +++ b/libraries/operation-graph/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/operation-graph", "entries": [ + { + "version": "0.2.9", + "tag": "@rushstack/operation-graph_v0.2.9", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + } + ] + } + }, { "version": "0.2.8", "tag": "@rushstack/operation-graph_v0.2.8", diff --git a/libraries/operation-graph/CHANGELOG.md b/libraries/operation-graph/CHANGELOG.md index a8666bd2af4..e3c95031102 100644 --- a/libraries/operation-graph/CHANGELOG.md +++ b/libraries/operation-graph/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/operation-graph -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.2.9 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.2.8 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index a2f1768253b..8166aad5cbe 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.25", + "tag": "@rushstack/package-deps-hash_v4.1.25", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "4.1.24", "tag": "@rushstack/package-deps-hash_v4.1.24", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index af81ac2569a..8a908374f8e 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 4.1.25 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 4.1.24 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index 85a9b2490ca..6b562f1991e 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,35 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.27", + "tag": "@rushstack/package-extractor_v0.6.27", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.24`" + } + ] + } + }, { "version": "0.6.26", "tag": "@rushstack/package-extractor_v0.6.26", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index 5e61edea8fa..dc8fa737d35 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.6.27 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.6.26 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/libraries/rig-package/CHANGELOG.json b/libraries/rig-package/CHANGELOG.json index 3adc3ae8c90..36ca98f3a4c 100644 --- a/libraries/rig-package/CHANGELOG.json +++ b/libraries/rig-package/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/rig-package", "entries": [ + { + "version": "0.5.2", + "tag": "@rushstack/rig-package_v0.5.2", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ] + } + }, { "version": "0.5.1", "tag": "@rushstack/rig-package_v0.5.1", diff --git a/libraries/rig-package/CHANGELOG.md b/libraries/rig-package/CHANGELOG.md index 116b36dab4a..8ca4bcbd849 100644 --- a/libraries/rig-package/CHANGELOG.md +++ b/libraries/rig-package/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/rig-package -This log was last generated on Tue, 26 Sep 2023 09:30:33 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.5.2 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.5.1 Tue, 26 Sep 2023 09:30:33 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index 10df65c1bf1..f8d187dd9d0 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,29 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.25", + "tag": "@rushstack/stream-collator_v4.1.25", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.7.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "4.1.24", "tag": "@rushstack/stream-collator_v4.1.24", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index d339709219b..113bd760a4e 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 4.1.25 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 4.1.24 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index b1b887c99c9..ddc3d40a0b9 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.7.24", + "tag": "@rushstack/terminal_v0.7.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.7.23", "tag": "@rushstack/terminal_v0.7.23", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index f1fba0f41eb..e44efa9d09a 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/terminal -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.7.24 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.7.23 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/tree-pattern/CHANGELOG.json b/libraries/tree-pattern/CHANGELOG.json index 9a015b78fe8..fce556aec2b 100644 --- a/libraries/tree-pattern/CHANGELOG.json +++ b/libraries/tree-pattern/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/tree-pattern", "entries": [ + { + "version": "0.3.3", + "tag": "@rushstack/tree-pattern_v0.3.3", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ] + } + }, { "version": "0.3.2", "tag": "@rushstack/tree-pattern_v0.3.2", diff --git a/libraries/tree-pattern/CHANGELOG.md b/libraries/tree-pattern/CHANGELOG.md index 6c5f41d1b85..5577e22033f 100644 --- a/libraries/tree-pattern/CHANGELOG.md +++ b/libraries/tree-pattern/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/tree-pattern -This log was last generated on Tue, 16 Jan 2024 18:30:10 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.3.3 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.3.2 Tue, 16 Jan 2024 18:30:10 GMT diff --git a/libraries/ts-command-line/CHANGELOG.json b/libraries/ts-command-line/CHANGELOG.json index 3a046dfba36..81158b58f73 100644 --- a/libraries/ts-command-line/CHANGELOG.json +++ b/libraries/ts-command-line/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/ts-command-line", "entries": [ + { + "version": "4.17.2", + "tag": "@rushstack/ts-command-line_v4.17.2", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ] + } + }, { "version": "4.17.1", "tag": "@rushstack/ts-command-line_v4.17.1", diff --git a/libraries/ts-command-line/CHANGELOG.md b/libraries/ts-command-line/CHANGELOG.md index fae13616efe..5f7a89267bc 100644 --- a/libraries/ts-command-line/CHANGELOG.md +++ b/libraries/ts-command-line/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/ts-command-line -This log was last generated on Wed, 01 Nov 2023 23:11:35 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 4.17.2 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 4.17.1 Wed, 01 Nov 2023 23:11:35 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index ce55f218821..6ff146f456a 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.24", + "tag": "@rushstack/typings-generator_v0.12.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.12.23", "tag": "@rushstack/typings-generator_v0.12.23", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index a0316566016..dce6f8a26e6 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.12.24 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.12.23 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index eb87d72395d..c483b6e1421 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.24", + "tag": "@rushstack/worker-pool_v0.4.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "patch": [ + { + "comment": "Fix broken link to API documentation" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.4.23", "tag": "@rushstack/worker-pool_v0.4.23", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index aeee6dbcbbd..e6118e513aa 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.4.24 +Sat, 17 Feb 2024 06:24:35 GMT + +### Patches + +- Fix broken link to API documentation ## 0.4.23 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 04ec9450fdf..61ce94aac85 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,39 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.9", + "tag": "@rushstack/heft-node-rig_v2.4.9", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.6.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "2.4.8", "tag": "@rushstack/heft-node-rig_v2.4.8", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index eccf7527a40..c86cdbf4fe8 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 2.4.9 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 2.4.8 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 700fa64753e..ffec92a84d8 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,45 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.20.9", + "tag": "@rushstack/heft-web-rig_v0.20.9", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.2`" + }, + { + "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.6.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.6` to `^0.64.7`" + } + ] + } + }, { "version": "0.20.8", "tag": "@rushstack/heft-web-rig_v0.20.8", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 4d7f53ff8f8..7a5ee27ae03 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.20.9 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.20.8 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index b9fb7963b84..ddf6f34d651 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.16", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.16", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "1.0.15", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.15", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index b3d5a3d479f..b430bf5e330 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 1.0.16 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 1.0.15 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index bcb118562ad..8f463cb8f1c 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.24", + "tag": "@microsoft/loader-load-themed-styles_v2.1.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.100`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.99` to `^2.0.100`" + } + ] + } + }, { "version": "2.1.23", "tag": "@microsoft/loader-load-themed-styles_v2.1.23", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index fc6b70a7ac0..b488f0732ad 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 2.1.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 2.1.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index ac39944c6fa..e45664e5180 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.24", + "tag": "@rushstack/loader-raw-script_v1.4.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "1.4.23", "tag": "@rushstack/loader-raw-script_v1.4.23", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index ae87b0eaa37..38d61817049 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 1.4.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 1.4.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index 7c9373d253a..eec041975dc 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.24", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.11.23", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.23", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index ac545a32c5b..e125219e09f 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.11.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.11.23 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index 077e31e8d05..4052a3c6dc5 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.8", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.8", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "5.1.7", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.7", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 92a1302e888..5be3ca966c2 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 5.1.8 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 5.1.7 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index ae9b076da34..a18af60f7f7 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.25", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.25", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.2.24", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.24", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index 6bbbb39aa02..ed0626390de 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.2.25 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.2.24 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 3b0e20ae07d..373f66ebba1 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.8", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.8", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.4.7", "tag": "@rushstack/webpack-plugin-utilities_v0.4.7", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index 46c39f1bd80..a982c3d8bb4 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Thu, 08 Feb 2024 01:09:22 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.4.8 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.4.7 Thu, 08 Feb 2024 01:09:22 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 7d255f07edc..67845fb7dc3 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.24", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.18.23", "tag": "@rushstack/webpack4-localization-plugin_v0.18.23", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index c9dce18af11..6db24ab37fb 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.18.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.18.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index 5a834a18afc..b6eb2482b04 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.24", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.24`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.13.23", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.23", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 4687d70bb0c..3a705760908 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.13.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.13.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 063535c6a5d..4101f2483bb 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.24", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.100`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.99` to `^2.0.100`" + } + ] + } + }, { "version": "0.2.23", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.23", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 01914652f17..43f0d7bf04c 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.2.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.2.23 Thu, 08 Feb 2024 01:09:21 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index 8530b253d80..f89df721a3b 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.8.1", + "tag": "@rushstack/webpack5-localization-plugin_v0.8.1", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.24`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.66.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + } + ] + } + }, { "version": "0.8.0", "tag": "@rushstack/webpack5-localization-plugin_v0.8.0", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index a270b56a1bb..a0c55ebd740 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Sat, 10 Feb 2024 01:40:49 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 0.8.1 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 0.8.0 Sat, 10 Feb 2024 01:40:49 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index da9499fffee..29e9cf0fb68 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.24", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.24", + "date": "Sat, 17 Feb 2024 06:24:35 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.24`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.7`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.24`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.23", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.23", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index 78ff7dd7138..44cb06c4509 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Thu, 08 Feb 2024 01:09:21 GMT and should not be manually modified. +This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. + +## 5.5.24 +Sat, 17 Feb 2024 06:24:35 GMT + +_Version update only_ ## 5.5.23 Thu, 08 Feb 2024 01:09:21 GMT From c3a9c7afe38d861e882028dad02b5dad729fabf4 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Sat, 17 Feb 2024 06:24:37 +0000 Subject: [PATCH 134/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- eslint/eslint-config/package.json | 2 +- eslint/eslint-plugin-packlets/package.json | 2 +- eslint/eslint-plugin-security/package.json | 2 +- eslint/eslint-plugin/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/api-extractor-model/package.json | 2 +- libraries/debug-certificate-manager/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/rig-package/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/tree-pattern/package.json | 2 +- libraries/ts-command-line/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 52 files changed, 66 insertions(+), 66 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index 4fedb76e9f8..417d55aa370 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.23", + "version": "7.23.24", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index 0f63e7ea0f0..19476508b5e 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.40.1", + "version": "7.40.2", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index 894ac46fda5..5d9bc9a8c33 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.6", + "version": "0.64.7", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 05cc1432684..9bfc4abf823 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.23", + "version": "1.2.24", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index 366396a3167..018e7e46043 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.23", + "version": "1.1.24", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index b122f2bc1d3..9f30de48117 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.23", + "version": "0.3.24", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index d12ab834a36..7b07de60543 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.13", + "version": "0.1.14", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/eslint/eslint-config/package.json b/eslint/eslint-config/package.json index eea1125bb10..5aa6ef30013 100644 --- a/eslint/eslint-config/package.json +++ b/eslint/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-config", - "version": "3.6.3", + "version": "3.6.4", "description": "A TypeScript ESLint ruleset designed for large teams and projects", "license": "MIT", "repository": { diff --git a/eslint/eslint-plugin-packlets/package.json b/eslint/eslint-plugin-packlets/package.json index 66236f73ebf..f8e8836f414 100644 --- a/eslint/eslint-plugin-packlets/package.json +++ b/eslint/eslint-plugin-packlets/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-plugin-packlets", - "version": "0.9.0", + "version": "0.9.1", "description": "A lightweight alternative to NPM packages for organizing source files within a single project", "license": "MIT", "repository": { diff --git a/eslint/eslint-plugin-security/package.json b/eslint/eslint-plugin-security/package.json index 371dfa200e8..550356f6faf 100644 --- a/eslint/eslint-plugin-security/package.json +++ b/eslint/eslint-plugin-security/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-plugin-security", - "version": "0.8.0", + "version": "0.8.1", "description": "An ESLint plugin providing rules that identify common security vulnerabilities for browser applications, Node.js tools, and Node.js services", "license": "MIT", "repository": { diff --git a/eslint/eslint-plugin/package.json b/eslint/eslint-plugin/package.json index 2dee7b02fa2..7470bd25e99 100644 --- a/eslint/eslint-plugin/package.json +++ b/eslint/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-plugin", - "version": "0.15.0", + "version": "0.15.1", "description": "An ESLint plugin providing supplementary rules for use with the @rushstack/eslint-config package", "license": "MIT", "repository": { diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index d46838226ca..4ad2321ab3e 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.6", + "version": "0.3.7", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.6" + "@rushstack/heft": "0.64.7" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index f0d339c8813..7ef1d2634f6 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.23", + "version": "0.4.24", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index e1ed7fb66db..b0705a762de 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.6", + "version": "0.11.7", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6", + "@rushstack/heft": "^0.64.7", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index ba9483f47ab..a056275dc6c 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.6", + "version": "0.3.7", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.6" + "@rushstack/heft": "0.64.7" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index 208540641b3..e7d096aab58 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.9", + "version": "0.13.10", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index 84b41187e4c..d42dfb5f885 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.23", + "version": "0.3.24", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index 0345981a528..37f419414d0 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.6.0", + "version": "0.6.1", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index f1393268948..35833a5fd1b 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.6", + "version": "0.3.7", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.6" + "@rushstack/heft": "0.64.7" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index 111d2b8c447..624fa749bd1 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.23", + "version": "0.10.24", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.6", + "@rushstack/heft": "^0.64.7", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 811acfb1742..a450faeffd4 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.23", + "version": "0.9.24", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6", + "@rushstack/heft": "^0.64.7", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index 53673cfd345..707af0e268b 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor-model", - "version": "7.28.9", + "version": "7.28.10", "description": "A helper library for loading and saving the .api.json files created by API Extractor", "repository": { "type": "git", diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 083a29b5b2f..f876a2bd459 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.23", + "version": "1.3.24", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index a77809b3614..2c8908bbb20 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-config-file", - "version": "0.14.9", + "version": "0.14.10", "description": "Configuration file loader for @rushstack/heft", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 7383cd6ea36..70275620c90 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.99", + "version": "2.0.100", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 2d635fd1ed3..767a64fe799 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.23", + "version": "0.9.24", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index 4373659982a..23e22023cbf 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.23", + "version": "0.4.24", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 6a5ab3c7617..88cc4765333 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/node-core-library", - "version": "3.66.0", + "version": "3.66.1", "description": "Core libraries that every NodeJS toolchain project should use", "main": "lib/index.js", "typings": "dist/node-core-library.d.ts", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 4a222e5f0f2..2a359227383 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/operation-graph", - "version": "0.2.8", + "version": "0.2.9", "description": "Library for managing and executing operations in a directed acyclic graph.", "main": "lib/index.js", "typings": "dist/operation-graph.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index c9e2f34c511..fcb67a502f3 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.24", + "version": "4.1.25", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index f1998b6d6d8..20c223afd59 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.26", + "version": "0.6.27", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/rig-package/package.json b/libraries/rig-package/package.json index 450ab81d292..0d90e4c96f2 100644 --- a/libraries/rig-package/package.json +++ b/libraries/rig-package/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rig-package", - "version": "0.5.1", + "version": "0.5.2", "description": "A system for sharing tool configurations between projects without duplicating config files.", "main": "lib/index.js", "typings": "dist/rig-package.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index d5b75b0aca9..f56c28711c4 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.24", + "version": "4.1.25", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index 56acfa06eb8..c4bac8e553b 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.7.23", + "version": "0.7.24", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/tree-pattern/package.json b/libraries/tree-pattern/package.json index 4667ea34535..e2889312f24 100644 --- a/libraries/tree-pattern/package.json +++ b/libraries/tree-pattern/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/tree-pattern", - "version": "0.3.2", + "version": "0.3.3", "description": "A fast, lightweight pattern matcher for tree structures such as an Abstract Syntax Tree (AST)", "main": "lib/index.js", "typings": "dist/tree-pattern.d.ts", diff --git a/libraries/ts-command-line/package.json b/libraries/ts-command-line/package.json index 2040be0d1ce..2d543f92948 100644 --- a/libraries/ts-command-line/package.json +++ b/libraries/ts-command-line/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/ts-command-line", - "version": "4.17.1", + "version": "4.17.2", "description": "An object-oriented command-line parser for TypeScript", "repository": { "type": "git", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 5e5bee776b4..a6908d3f047 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.23", + "version": "0.12.24", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 057826bf081..d85adddebce 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.23", + "version": "0.4.24", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 204b7a3961b..2c15edbcbd2 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.8", + "version": "2.4.9", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 3055ca29870..ed377c5a398 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.8", + "version": "0.20.9", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.6" + "@rushstack/heft": "^0.64.7" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 99b5344a179..a71b9599887 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.15", + "version": "1.0.16", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 8a84fc28d63..1b631716888 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.23", + "version": "2.1.24", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.99" + "@microsoft/load-themed-styles": "^2.0.100" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index 0b8f29c361d..851f78e1c5c 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.23", + "version": "1.4.24", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index b88e97acbb3..b86dad7b0c8 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.23", + "version": "0.11.24", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 8991940b731..d6bca1ee490 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.7", + "version": "5.1.8", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index 34eb2672521..be07cda555e 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.24", + "version": "0.2.25", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 449cb054348..204e7092228 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.7", + "version": "0.4.8", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 1b7533ce7e4..9820ed65ccb 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.23", + "version": "0.18.24", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index 271025fb9cd..b08a7061249 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.23", + "version": "0.13.24", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index 7729ad11617..e378cf5665e 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.23", + "version": "0.2.24", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.99", + "@microsoft/load-themed-styles": "^2.0.100", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 54af27f1ef3..b889f4991c2 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.8.0", + "version": "0.8.1", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 693c33a9e33..9177f83433e 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.23", + "version": "5.5.24", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From 78e6fd312930750428f42cca81b55dc2a4090ec1 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 19:51:41 -0800 Subject: [PATCH 135/180] Move terminal-related APIs from node-core-library to the terminal package. --- .../install-test-workspace/package.json | 3 +- .../workspace/rush-lib-test/src/start.ts | 2 +- common/config/rush/pnpm-lock.yaml | 4 + common/reviews/api/node-core-library.api.md | 250 ----------------- common/reviews/api/terminal.api.md | 254 +++++++++++++++++- libraries/node-core-library/src/index.ts | 18 -- .../rush-lib/src/logic/setup/KeyboardLoop.ts | 2 +- .../Terminal => terminal/src}/AnsiEscape.ts | 0 .../src/Terminal => terminal/src}/Colors.ts | 0 .../src}/ConsoleTerminalProvider.ts | 0 .../Terminal => terminal/src}/ITerminal.ts | 0 .../src}/ITerminalProvider.ts | 0 libraries/terminal/src/MockWritable.ts | 2 +- .../src}/PrefixProxyTerminalProvider.ts | 2 +- libraries/terminal/src/PrintUtilities.ts | 2 +- .../terminal/src/RemoveColorsTextRewriter.ts | 2 +- .../src}/StringBufferTerminalProvider.ts | 3 +- .../src/Terminal => terminal/src}/Terminal.ts | 0 .../src/TerminalStreamWritable.ts} | 10 +- libraries/terminal/src/index.ts | 48 ++-- .../src}/test/AnsiEscape.test.ts | 0 .../src}/test/Colors.test.ts | 0 .../test/PrefixProxyTerminalProvider.test.ts | 0 .../terminal/src/test/PrintUtilities.test.ts | 4 +- .../src/test/RemoveColorsTextRewriter.test.ts | 2 +- .../src}/test/Terminal.test.ts | 0 .../src/test/TerminalStreamWritable.test.ts} | 14 +- .../test/__snapshots__/Colors.test.ts.snap | 0 .../PrefixProxyTerminalProvider.test.ts.snap | 0 .../test/__snapshots__/Terminal.test.ts.snap | 0 .../TerminalStreamWritable.test.ts.snap | 51 ++++ .../TerminalWritable.test.ts.snap | 0 .../src}/test/createColorGrid.ts | 2 +- .../src}/test/write-colors.ts | 3 +- 34 files changed, 367 insertions(+), 311 deletions(-) rename libraries/{node-core-library/src/Terminal => terminal/src}/AnsiEscape.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/Colors.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/ConsoleTerminalProvider.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/ITerminal.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/ITerminalProvider.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/PrefixProxyTerminalProvider.ts (98%) rename libraries/{node-core-library/src/Terminal => terminal/src}/StringBufferTerminalProvider.ts (97%) rename libraries/{node-core-library/src/Terminal => terminal/src}/Terminal.ts (100%) rename libraries/{node-core-library/src/Terminal/TerminalWritable.ts => terminal/src/TerminalStreamWritable.ts} (90%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/AnsiEscape.test.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/Colors.test.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/PrefixProxyTerminalProvider.test.ts (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/Terminal.test.ts (100%) rename libraries/{node-core-library/src/Terminal/test/TerminalWritable.test.ts => terminal/src/test/TerminalStreamWritable.test.ts} (81%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/__snapshots__/Colors.test.ts.snap (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/__snapshots__/PrefixProxyTerminalProvider.test.ts.snap (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/__snapshots__/Terminal.test.ts.snap (100%) create mode 100644 libraries/terminal/src/test/__snapshots__/TerminalStreamWritable.test.ts.snap rename libraries/{node-core-library/src/Terminal => terminal/src}/test/__snapshots__/TerminalWritable.test.ts.snap (100%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/createColorGrid.ts (96%) rename libraries/{node-core-library/src/Terminal => terminal/src}/test/write-colors.ts (91%) diff --git a/build-tests/install-test-workspace/package.json b/build-tests/install-test-workspace/package.json index 6a994fe8341..ecf6f697176 100644 --- a/build-tests/install-test-workspace/package.json +++ b/build-tests/install-test-workspace/package.json @@ -10,6 +10,7 @@ "devDependencies": { "@microsoft/rush-lib": "workspace:*", "@rushstack/node-core-library": "workspace:*", - "@rushstack/rush-sdk": "workspace:*" + "@rushstack/rush-sdk": "workspace:*", + "@rushstack/terminal": "workspace:*" } } diff --git a/build-tests/install-test-workspace/workspace/rush-lib-test/src/start.ts b/build-tests/install-test-workspace/workspace/rush-lib-test/src/start.ts index 7e5976bafb5..2e02d955beb 100644 --- a/build-tests/install-test-workspace/workspace/rush-lib-test/src/start.ts +++ b/build-tests/install-test-workspace/workspace/rush-lib-test/src/start.ts @@ -14,7 +14,7 @@ console.log('Calling an internal API...'); // Use a path-based import to access an internal API (do so at your own risk!) import { VersionMismatchFinder } from '@microsoft/rush-lib/lib/logic/versionMismatch/VersionMismatchFinder'; -import { ConsoleTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; const terminal = new Terminal(new ConsoleTerminalProvider()); VersionMismatchFinder.ensureConsistentVersions(config, terminal); diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dc62b49920d..fc4b7f2d954 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1903,6 +1903,10 @@ importers: version: 5.82.1 ../../build-tests/install-test-workspace: + dependencies: + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal devDependencies: '@microsoft/rush-lib': specifier: workspace:* diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index c3aaa0ea12a..14141d5a4d8 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -8,8 +8,6 @@ import * as child_process from 'child_process'; import * as fs from 'fs'; -import { Writable } from 'stream'; -import { WritableOptions } from 'stream'; // @public export enum AlreadyExistsBehavior { @@ -25,12 +23,6 @@ export class AlreadyReportedError extends Error { constructor(); } -// @public -export class AnsiEscape { - static formatForTests(text: string, options?: IAnsiEscapeConvertForTestsOptions): string; - static removeCodes(text: string): string; -} - // @beta export class Async { static forEachAsync(iterable: Iterable | AsyncIterable, callback: (entry: TEntry, arrayIndex: number) => Promise, options?: IAsyncParallelismOptions | undefined): Promise; @@ -53,92 +45,6 @@ export type Brand = T & { __brand: BrandTag; }; -// @beta -export class Colors { - // (undocumented) - static black(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blackBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blink(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blue(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blueBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static bold(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static cyan(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static cyanBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static dim(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static gray(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static grayBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static green(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static greenBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static hidden(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static invertColor(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static magenta(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static magentaBackground(text: string | IColorableSequence): IColorableSequence; - // @internal - static _normalizeStringOrColorableSequence(value: string | IColorableSequence): IColorableSequence; - // (undocumented) - static red(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static redBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static underline(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static white(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static whiteBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static yellow(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static yellowBackground(text: string | IColorableSequence): IColorableSequence; -} - -// @beta -export enum ColorValue { - // (undocumented) - Black = 0, - // (undocumented) - Blue = 4, - // (undocumented) - Cyan = 6, - // (undocumented) - Gray = 8, - // (undocumented) - Green = 2, - // (undocumented) - Magenta = 5, - // (undocumented) - Red = 1, - // (undocumented) - White = 7, - // (undocumented) - Yellow = 3 -} - -// @beta -export class ConsoleTerminalProvider implements ITerminalProvider { - constructor(options?: Partial); - debugEnabled: boolean; - get eolCharacter(): string; - get supportsColor(): boolean; - verboseEnabled: boolean; - write(data: string, severity: TerminalProviderSeverity): void; -} - // @public export enum Encoding { // (undocumented) @@ -318,36 +224,11 @@ export enum FolderConstants { // @public export type FolderItem = fs.Dirent; -// @public -export interface IAnsiEscapeConvertForTestsOptions { - encodeNewlines?: boolean; -} - // @beta export interface IAsyncParallelismOptions { concurrency?: number; } -// @beta (undocumented) -export interface IColorableSequence { - // (undocumented) - backgroundColor?: ColorValue; - // (undocumented) - foregroundColor?: ColorValue; - // (undocumented) - isEol?: boolean; - // (undocumented) - text: string; - // (undocumented) - textAttributes?: TextAttribute[]; -} - -// @beta -export interface IConsoleTerminalProviderOptions { - debugEnabled: boolean; - verboseEnabled: boolean; -} - // @public export interface IDependenciesMetaTable { // (undocumented) @@ -356,11 +237,6 @@ export interface IDependenciesMetaTable { }; } -// @beta -export interface IDynamicPrefixProxyTerminalProviderOptions extends IPrefixProxyTerminalProviderOptionsBase { - getPrefix: () => string; -} - // @public export interface IEnvironmentEntry { name: string; @@ -659,14 +535,6 @@ export interface IPeerDependenciesMetaTable { }; } -// @beta (undocumented) -export type IPrefixProxyTerminalProviderOptions = IStaticPrefixProxyTerminalProviderOptions | IDynamicPrefixProxyTerminalProviderOptions; - -// @beta (undocumented) -export interface IPrefixProxyTerminalProviderOptionsBase { - terminalProvider: ITerminalProvider; -} - // @public export interface IProcessInfo { childProcessInfos: IProcessInfo[]; @@ -698,16 +566,6 @@ export interface IRunWithRetriesOptions { retryDelayMs?: number; } -// @beta -export interface IStaticPrefixProxyTerminalProviderOptions extends IPrefixProxyTerminalProviderOptionsBase { - prefix: string; -} - -// @beta (undocumented) -export interface IStringBufferOutputOptions { - normalizeSpecialCharacters: boolean; -} - // @public export interface IStringBuilder { append(text: string): void; @@ -719,36 +577,6 @@ export interface ISubprocessOptions { detached: boolean; } -// @beta (undocumented) -export interface ITerminal { - registerProvider(provider: ITerminalProvider): void; - unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: (string | IColorableSequence)[]): void; - writeDebug(...messageParts: (string | IColorableSequence)[]): void; - writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; - writeError(...messageParts: (string | IColorableSequence)[]): void; - writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; - writeLine(...messageParts: (string | IColorableSequence)[]): void; - writeVerbose(...messageParts: (string | IColorableSequence)[]): void; - writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; - writeWarning(...messageParts: (string | IColorableSequence)[]): void; - writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; -} - -// @beta -export interface ITerminalProvider { - eolCharacter: string; - supportsColor: boolean; - write(data: string, severity: TerminalProviderSeverity): void; -} - -// @beta -export interface ITerminalWritableOptions { - severity: TerminalProviderSeverity; - terminal: ITerminal; - writableOptions?: WritableOptions; -} - // @public export interface IWaitForExitOptions { encoding?: BufferEncoding | 'buffer'; @@ -934,17 +762,6 @@ export enum PosixModeBits { UserWrite = 128 } -// @beta -export class PrefixProxyTerminalProvider implements ITerminalProvider { - constructor(options: IPrefixProxyTerminalProviderOptions); - // @override (undocumented) - get eolCharacter(): string; - // @override (undocumented) - get supportsColor(): boolean; - // @override (undocumented) - write(data: string, severity: TerminalProviderSeverity): void; -} - // @public export class ProtectableMap { constructor(parameters: IProtectableMapParameters); @@ -969,19 +786,6 @@ export class Sort { static sortSetBy(set: Set, keySelector: (element: T) => any, keyComparer?: (x: T, y: T) => number): void; } -// @beta -export class StringBufferTerminalProvider implements ITerminalProvider { - constructor(supportsColor?: boolean); - get eolCharacter(): string; - getDebugOutput(options?: IStringBufferOutputOptions): string; - getErrorOutput(options?: IStringBufferOutputOptions): string; - getOutput(options?: IStringBufferOutputOptions): string; - getVerbose(options?: IStringBufferOutputOptions): string; - getWarningOutput(options?: IStringBufferOutputOptions): string; - get supportsColor(): boolean; - write(data: string, severity: TerminalProviderSeverity): void; -} - // @public export class StringBuilder implements IStringBuilder { constructor(); @@ -996,44 +800,6 @@ export class SubprocessTerminator { static readonly RECOMMENDED_OPTIONS: ISubprocessOptions; } -// @beta -export class Terminal implements ITerminal { - constructor(provider: ITerminalProvider); - registerProvider(provider: ITerminalProvider): void; - unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: (string | IColorableSequence)[]): void; - writeDebug(...messageParts: (string | IColorableSequence)[]): void; - writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; - writeError(...messageParts: (string | IColorableSequence)[]): void; - writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; - writeLine(...messageParts: (string | IColorableSequence)[]): void; - writeVerbose(...messageParts: (string | IColorableSequence)[]): void; - writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; - writeWarning(...messageParts: (string | IColorableSequence)[]): void; - writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; -} - -// @beta -export enum TerminalProviderSeverity { - // (undocumented) - debug = 4, - // (undocumented) - error = 2, - // (undocumented) - log = 0, - // (undocumented) - verbose = 3, - // (undocumented) - warning = 1 -} - -// @beta -export class TerminalWritable extends Writable { - constructor(options: ITerminalWritableOptions); - // (undocumented) - _write(chunk: string | Buffer | Uint8Array, encoding: string, callback: (error?: Error | null) => void): void; -} - // @public export class Text { static convertTo(input: string, newlineKind: NewlineKind): string; @@ -1051,22 +817,6 @@ export class Text { static truncateWithEllipsis(s: string, maximumLength: number): string; } -// @beta -export enum TextAttribute { - // (undocumented) - Blink = 3, - // (undocumented) - Bold = 0, - // (undocumented) - Dim = 1, - // (undocumented) - Hidden = 5, - // (undocumented) - InvertColor = 4, - // (undocumented) - Underline = 2 -} - // @public export class TypeUuid { static isInstanceOf(targetObject: unknown, typeUuid: string): boolean; diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index f6927c03eb1..f8a5a005e70 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -4,9 +4,18 @@ ```ts +/// + import type { Brand } from '@rushstack/node-core-library'; -import type { ITerminal } from '@rushstack/node-core-library'; import { NewlineKind } from '@rushstack/node-core-library'; +import { Writable } from 'stream'; +import { WritableOptions } from 'stream'; + +// @public +export class AnsiEscape { + static formatForTests(text: string, options?: IAnsiEscapeConvertForTestsOptions): string; + static removeCodes(text: string): string; +} // @public export class CallbackWritable extends TerminalWritable { @@ -15,6 +24,92 @@ export class CallbackWritable extends TerminalWritable { protected onWriteChunk(chunk: ITerminalChunk): void; } +// @beta +export class Colors { + // (undocumented) + static black(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static blackBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static blink(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static blue(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static blueBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static bold(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static cyan(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static cyanBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static dim(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static gray(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static grayBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static green(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static greenBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static hidden(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static invertColor(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static magenta(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static magentaBackground(text: string | IColorableSequence): IColorableSequence; + // @internal + static _normalizeStringOrColorableSequence(value: string | IColorableSequence): IColorableSequence; + // (undocumented) + static red(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static redBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static underline(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static white(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static whiteBackground(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static yellow(text: string | IColorableSequence): IColorableSequence; + // (undocumented) + static yellowBackground(text: string | IColorableSequence): IColorableSequence; +} + +// @beta +export enum ColorValue { + // (undocumented) + Black = 0, + // (undocumented) + Blue = 4, + // (undocumented) + Cyan = 6, + // (undocumented) + Gray = 8, + // (undocumented) + Green = 2, + // (undocumented) + Magenta = 5, + // (undocumented) + Red = 1, + // (undocumented) + White = 7, + // (undocumented) + Yellow = 3 +} + +// @beta +export class ConsoleTerminalProvider implements ITerminalProvider { + constructor(options?: Partial); + debugEnabled: boolean; + get eolCharacter(): string; + get supportsColor(): boolean; + verboseEnabled: boolean; + write(data: string, severity: TerminalProviderSeverity): void; +} + // @public export const DEFAULT_CONSOLE_WIDTH: number; @@ -25,27 +120,70 @@ export class DiscardStdoutTransform extends TerminalTransform { protected onWriteChunk(chunk: ITerminalChunk): void; } +// @public +export interface IAnsiEscapeConvertForTestsOptions { + encodeNewlines?: boolean; +} + // @public export interface ICallbackWritableOptions { // (undocumented) onWriteChunk: (chunk: ITerminalChunk) => void; } +// @beta (undocumented) +export interface IColorableSequence { + // (undocumented) + backgroundColor?: ColorValue; + // (undocumented) + foregroundColor?: ColorValue; + // (undocumented) + isEol?: boolean; + // (undocumented) + text: string; + // (undocumented) + textAttributes?: TextAttribute[]; +} + +// @beta +export interface IConsoleTerminalProviderOptions { + debugEnabled: boolean; + verboseEnabled: boolean; +} + // @beta export interface IDiscardStdoutTransformOptions extends ITerminalTransformOptions { } +// @beta +export interface IDynamicPrefixProxyTerminalProviderOptions extends IPrefixProxyTerminalProviderOptionsBase { + getPrefix: () => string; +} + // @public export interface INormalizeNewlinesTextRewriterOptions { ensureNewlineAtEnd?: boolean; newlineKind: NewlineKind; } +// @beta (undocumented) +export type IPrefixProxyTerminalProviderOptions = IStaticPrefixProxyTerminalProviderOptions | IDynamicPrefixProxyTerminalProviderOptions; + +// @beta (undocumented) +export interface IPrefixProxyTerminalProviderOptionsBase { + terminalProvider: ITerminalProvider; +} + // @public export interface ISplitterTransformOptions extends ITerminalWritableOptions { destinations: TerminalWritable[]; } +// @beta +export interface IStaticPrefixProxyTerminalProviderOptions extends IPrefixProxyTerminalProviderOptionsBase { + prefix: string; +} + // @beta export interface IStdioLineTransformOptions extends ITerminalTransformOptions { newlineKind?: NewlineKind; @@ -57,12 +195,47 @@ export interface IStdioSummarizerOptions { trailingLines?: number; } +// @beta (undocumented) +export interface IStringBufferOutputOptions { + normalizeSpecialCharacters: boolean; +} + +// @beta (undocumented) +export interface ITerminal { + registerProvider(provider: ITerminalProvider): void; + unregisterProvider(provider: ITerminalProvider): void; + write(...messageParts: (string | IColorableSequence)[]): void; + writeDebug(...messageParts: (string | IColorableSequence)[]): void; + writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; + writeError(...messageParts: (string | IColorableSequence)[]): void; + writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; + writeLine(...messageParts: (string | IColorableSequence)[]): void; + writeVerbose(...messageParts: (string | IColorableSequence)[]): void; + writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; + writeWarning(...messageParts: (string | IColorableSequence)[]): void; + writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; +} + // @public export interface ITerminalChunk { kind: TerminalChunkKind; text: string; } +// @beta +export interface ITerminalProvider { + eolCharacter: string; + supportsColor: boolean; + write(data: string, severity: TerminalProviderSeverity): void; +} + +// @beta +export interface ITerminalStreamWritableOptions { + severity: TerminalProviderSeverity; + terminal: ITerminal; + writableOptions?: WritableOptions; +} + // @public export interface ITerminalTransformOptions extends ITerminalWritableOptions { destination: TerminalWritable; @@ -110,9 +283,21 @@ export class NormalizeNewlinesTextRewriter extends TextRewriter { process(unknownState: TextRewriterState, text: string): string; } +// @beta +export class PrefixProxyTerminalProvider implements ITerminalProvider { + constructor(options: IPrefixProxyTerminalProviderOptions); + // @override (undocumented) + get eolCharacter(): string; + // @override (undocumented) + get supportsColor(): boolean; + // @override (undocumented) + write(data: string, severity: TerminalProviderSeverity): void; +} + // @public export class PrintUtilities { static getConsoleWidth(): number | undefined; + // Warning: (ae-incompatible-release-tags) The symbol "printMessageInBox" is marked as @public, but its signature references "ITerminal" which is marked as @beta static printMessageInBox(message: string, terminal: ITerminal, boxWidth?: number): void; static wrapWords(text: string, maxLineLength?: number, indent?: number): string; static wrapWords(text: string, maxLineLength?: number, linePrefix?: string): string; @@ -170,12 +355,63 @@ export class StdioWritable extends TerminalWritable { protected onWriteChunk(chunk: ITerminalChunk): void; } +// @beta +export class StringBufferTerminalProvider implements ITerminalProvider { + constructor(supportsColor?: boolean); + get eolCharacter(): string; + getDebugOutput(options?: IStringBufferOutputOptions): string; + getErrorOutput(options?: IStringBufferOutputOptions): string; + getOutput(options?: IStringBufferOutputOptions): string; + getVerbose(options?: IStringBufferOutputOptions): string; + getWarningOutput(options?: IStringBufferOutputOptions): string; + get supportsColor(): boolean; + write(data: string, severity: TerminalProviderSeverity): void; +} + +// @beta +export class Terminal implements ITerminal { + constructor(provider: ITerminalProvider); + registerProvider(provider: ITerminalProvider): void; + unregisterProvider(provider: ITerminalProvider): void; + write(...messageParts: (string | IColorableSequence)[]): void; + writeDebug(...messageParts: (string | IColorableSequence)[]): void; + writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; + writeError(...messageParts: (string | IColorableSequence)[]): void; + writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; + writeLine(...messageParts: (string | IColorableSequence)[]): void; + writeVerbose(...messageParts: (string | IColorableSequence)[]): void; + writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; + writeWarning(...messageParts: (string | IColorableSequence)[]): void; + writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; +} + // @public export const enum TerminalChunkKind { Stderr = "E", Stdout = "O" } +// @beta +export enum TerminalProviderSeverity { + // (undocumented) + debug = 4, + // (undocumented) + error = 2, + // (undocumented) + log = 0, + // (undocumented) + verbose = 3, + // (undocumented) + warning = 1 +} + +// @beta +export class TerminalStreamWritable extends Writable { + constructor(options: ITerminalStreamWritableOptions); + // (undocumented) + _write(chunk: string | Buffer | Uint8Array, encoding: string, callback: (error?: Error | null) => void): void; +} + // @public export abstract class TerminalTransform extends TerminalWritable { constructor(options: ITerminalTransformOptions); @@ -203,6 +439,22 @@ export abstract class TerminalWritable { writeChunk(chunk: ITerminalChunk): void; } +// @beta +export enum TextAttribute { + // (undocumented) + Blink = 3, + // (undocumented) + Bold = 0, + // (undocumented) + Dim = 1, + // (undocumented) + Hidden = 5, + // (undocumented) + InvertColor = 4, + // (undocumented) + Underline = 2 +} + // @public export abstract class TextRewriter { abstract close(state: TextRewriterState): string; diff --git a/libraries/node-core-library/src/index.ts b/libraries/node-core-library/src/index.ts index 66589e27de1..6683987fdcb 100644 --- a/libraries/node-core-library/src/index.ts +++ b/libraries/node-core-library/src/index.ts @@ -8,7 +8,6 @@ */ export { AlreadyReportedError } from './AlreadyReportedError'; -export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './Terminal/AnsiEscape'; export { Async, AsyncQueue, IAsyncParallelismOptions, IRunWithRetriesOptions } from './Async'; export { Brand } from './PrimitiveTypes'; export { FileConstants, FolderConstants } from './Constants'; @@ -102,21 +101,4 @@ export { FileWriter, IFileWriterFlags } from './FileWriter'; export { LegacyAdapters, LegacyCallback } from './LegacyAdapters'; export { StringBuilder, IStringBuilder } from './StringBuilder'; export { ISubprocessOptions, SubprocessTerminator } from './SubprocessTerminator'; -export { ITerminal } from './Terminal/ITerminal'; -export { Terminal } from './Terminal/Terminal'; -export { Colors, IColorableSequence, ColorValue, TextAttribute } from './Terminal/Colors'; -export { ITerminalProvider, TerminalProviderSeverity } from './Terminal/ITerminalProvider'; -export { ConsoleTerminalProvider, IConsoleTerminalProviderOptions } from './Terminal/ConsoleTerminalProvider'; -export { - StringBufferTerminalProvider, - IStringBufferOutputOptions -} from './Terminal/StringBufferTerminalProvider'; -export { - PrefixProxyTerminalProvider, - IPrefixProxyTerminalProviderOptions, - IDynamicPrefixProxyTerminalProviderOptions, - IPrefixProxyTerminalProviderOptionsBase, - IStaticPrefixProxyTerminalProviderOptions -} from './Terminal/PrefixProxyTerminalProvider'; -export { TerminalWritable, ITerminalWritableOptions } from './Terminal/TerminalWritable'; export { TypeUuid } from './TypeUuid'; diff --git a/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts b/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts index 1ed2f4f18ad..5918051858f 100644 --- a/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts +++ b/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts @@ -6,7 +6,7 @@ import * as readline from 'readline'; import * as process from 'process'; import { AlreadyReportedError, InternalError } from '@rushstack/node-core-library'; -// TODO: Integrate these into the AnsiEscape API in @rushstack/node-core-library +// TODO: Integrate these into the AnsiEscape API in @rushstack/terminal // As part of that work we should generalize the "Colors" API to support more general // terminal escapes, and simplify the interface for that API. const ANSI_ESCAPE_SHOW_CURSOR: string = '\u001B[?25l'; diff --git a/libraries/node-core-library/src/Terminal/AnsiEscape.ts b/libraries/terminal/src/AnsiEscape.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/AnsiEscape.ts rename to libraries/terminal/src/AnsiEscape.ts diff --git a/libraries/node-core-library/src/Terminal/Colors.ts b/libraries/terminal/src/Colors.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/Colors.ts rename to libraries/terminal/src/Colors.ts diff --git a/libraries/node-core-library/src/Terminal/ConsoleTerminalProvider.ts b/libraries/terminal/src/ConsoleTerminalProvider.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/ConsoleTerminalProvider.ts rename to libraries/terminal/src/ConsoleTerminalProvider.ts diff --git a/libraries/node-core-library/src/Terminal/ITerminal.ts b/libraries/terminal/src/ITerminal.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/ITerminal.ts rename to libraries/terminal/src/ITerminal.ts diff --git a/libraries/node-core-library/src/Terminal/ITerminalProvider.ts b/libraries/terminal/src/ITerminalProvider.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/ITerminalProvider.ts rename to libraries/terminal/src/ITerminalProvider.ts diff --git a/libraries/terminal/src/MockWritable.ts b/libraries/terminal/src/MockWritable.ts index 832a5da73a6..04ced06f8da 100644 --- a/libraries/terminal/src/MockWritable.ts +++ b/libraries/terminal/src/MockWritable.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { AnsiEscape } from './AnsiEscape'; import type { ITerminalChunk } from './ITerminalChunk'; import { TerminalWritable } from './TerminalWritable'; -import { AnsiEscape } from '@rushstack/node-core-library'; /** * A {@link TerminalWritable} subclass for use by unit tests. diff --git a/libraries/node-core-library/src/Terminal/PrefixProxyTerminalProvider.ts b/libraries/terminal/src/PrefixProxyTerminalProvider.ts similarity index 98% rename from libraries/node-core-library/src/Terminal/PrefixProxyTerminalProvider.ts rename to libraries/terminal/src/PrefixProxyTerminalProvider.ts index f12163e6de0..ce02bbc4c1e 100644 --- a/libraries/node-core-library/src/Terminal/PrefixProxyTerminalProvider.ts +++ b/libraries/terminal/src/PrefixProxyTerminalProvider.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { Text } from '@rushstack/node-core-library'; import type { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { Text } from '../Text'; /** * @beta diff --git a/libraries/terminal/src/PrintUtilities.ts b/libraries/terminal/src/PrintUtilities.ts index d4db26ad9f2..6b22e6acd32 100644 --- a/libraries/terminal/src/PrintUtilities.ts +++ b/libraries/terminal/src/PrintUtilities.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from './ITerminal'; /** * A sensible fallback column width for consoles. diff --git a/libraries/terminal/src/RemoveColorsTextRewriter.ts b/libraries/terminal/src/RemoveColorsTextRewriter.ts index f042a04bde6..7a9e8dd3352 100644 --- a/libraries/terminal/src/RemoveColorsTextRewriter.ts +++ b/libraries/terminal/src/RemoveColorsTextRewriter.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { AnsiEscape } from '@rushstack/node-core-library'; +import { AnsiEscape } from './AnsiEscape'; import { TextRewriter, type TextRewriterState } from './TextRewriter'; enum State { diff --git a/libraries/node-core-library/src/Terminal/StringBufferTerminalProvider.ts b/libraries/terminal/src/StringBufferTerminalProvider.ts similarity index 97% rename from libraries/node-core-library/src/Terminal/StringBufferTerminalProvider.ts rename to libraries/terminal/src/StringBufferTerminalProvider.ts index 4ee07fe4721..b03408c80f4 100644 --- a/libraries/node-core-library/src/Terminal/StringBufferTerminalProvider.ts +++ b/libraries/terminal/src/StringBufferTerminalProvider.ts @@ -1,9 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { StringBuilder, Text } from '@rushstack/node-core-library'; import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { StringBuilder } from '../StringBuilder'; -import { Text } from '../Text'; import { AnsiEscape } from './AnsiEscape'; /** diff --git a/libraries/node-core-library/src/Terminal/Terminal.ts b/libraries/terminal/src/Terminal.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/Terminal.ts rename to libraries/terminal/src/Terminal.ts diff --git a/libraries/node-core-library/src/Terminal/TerminalWritable.ts b/libraries/terminal/src/TerminalStreamWritable.ts similarity index 90% rename from libraries/node-core-library/src/Terminal/TerminalWritable.ts rename to libraries/terminal/src/TerminalStreamWritable.ts index 8681ac5af29..8a45ed3fa9e 100644 --- a/libraries/node-core-library/src/Terminal/TerminalWritable.ts +++ b/libraries/terminal/src/TerminalStreamWritable.ts @@ -1,16 +1,16 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { Writable, type WritableOptions } from 'stream'; import type { ITerminal } from './ITerminal'; import { TerminalProviderSeverity } from './ITerminalProvider'; -import { Writable, type WritableOptions } from 'stream'; /** - * Options for {@link TerminalWritable}. + * Options for {@link TerminalStreamWritable}. * * @beta */ -export interface ITerminalWritableOptions { +export interface ITerminalStreamWritableOptions { /** * The {@link ITerminal} that the Writable will write to. */ @@ -30,10 +30,10 @@ export interface ITerminalWritableOptions { * * @beta */ -export class TerminalWritable extends Writable { +export class TerminalStreamWritable extends Writable { private _writeMethod: (data: string) => void; - public constructor(options: ITerminalWritableOptions) { + public constructor(options: ITerminalStreamWritableOptions) { const { terminal, severity, writableOptions } = options; super(writableOptions); diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index 8617e5172c6..6e3015b619c 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -11,18 +11,36 @@ * @packageDocumentation */ -export * from './CallbackWritable'; -export * from './DiscardStdoutTransform'; -export * from './ITerminalChunk'; -export * from './MockWritable'; -export * from './NormalizeNewlinesTextRewriter'; -export * from './PrintUtilities'; -export * from './RemoveColorsTextRewriter'; -export * from './SplitterTransform'; -export * from './StdioLineTransform'; -export * from './StdioSummarizer'; -export * from './StdioWritable'; -export * from './TerminalTransform'; -export * from './TerminalWritable'; -export * from './TextRewriter'; -export * from './TextRewriterTransform'; +export { ICallbackWritableOptions, CallbackWritable } from './CallbackWritable'; +export { IDiscardStdoutTransformOptions, DiscardStdoutTransform } from './DiscardStdoutTransform'; +export { TerminalChunkKind, ITerminalChunk } from './ITerminalChunk'; +export { MockWritable } from './MockWritable'; +export { + INormalizeNewlinesTextRewriterOptions, + NormalizeNewlinesTextRewriter +} from './NormalizeNewlinesTextRewriter'; +export { DEFAULT_CONSOLE_WIDTH, PrintUtilities } from './PrintUtilities'; +export { RemoveColorsTextRewriter } from './RemoveColorsTextRewriter'; +export { ISplitterTransformOptions, SplitterTransform } from './SplitterTransform'; +export { IStdioLineTransformOptions, StderrLineTransform } from './StdioLineTransform'; +export { IStdioSummarizerOptions, StdioSummarizer } from './StdioSummarizer'; +export { StdioWritable } from './StdioWritable'; +export { ITerminalTransformOptions, TerminalTransform } from './TerminalTransform'; +export { ITerminalWritableOptions, TerminalWritable } from './TerminalWritable'; +export { TextRewriterState, TextRewriter } from './TextRewriter'; +export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewriterTransform'; +export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; +export { ITerminal } from './ITerminal'; +export { Terminal } from './Terminal'; +export { Colors, IColorableSequence, ColorValue, TextAttribute } from './Colors'; +export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; +export { ConsoleTerminalProvider, IConsoleTerminalProviderOptions } from './ConsoleTerminalProvider'; +export { StringBufferTerminalProvider, IStringBufferOutputOptions } from './StringBufferTerminalProvider'; +export { + PrefixProxyTerminalProvider, + IPrefixProxyTerminalProviderOptions, + IDynamicPrefixProxyTerminalProviderOptions, + IPrefixProxyTerminalProviderOptionsBase, + IStaticPrefixProxyTerminalProviderOptions +} from './PrefixProxyTerminalProvider'; +export { TerminalStreamWritable, ITerminalStreamWritableOptions } from './TerminalStreamWritable'; diff --git a/libraries/node-core-library/src/Terminal/test/AnsiEscape.test.ts b/libraries/terminal/src/test/AnsiEscape.test.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/test/AnsiEscape.test.ts rename to libraries/terminal/src/test/AnsiEscape.test.ts diff --git a/libraries/node-core-library/src/Terminal/test/Colors.test.ts b/libraries/terminal/src/test/Colors.test.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/test/Colors.test.ts rename to libraries/terminal/src/test/Colors.test.ts diff --git a/libraries/node-core-library/src/Terminal/test/PrefixProxyTerminalProvider.test.ts b/libraries/terminal/src/test/PrefixProxyTerminalProvider.test.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/test/PrefixProxyTerminalProvider.test.ts rename to libraries/terminal/src/test/PrefixProxyTerminalProvider.test.ts diff --git a/libraries/terminal/src/test/PrintUtilities.test.ts b/libraries/terminal/src/test/PrintUtilities.test.ts index a709b676dfb..f09a79b3e0a 100644 --- a/libraries/terminal/src/test/PrintUtilities.test.ts +++ b/libraries/terminal/src/test/PrintUtilities.test.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; - +import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; +import { Terminal } from '../Terminal'; import { PrintUtilities } from '../PrintUtilities'; describe(PrintUtilities.name, () => { diff --git a/libraries/terminal/src/test/RemoveColorsTextRewriter.test.ts b/libraries/terminal/src/test/RemoveColorsTextRewriter.test.ts index ba6a23daecc..ffffcb976c0 100644 --- a/libraries/terminal/src/test/RemoveColorsTextRewriter.test.ts +++ b/libraries/terminal/src/test/RemoveColorsTextRewriter.test.ts @@ -2,10 +2,10 @@ // See LICENSE in the project root for license information. import colors from 'colors'; +import { AnsiEscape } from '../AnsiEscape'; import { RemoveColorsTextRewriter } from '../RemoveColorsTextRewriter'; import type { TextRewriterState } from '../TextRewriter'; -import { AnsiEscape } from '@rushstack/node-core-library'; function testCase(inputs: string[]): void { const matcher: RemoveColorsTextRewriter = new RemoveColorsTextRewriter(); diff --git a/libraries/node-core-library/src/Terminal/test/Terminal.test.ts b/libraries/terminal/src/test/Terminal.test.ts similarity index 100% rename from libraries/node-core-library/src/Terminal/test/Terminal.test.ts rename to libraries/terminal/src/test/Terminal.test.ts diff --git a/libraries/node-core-library/src/Terminal/test/TerminalWritable.test.ts b/libraries/terminal/src/test/TerminalStreamWritable.test.ts similarity index 81% rename from libraries/node-core-library/src/Terminal/test/TerminalWritable.test.ts rename to libraries/terminal/src/test/TerminalStreamWritable.test.ts index feaaa86b306..049a9735f84 100644 --- a/libraries/node-core-library/src/Terminal/test/TerminalWritable.test.ts +++ b/libraries/terminal/src/test/TerminalStreamWritable.test.ts @@ -3,7 +3,7 @@ import { Terminal } from '../Terminal'; import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; -import { TerminalWritable } from '../TerminalWritable'; +import { TerminalStreamWritable } from '../TerminalStreamWritable'; import { TerminalProviderSeverity } from '../ITerminalProvider'; import type { Writable } from 'stream'; @@ -33,14 +33,14 @@ async function writeAsync(writable: Writable, data: string): Promise { }); } -describe(TerminalWritable.name, () => { +describe(TerminalStreamWritable.name, () => { beforeEach(() => { provider = new StringBufferTerminalProvider(true); terminal = new Terminal(provider); }); test('writes a message', async () => { - const writable: TerminalWritable = new TerminalWritable({ + const writable: TerminalStreamWritable = new TerminalStreamWritable({ terminal, severity: TerminalProviderSeverity.log }); @@ -50,7 +50,7 @@ describe(TerminalWritable.name, () => { }); test('writes a verbose message', async () => { - const writable: TerminalWritable = new TerminalWritable({ + const writable: TerminalStreamWritable = new TerminalStreamWritable({ terminal, severity: TerminalProviderSeverity.verbose }); @@ -60,7 +60,7 @@ describe(TerminalWritable.name, () => { }); test('writes a debug message', async () => { - const writable: TerminalWritable = new TerminalWritable({ + const writable: TerminalStreamWritable = new TerminalStreamWritable({ terminal, severity: TerminalProviderSeverity.debug }); @@ -70,7 +70,7 @@ describe(TerminalWritable.name, () => { }); test('writes a warning message', async () => { - const writable: TerminalWritable = new TerminalWritable({ + const writable: TerminalStreamWritable = new TerminalStreamWritable({ terminal, severity: TerminalProviderSeverity.warning }); @@ -80,7 +80,7 @@ describe(TerminalWritable.name, () => { }); test('writes an error message', async () => { - const writable: TerminalWritable = new TerminalWritable({ + const writable: TerminalStreamWritable = new TerminalStreamWritable({ terminal, severity: TerminalProviderSeverity.error }); diff --git a/libraries/node-core-library/src/Terminal/test/__snapshots__/Colors.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap similarity index 100% rename from libraries/node-core-library/src/Terminal/test/__snapshots__/Colors.test.ts.snap rename to libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap diff --git a/libraries/node-core-library/src/Terminal/test/__snapshots__/PrefixProxyTerminalProvider.test.ts.snap b/libraries/terminal/src/test/__snapshots__/PrefixProxyTerminalProvider.test.ts.snap similarity index 100% rename from libraries/node-core-library/src/Terminal/test/__snapshots__/PrefixProxyTerminalProvider.test.ts.snap rename to libraries/terminal/src/test/__snapshots__/PrefixProxyTerminalProvider.test.ts.snap diff --git a/libraries/node-core-library/src/Terminal/test/__snapshots__/Terminal.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap similarity index 100% rename from libraries/node-core-library/src/Terminal/test/__snapshots__/Terminal.test.ts.snap rename to libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap diff --git a/libraries/terminal/src/test/__snapshots__/TerminalStreamWritable.test.ts.snap b/libraries/terminal/src/test/__snapshots__/TerminalStreamWritable.test.ts.snap new file mode 100644 index 00000000000..7682242fb62 --- /dev/null +++ b/libraries/terminal/src/test/__snapshots__/TerminalStreamWritable.test.ts.snap @@ -0,0 +1,51 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TerminalStreamWritable writes a debug message 1`] = ` +Object { + "debug": "test message", + "error": "", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`TerminalStreamWritable writes a message 1`] = ` +Object { + "debug": "", + "error": "", + "log": "test message", + "verbose": "", + "warning": "", +} +`; + +exports[`TerminalStreamWritable writes a verbose message 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "test message", + "warning": "", +} +`; + +exports[`TerminalStreamWritable writes a warning message 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "", + "warning": "[yellow]test message[default]", +} +`; + +exports[`TerminalStreamWritable writes an error message 1`] = ` +Object { + "debug": "", + "error": "[red]test message[default]", + "log": "", + "verbose": "", + "warning": "", +} +`; diff --git a/libraries/node-core-library/src/Terminal/test/__snapshots__/TerminalWritable.test.ts.snap b/libraries/terminal/src/test/__snapshots__/TerminalWritable.test.ts.snap similarity index 100% rename from libraries/node-core-library/src/Terminal/test/__snapshots__/TerminalWritable.test.ts.snap rename to libraries/terminal/src/test/__snapshots__/TerminalWritable.test.ts.snap diff --git a/libraries/node-core-library/src/Terminal/test/createColorGrid.ts b/libraries/terminal/src/test/createColorGrid.ts similarity index 96% rename from libraries/node-core-library/src/Terminal/test/createColorGrid.ts rename to libraries/terminal/src/test/createColorGrid.ts index de6c3af465f..349ba5336bc 100644 --- a/libraries/node-core-library/src/Terminal/test/createColorGrid.ts +++ b/libraries/terminal/src/test/createColorGrid.ts @@ -5,7 +5,7 @@ * This file is a little program that prints all of the colors to the console */ -import { Colors, type IColorableSequence } from '../../index'; +import { Colors, type IColorableSequence } from '../index'; export function createColorGrid( attributeFunction?: (text: string | IColorableSequence) => IColorableSequence diff --git a/libraries/node-core-library/src/Terminal/test/write-colors.ts b/libraries/terminal/src/test/write-colors.ts similarity index 91% rename from libraries/node-core-library/src/Terminal/test/write-colors.ts rename to libraries/terminal/src/test/write-colors.ts index f59a63d4196..d3b0e10b908 100644 --- a/libraries/node-core-library/src/Terminal/test/write-colors.ts +++ b/libraries/terminal/src/test/write-colors.ts @@ -7,9 +7,8 @@ * Run this program with `node write-colors.js` */ -import { Terminal, ConsoleTerminalProvider } from '../../index'; +import { Terminal, ConsoleTerminalProvider, Colors, type IColorableSequence } from '../index'; import { createColorGrid } from './createColorGrid'; -import { Colors, type IColorableSequence } from '../Colors'; const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); function writeColorGrid(colorGridSequences: IColorableSequence[][]): void { From d1ff59e643f3e93f22bcd08d3e43a42f098976cb Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 8 Oct 2023 16:26:30 +0000 Subject: [PATCH 136/180] Decouple local terminal dependencies. --- libraries/terminal/.eslintrc.js | 10 +++++----- libraries/terminal/config/jest.config.json | 10 +++++++++- libraries/terminal/config/rig.json | 2 +- libraries/terminal/package.json | 7 +++++-- libraries/terminal/tsconfig.json | 6 +++++- rush.json | 3 ++- 6 files changed, 27 insertions(+), 11 deletions(-) diff --git a/libraries/terminal/.eslintrc.js b/libraries/terminal/.eslintrc.js index 0b04796d1ee..de794c04ae0 100644 --- a/libraries/terminal/.eslintrc.js +++ b/libraries/terminal/.eslintrc.js @@ -1,13 +1,13 @@ // This is a workaround for https://github.com/eslint/eslint/issues/3458 -require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); +require('local-eslint-config/patch/modern-module-resolution'); // This is a workaround for https://github.com/microsoft/rushstack/issues/3021 -require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); +require('local-eslint-config/patch/custom-config-package-names'); module.exports = { extends: [ - 'local-node-rig/profiles/default/includes/eslint/profile/node', - 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals', - 'local-node-rig/profiles/default/includes/eslint/mixins/tsdoc' + 'local-eslint-config/profile/node', + 'local-eslint-config/mixins/friendly-locals', + 'local-eslint-config/mixins/tsdoc' ], parserOptions: { tsconfigRootDir: __dirname } }; diff --git a/libraries/terminal/config/jest.config.json b/libraries/terminal/config/jest.config.json index d1749681d90..8e67263514a 100644 --- a/libraries/terminal/config/jest.config.json +++ b/libraries/terminal/config/jest.config.json @@ -1,3 +1,11 @@ { - "extends": "local-node-rig/profiles/default/config/jest.config.json" + "extends": "@rushstack/heft-node-rig/profiles/default/config/jest.config.json", + + // Enable code coverage for Jest + "collectCoverage": true, + "coverageDirectory": "/coverage", + "coverageReporters": ["cobertura", "html"], + + // Use v8 coverage provider to avoid Babel + "coverageProvider": "v8" } diff --git a/libraries/terminal/config/rig.json b/libraries/terminal/config/rig.json index 165ffb001f5..6ac88a96368 100644 --- a/libraries/terminal/config/rig.json +++ b/libraries/terminal/config/rig.json @@ -3,5 +3,5 @@ // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - "rigPackageName": "local-node-rig" + "rigPackageName": "@rushstack/heft-node-rig" } diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index c4bac8e553b..73fb23d9393 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -19,8 +19,11 @@ "@rushstack/node-core-library": "workspace:*" }, "devDependencies": { - "@rushstack/heft": "workspace:*", - "local-node-rig": "workspace:*", + "@rushstack/heft": "0.64.0", + "@rushstack/heft-node-rig": "2.4.0", + "@types/heft-jest": "1.0.1", + "@types/node": "18.17.15", + "local-eslint-config": "workspace:*", "colors": "~1.2.1" }, "peerDependencies": { diff --git a/libraries/terminal/tsconfig.json b/libraries/terminal/tsconfig.json index dac21d04081..fbc2f5c0a6c 100644 --- a/libraries/terminal/tsconfig.json +++ b/libraries/terminal/tsconfig.json @@ -1,3 +1,7 @@ { - "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" + "extends": "./node_modules/@rushstack/heft-node-rig/profiles/default/tsconfig-base.json", + + "compilerOptions": { + "types": ["heft-jest", "node"] + } } diff --git a/rush.json b/rush.json index 40132bae786..209d69b8bd9 100644 --- a/rush.json +++ b/rush.json @@ -1098,7 +1098,8 @@ "packageName": "@rushstack/terminal", "projectFolder": "libraries/terminal", "reviewCategory": "libraries", - "shouldPublish": true + "shouldPublish": true, + "decoupledLocalDependencies": ["@rushstack/heft-node-rig", "@rushstack/heft"] }, { "packageName": "@rushstack/tree-pattern", From 848368b981ba162aa9563556bab1dddbb50ae1ca Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 21:24:28 -0800 Subject: [PATCH 137/180] Update projects to get Terminal and related APIs from @rushstack/terminal. --- apps/heft/package.json | 1 + apps/heft/src/cli/HeftActionRunner.ts | 10 +--- apps/heft/src/cli/HeftCommandLineParser.ts | 9 +--- apps/heft/src/cli/actions/AliasAction.ts | 2 +- apps/heft/src/cli/actions/CleanAction.ts | 2 +- apps/heft/src/cli/actions/IHeftAction.ts | 2 +- apps/heft/src/cli/actions/RunAction.ts | 3 +- .../src/configuration/HeftConfiguration.ts | 10 +--- .../src/configuration/RigPackageResolver.ts | 2 +- .../src/pluginFramework/HeftPluginHost.ts | 3 +- .../pluginFramework/logging/LoggingManager.ts | 3 +- .../logging/MockScopedLogger.ts | 2 +- .../pluginFramework/logging/ScopedLogger.ts | 2 +- apps/heft/src/plugins/CopyFilesPlugin.ts | 3 +- apps/heft/src/plugins/DeleteFilesPlugin.ts | 3 +- apps/heft/src/utilities/CoreConfigFiles.ts | 3 +- apps/rush/package.json | 3 +- apps/rush/src/start-dev-docs.ts | 2 +- apps/rush/src/start.ts | 8 +-- .../package.json | 3 ++ .../src/readObject.ts | 2 +- .../package.json | 2 +- .../src/start.ts | 2 +- .../package.json | 1 + .../src/testLockProvider.ts | 2 +- .../rush/nonbrowser-approved-packages.json | 2 +- common/config/rush/pnpm-lock.yaml | 4 -- .../api/debug-certificate-manager.api.md | 2 +- common/reviews/api/heft-config-file.api.md | 2 +- .../reviews/api/heft-typescript-plugin.api.md | 2 +- common/reviews/api/heft.api.md | 4 +- .../reviews/api/localization-utilities.api.md | 2 +- common/reviews/api/operation-graph.api.md | 2 +- common/reviews/api/package-extractor.api.md | 2 +- .../rush-amazon-s3-build-cache-plugin.api.md | 2 +- ...sh-azure-storage-build-cache-plugin.api.md | 2 +- common/reviews/api/rush-lib.api.md | 6 +-- common/reviews/api/typings-generator.api.md | 2 +- .../api/webpack4-localization-plugin.api.md | 2 +- .../heft-api-extractor-plugin/package.json | 1 + .../src/ApiExtractorRunner.ts | 3 +- heft-plugins/heft-jest-plugin/package.json | 1 + .../heft-jest-plugin/src/HeftJestReporter.ts | 9 +--- .../heft-jest-plugin/src/JestPlugin.ts | 10 +--- .../src/TerminalWritableStream.ts | 2 +- .../src/test/JestPlugin.test.ts | 3 +- heft-plugins/heft-lint-plugin/package.json | 1 + .../heft-lint-plugin/src/LinterBase.ts | 3 +- heft-plugins/heft-lint-plugin/src/Tslint.ts | 3 +- .../heft-storybook-plugin/package.json | 3 +- .../src/StorybookPlugin.ts | 6 +-- .../heft-typescript-plugin/package.json | 1 + .../src/TypeScriptBuilder.ts | 3 +- .../src/TypeScriptPlugin.ts | 3 +- .../heft-webpack4-plugin/package.json | 1 + .../src/WebpackConfigurationLoader.test.ts | 2 +- .../heft-webpack5-plugin/package.json | 1 + .../src/WebpackConfigurationLoader.test.ts | 2 +- .../debug-certificate-manager/package.json | 1 + .../src/CertificateManager.ts | 3 +- libraries/heft-config-file/package.json | 1 + .../heft-config-file/src/ConfigurationFile.ts | 10 +--- .../src/test/ConfigurationFile.test.ts | 9 ++-- libraries/localization-utilities/package.json | 1 + .../src/parsers/parseResx.ts | 3 +- .../src/parsers/test/parseResx.test.ts | 8 +-- libraries/operation-graph/package.json | 3 +- libraries/operation-graph/src/Operation.ts | 3 +- .../src/OperationExecutionManager.ts | 3 +- .../test/OperationExecutionManager.test.ts | 2 +- .../package-extractor/src/PackageExtractor.ts | 5 +- .../src/test/PackageExtractor.test.ts | 3 +- .../src/api/BuildCacheConfiguration.ts | 4 +- .../rush-lib/src/api/CobuildConfiguration.ts | 3 +- .../src/api/CustomTipsConfiguration.ts | 4 +- libraries/rush-lib/src/api/Rush.ts | 8 +-- .../src/api/RushProjectConfiguration.ts | 3 +- .../api/test/CustomTipsConfiguration.test.ts | 4 +- .../api/test/RushProjectConfiguration.test.ts | 3 +- .../rush-lib/src/cli/RushCommandLineParser.ts | 9 +--- .../src/cli/RushPnpmCommandLineParser.ts | 13 +++-- .../src/cli/actions/BaseInstallAction.ts | 8 +-- .../rush-lib/src/cli/actions/ChangeAction.ts | 9 +--- .../rush-lib/src/cli/actions/CheckAction.ts | 2 +- .../rush-lib/src/cli/actions/ListAction.ts | 3 +- .../rush-lib/src/cli/actions/RemoveAction.ts | 2 +- .../actions/UpdateCloudCredentialsAction.ts | 3 +- .../src/cli/parsing/SelectionParameterSet.ts | 8 +-- .../cli/scriptActions/PhasedScriptAction.ts | 3 +- .../src/cli/test/CommandLineHelp.test.ts | 2 +- libraries/rush-lib/src/logic/Git.ts | 3 +- .../rush-lib/src/logic/PackageJsonUpdater.ts | 7 +-- .../src/logic/ProjectChangeAnalyzer.ts | 3 +- .../rush-lib/src/logic/ProjectWatcher.ts | 3 +- .../src/logic/base/BaseInstallManager.ts | 10 ++-- .../FileSystemBuildCacheProvider.ts | 3 +- .../buildCache/ICloudBuildCacheProvider.ts | 2 +- .../src/logic/buildCache/ProjectBuildCache.ts | 9 +--- .../buildCache/test/ProjectBuildCache.test.ts | 3 +- .../deploy/DeployScenarioConfiguration.ts | 3 +- .../installManager/doBasicInstallAsync.ts | 2 +- .../operations/CacheableOperationPlugin.ts | 11 +---- .../logic/operations/ConsoleTimelinePlugin.ts | 2 +- .../src/logic/operations/LegacySkipPlugin.ts | 11 +---- .../operations/OperationMetadataManager.ts | 8 +-- .../OperationResultSummarizerPlugin.ts | 4 +- .../logic/operations/ShellOperationRunner.ts | 3 +- .../operations/ValidateOperationsPlugin.ts | 2 +- .../test/OperationExecutionManager.test.ts | 2 +- .../src/logic/selectors/ISelectorParser.ts | 2 +- .../src/logic/setup/SetupPackageRegistry.ts | 5 +- .../rush-lib/src/logic/setup/TerminalInput.ts | 2 +- .../src/logic/test/BaseInstallManager.test.ts | 2 +- .../logic/test/ProjectChangeAnalyzer.test.ts | 2 +- .../rush-lib/src/logic/test/Telemetry.test.ts | 4 +- .../versionMismatch/VersionMismatchFinder.ts | 3 +- .../PluginLoader/PluginLoaderBase.ts | 2 +- .../src/pluginFramework/PluginManager.ts | 3 +- .../src/pluginFramework/RushSession.ts | 3 +- .../src/pluginFramework/logging/Logger.ts | 2 +- .../src/utilities/CollatedTerminalProvider.ts | 3 +- .../src/utilities/NullTerminalProvider.ts | 2 +- .../rush-lib/src/utilities/TarExecutable.ts | 3 +- libraries/rush-sdk/src/index.ts | 5 +- libraries/typings-generator/package.json | 1 + .../typings-generator/src/TypingsGenerator.ts | 11 +---- repo-scripts/repo-toolbox/package.json | 1 + .../repo-toolbox/src/BumpCyclicsAction.ts | 3 +- repo-scripts/repo-toolbox/src/ReadmeAction.ts | 13 +---- .../repo-toolbox/src/RecordVersionsAction.ts | 3 +- .../package.json | 1 + .../src/AmazonS3BuildCacheProvider.ts | 2 +- .../src/AmazonS3Client.ts | 3 +- .../test/AmazonS3BuildCacheProvider.test.ts | 6 +-- .../src/test/AmazonS3Client.test.ts | 2 +- .../src/AzureAuthenticationBase.ts | 2 +- .../src/AzureStorageAuthentication.ts | 2 +- .../src/AzureStorageBuildCacheProvider.ts | 2 +- .../AzureStorageBuildCacheProvider.test.ts | 2 +- .../rush-http-build-cache-plugin/.eslintrc.js | 12 +++++ .../rush-http-build-cache-plugin/package.json | 1 + .../src/HttpBuildCacheProvider.ts | 49 +++++++++++-------- .../src/RushHttpBuildCachePlugin.ts | 2 +- .../rush-http-build-cache-plugin/src/index.ts | 3 ++ .../src/test/HttpBuildCacheProvider.test.ts | 4 +- .../rush-litewatch-plugin/package.json | 3 +- .../rush-litewatch-plugin/src/WatchManager.ts | 2 +- .../rush-litewatch-plugin/src/WatchProject.ts | 2 +- .../src/test/WatchManager.test.ts | 2 +- .../rush-redis-cobuild-plugin/package.json | 1 + .../src/RedisCobuildLockProvider.ts | 2 +- .../src/test/RedisCobuildLockProvider.test.ts | 2 +- rush-plugins/rush-serve-plugin/package.json | 1 + .../src/RushProjectServeConfigFile.ts | 3 +- .../rush-vscode-extension/package.json | 3 +- .../rush-vscode-extension/src/logic/logger.ts | 2 +- .../webpack4-localization-plugin/package.json | 1 + .../src/LocalizationPlugin.ts | 3 +- .../src/loaders/InPlaceLocFileLoader.ts | 2 +- .../src/loaders/LocLoader.ts | 2 +- .../src/utilities/LoaderTerminalProvider.ts | 2 +- .../webpack5-localization-plugin/package.json | 3 +- .../src/loaders/default-locale-loader.ts | 2 +- .../src/loaders/loc-loader.ts | 3 +- .../src/loaders/resx-loader.ts | 2 +- .../src/utilities/LoaderTerminalProvider.ts | 2 +- 166 files changed, 302 insertions(+), 327 deletions(-) create mode 100644 rush-plugins/rush-http-build-cache-plugin/.eslintrc.js diff --git a/apps/heft/package.json b/apps/heft/package.json index 5d9bc9a8c33..7ebc959d6ae 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -38,6 +38,7 @@ "@rushstack/node-core-library": "workspace:*", "@rushstack/operation-graph": "workspace:*", "@rushstack/rig-package": "workspace:*", + "@rushstack/terminal": "workspace:*", "@rushstack/ts-command-line": "workspace:*", "@types/tapable": "1.0.6", "chokidar": "~3.4.0", diff --git a/apps/heft/src/cli/HeftActionRunner.ts b/apps/heft/src/cli/HeftActionRunner.ts index f32b1fe84ed..5ce2562dca6 100644 --- a/apps/heft/src/cli/HeftActionRunner.ts +++ b/apps/heft/src/cli/HeftActionRunner.ts @@ -5,14 +5,8 @@ import { performance } from 'perf_hooks'; import { createInterface, type Interface as ReadlineInterface } from 'readline'; import os from 'os'; -import { - AlreadyReportedError, - Colors, - ConsoleTerminalProvider, - InternalError, - type ITerminal, - type IPackageJson -} from '@rushstack/node-core-library'; +import { AlreadyReportedError, InternalError, type IPackageJson } from '@rushstack/node-core-library'; +import { Colors, ConsoleTerminalProvider, type ITerminal } from '@rushstack/terminal'; import { type IOperationExecutionOptions, type IWatchLoopState, diff --git a/apps/heft/src/cli/HeftCommandLineParser.ts b/apps/heft/src/cli/HeftCommandLineParser.ts index fa34482423b..38eb3495ad4 100644 --- a/apps/heft/src/cli/HeftCommandLineParser.ts +++ b/apps/heft/src/cli/HeftCommandLineParser.ts @@ -7,13 +7,8 @@ import { type CommandLineFlagParameter, type CommandLineAction } from '@rushstack/ts-command-line'; -import { - Terminal, - InternalError, - ConsoleTerminalProvider, - AlreadyReportedError, - type ITerminal -} from '@rushstack/node-core-library'; +import { InternalError, AlreadyReportedError } from '@rushstack/node-core-library'; +import { Terminal, ConsoleTerminalProvider, type ITerminal } from '@rushstack/terminal'; import { MetricsCollector } from '../metrics/MetricsCollector'; import { HeftConfiguration } from '../configuration/HeftConfiguration'; diff --git a/apps/heft/src/cli/actions/AliasAction.ts b/apps/heft/src/cli/actions/AliasAction.ts index adb3a7c100c..7371bc94fc6 100644 --- a/apps/heft/src/cli/actions/AliasAction.ts +++ b/apps/heft/src/cli/actions/AliasAction.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { AliasCommandLineAction, type IAliasCommandLineActionOptions, diff --git a/apps/heft/src/cli/actions/CleanAction.ts b/apps/heft/src/cli/actions/CleanAction.ts index db0a7db7a7b..33c6fa9be16 100644 --- a/apps/heft/src/cli/actions/CleanAction.ts +++ b/apps/heft/src/cli/actions/CleanAction.ts @@ -6,7 +6,7 @@ import { type CommandLineFlagParameter, type CommandLineStringListParameter } from '@rushstack/ts-command-line'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { OperationStatus } from '@rushstack/operation-graph'; import type { IHeftAction, IHeftActionOptions } from './IHeftAction'; diff --git a/apps/heft/src/cli/actions/IHeftAction.ts b/apps/heft/src/cli/actions/IHeftAction.ts index 5925bfb503e..ad4a91468da 100644 --- a/apps/heft/src/cli/actions/IHeftAction.ts +++ b/apps/heft/src/cli/actions/IHeftAction.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { CommandLineAction } from '@rushstack/ts-command-line'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { HeftConfiguration } from '../../configuration/HeftConfiguration'; import type { MetricsCollector } from '../../metrics/MetricsCollector'; diff --git a/apps/heft/src/cli/actions/RunAction.ts b/apps/heft/src/cli/actions/RunAction.ts index abdba41e2a2..b21a1542cbe 100644 --- a/apps/heft/src/cli/actions/RunAction.ts +++ b/apps/heft/src/cli/actions/RunAction.ts @@ -6,7 +6,8 @@ import { type CommandLineParameterProvider, type CommandLineStringListParameter } from '@rushstack/ts-command-line'; -import { AlreadyReportedError, type ITerminal } from '@rushstack/node-core-library'; +import { AlreadyReportedError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { Selection } from '../../utilities/Selection'; import { HeftActionRunner } from '../HeftActionRunner'; diff --git a/apps/heft/src/configuration/HeftConfiguration.ts b/apps/heft/src/configuration/HeftConfiguration.ts index cec42d85483..4e19d5d435b 100644 --- a/apps/heft/src/configuration/HeftConfiguration.ts +++ b/apps/heft/src/configuration/HeftConfiguration.ts @@ -2,14 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { - Terminal, - type ITerminalProvider, - type IPackageJson, - PackageJsonLookup, - InternalError, - type ITerminal -} from '@rushstack/node-core-library'; +import { type IPackageJson, PackageJsonLookup, InternalError } from '@rushstack/node-core-library'; +import { Terminal, type ITerminalProvider, type ITerminal } from '@rushstack/terminal'; import { trueCasePathSync } from 'true-case-path'; import { type IRigConfig, RigConfig } from '@rushstack/rig-package'; diff --git a/apps/heft/src/configuration/RigPackageResolver.ts b/apps/heft/src/configuration/RigPackageResolver.ts index 73dc2017020..bd40e3937e2 100644 --- a/apps/heft/src/configuration/RigPackageResolver.ts +++ b/apps/heft/src/configuration/RigPackageResolver.ts @@ -5,10 +5,10 @@ import * as path from 'path'; import { PackageJsonLookup, Import, - type ITerminal, type INodePackageJson, type IPackageJson } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IRigConfig } from '@rushstack/rig-package'; /** diff --git a/apps/heft/src/pluginFramework/HeftPluginHost.ts b/apps/heft/src/pluginFramework/HeftPluginHost.ts index e82425d2f73..814a76578fc 100644 --- a/apps/heft/src/pluginFramework/HeftPluginHost.ts +++ b/apps/heft/src/pluginFramework/HeftPluginHost.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import { SyncHook } from 'tapable'; -import { InternalError, type ITerminal } from '@rushstack/node-core-library'; +import { InternalError, } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { HeftPluginDefinitionBase } from '../configuration/HeftPluginDefinition'; import type { IHeftPlugin } from './IHeftPlugin'; diff --git a/apps/heft/src/pluginFramework/logging/LoggingManager.ts b/apps/heft/src/pluginFramework/logging/LoggingManager.ts index a4b34aabca0..c3601902870 100644 --- a/apps/heft/src/pluginFramework/logging/LoggingManager.ts +++ b/apps/heft/src/pluginFramework/logging/LoggingManager.ts @@ -5,10 +5,9 @@ import { ScopedLogger } from './ScopedLogger'; import { FileError, type FileLocationStyle, - type ITerminalProvider, type IFileErrorFormattingOptions } from '@rushstack/node-core-library'; - +import type { ITerminalProvider } from '@rushstack/terminal'; export interface ILoggingManagerOptions { terminalProvider: ITerminalProvider; } diff --git a/apps/heft/src/pluginFramework/logging/MockScopedLogger.ts b/apps/heft/src/pluginFramework/logging/MockScopedLogger.ts index 03173b01b40..1ffe5ec6c3d 100644 --- a/apps/heft/src/pluginFramework/logging/MockScopedLogger.ts +++ b/apps/heft/src/pluginFramework/logging/MockScopedLogger.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IScopedLogger } from './ScopedLogger'; diff --git a/apps/heft/src/pluginFramework/logging/ScopedLogger.ts b/apps/heft/src/pluginFramework/logging/ScopedLogger.ts index b93f5b87367..357289ecc5d 100644 --- a/apps/heft/src/pluginFramework/logging/ScopedLogger.ts +++ b/apps/heft/src/pluginFramework/logging/ScopedLogger.ts @@ -6,7 +6,7 @@ import { Terminal, type ITerminalProvider, type ITerminal -} from '@rushstack/node-core-library'; +} from '@rushstack/terminal'; import { LoggingManager } from './LoggingManager'; diff --git a/apps/heft/src/plugins/CopyFilesPlugin.ts b/apps/heft/src/plugins/CopyFilesPlugin.ts index 08a9621dc0e..e887452531b 100644 --- a/apps/heft/src/plugins/CopyFilesPlugin.ts +++ b/apps/heft/src/plugins/CopyFilesPlugin.ts @@ -3,7 +3,8 @@ import type * as fs from 'fs'; import * as path from 'path'; -import { AlreadyExistsBehavior, FileSystem, Async, type ITerminal } from '@rushstack/node-core-library'; +import { AlreadyExistsBehavior, FileSystem, Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { Constants } from '../utilities/Constants'; import { diff --git a/apps/heft/src/plugins/DeleteFilesPlugin.ts b/apps/heft/src/plugins/DeleteFilesPlugin.ts index 93bad98d3ba..36bb7f19ff3 100644 --- a/apps/heft/src/plugins/DeleteFilesPlugin.ts +++ b/apps/heft/src/plugins/DeleteFilesPlugin.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import type * as fs from 'fs'; -import { FileSystem, Async, type ITerminal } from '@rushstack/node-core-library'; +import { FileSystem, Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { Constants } from '../utilities/Constants'; import { diff --git a/apps/heft/src/utilities/CoreConfigFiles.ts b/apps/heft/src/utilities/CoreConfigFiles.ts index b745a95fc2e..aec601fbf93 100644 --- a/apps/heft/src/utilities/CoreConfigFiles.ts +++ b/apps/heft/src/utilities/CoreConfigFiles.ts @@ -8,7 +8,8 @@ import { PathResolutionMethod, type IJsonPathMetadataResolverOptions } from '@rushstack/heft-config-file'; -import { Import, PackageJsonLookup, type ITerminal, InternalError } from '@rushstack/node-core-library'; +import { Import, PackageJsonLookup, InternalError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IRigConfig } from '@rushstack/rig-package'; import type { IDeleteOperation } from '../plugins/DeleteFilesPlugin'; diff --git a/apps/rush/package.json b/apps/rush/package.json index c1f6192a308..2097a491047 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -39,7 +39,8 @@ "@microsoft/rush-lib": "workspace:*", "@rushstack/node-core-library": "workspace:*", "colors": "~1.2.1", - "semver": "~7.5.4" + "semver": "~7.5.4", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@rushstack/heft": "workspace:*", diff --git a/apps/rush/src/start-dev-docs.ts b/apps/rush/src/start-dev-docs.ts index 9a6e162ef26..555d04e919e 100644 --- a/apps/rush/src/start-dev-docs.ts +++ b/apps/rush/src/start-dev-docs.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Colors, ConsoleTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { Colors, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); diff --git a/apps/rush/src/start.ts b/apps/rush/src/start.ts index 5f84d56070f..fb56a08d9af 100644 --- a/apps/rush/src/start.ts +++ b/apps/rush/src/start.ts @@ -22,12 +22,8 @@ import colors from 'colors/safe'; import * as os from 'os'; import * as semver from 'semver'; -import { - ConsoleTerminalProvider, - Text, - PackageJsonLookup, - type ITerminalProvider -} from '@rushstack/node-core-library'; +import { Text, PackageJsonLookup } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, type ITerminalProvider } from '@rushstack/terminal'; import { EnvironmentVariableNames } from '@microsoft/rush-lib'; import * as rushLib from '@microsoft/rush-lib'; diff --git a/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/package.json b/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/package.json index 2adc03732ac..15830ed17fe 100644 --- a/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/package.json +++ b/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/package.json @@ -20,5 +20,8 @@ "typescript": "~5.3.3", "http-proxy": "~1.18.1", "@types/http-proxy": "~1.17.8" + }, + "dependencies": { + "@rushstack/terminal": "workspace:*" } } diff --git a/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/src/readObject.ts b/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/src/readObject.ts index 46043b71d95..aaaa1927cfb 100644 --- a/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/src/readObject.ts +++ b/build-tests/rush-amazon-s3-build-cache-plugin-integration-test/src/readObject.ts @@ -3,7 +3,7 @@ import { AmazonS3Client } from '@rushstack/rush-amazon-s3-build-cache-plugin'; import { WebClient } from '@rushstack/rush-amazon-s3-build-cache-plugin'; -import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/terminal'; const webClient: WebClient = new WebClient(); diff --git a/build-tests/rush-project-change-analyzer-test/package.json b/build-tests/rush-project-change-analyzer-test/package.json index d77b512f73b..de59108be39 100644 --- a/build-tests/rush-project-change-analyzer-test/package.json +++ b/build-tests/rush-project-change-analyzer-test/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@microsoft/rush-lib": "workspace:*", - "@rushstack/node-core-library": "workspace:*" + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@rushstack/heft": "workspace:*", diff --git a/build-tests/rush-project-change-analyzer-test/src/start.ts b/build-tests/rush-project-change-analyzer-test/src/start.ts index 2b4305f34da..b26893d81a3 100644 --- a/build-tests/rush-project-change-analyzer-test/src/start.ts +++ b/build-tests/rush-project-change-analyzer-test/src/start.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { RushConfiguration, ProjectChangeAnalyzer, type RushConfigurationProject } from '@microsoft/rush-lib'; -import { Terminal, ConsoleTerminalProvider } from '@rushstack/node-core-library'; +import { Terminal, ConsoleTerminalProvider } from '@rushstack/terminal'; async function runAsync(): Promise { const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); diff --git a/build-tests/rush-redis-cobuild-plugin-integration-test/package.json b/build-tests/rush-redis-cobuild-plugin-integration-test/package.json index fd6cee0b3c4..840f43d49e9 100644 --- a/build-tests/rush-redis-cobuild-plugin-integration-test/package.json +++ b/build-tests/rush-redis-cobuild-plugin-integration-test/package.json @@ -15,6 +15,7 @@ "local-node-rig": "workspace:*", "@rushstack/node-core-library": "workspace:*", "@rushstack/rush-redis-cobuild-plugin": "workspace:*", + "@rushstack/terminal": "workspace:*", "@types/http-proxy": "~1.17.8", "@types/node": "18.17.15", "eslint": "~8.7.0", diff --git a/build-tests/rush-redis-cobuild-plugin-integration-test/src/testLockProvider.ts b/build-tests/rush-redis-cobuild-plugin-integration-test/src/testLockProvider.ts index eb18757ba75..1e685b22611 100644 --- a/build-tests/rush-redis-cobuild-plugin-integration-test/src/testLockProvider.ts +++ b/build-tests/rush-redis-cobuild-plugin-integration-test/src/testLockProvider.ts @@ -5,7 +5,7 @@ import { RedisCobuildLockProvider, type IRedisCobuildLockProviderOptions } from '@rushstack/rush-redis-cobuild-plugin'; -import { ConsoleTerminalProvider } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider } from '@rushstack/terminal'; import { OperationStatus, type ICobuildContext, RushSession } from '@microsoft/rush-lib'; const options: IRedisCobuildLockProviderOptions = { diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index f5b7599d5b1..53b6d91ecb1 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -240,7 +240,7 @@ }, { "name": "@rushstack/terminal", - "allowedCategories": [ "libraries" ] + "allowedCategories": [ "libraries", "tests", "vscode-extensions" ] }, { "name": "@rushstack/tree-pattern", diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index fc4b7f2d954..dc62b49920d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1903,10 +1903,6 @@ importers: version: 5.82.1 ../../build-tests/install-test-workspace: - dependencies: - '@rushstack/terminal': - specifier: workspace:* - version: link:../../libraries/terminal devDependencies: '@microsoft/rush-lib': specifier: workspace:* diff --git a/common/reviews/api/debug-certificate-manager.api.md b/common/reviews/api/debug-certificate-manager.api.md index 1bdac84b0a4..8f7ac612912 100644 --- a/common/reviews/api/debug-certificate-manager.api.md +++ b/common/reviews/api/debug-certificate-manager.api.md @@ -4,7 +4,7 @@ ```ts -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; // @public export class CertificateManager { diff --git a/common/reviews/api/heft-config-file.api.md b/common/reviews/api/heft-config-file.api.md index 77a4687a0de..5c62bb37ae0 100644 --- a/common/reviews/api/heft-config-file.api.md +++ b/common/reviews/api/heft-config-file.api.md @@ -5,7 +5,7 @@ ```ts import type { IRigConfig } from '@rushstack/rig-package'; -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; // @beta (undocumented) export class ConfigurationFile { diff --git a/common/reviews/api/heft-typescript-plugin.api.md b/common/reviews/api/heft-typescript-plugin.api.md index cd5698fc3ac..50b95f9b678 100644 --- a/common/reviews/api/heft-typescript-plugin.api.md +++ b/common/reviews/api/heft-typescript-plugin.api.md @@ -5,7 +5,7 @@ ```ts import type { HeftConfiguration } from '@rushstack/heft'; -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { SyncHook } from 'tapable'; import type * as TTypescript from 'typescript'; diff --git a/common/reviews/api/heft.api.md b/common/reviews/api/heft.api.md index f7706998a7c..3904afa51be 100644 --- a/common/reviews/api/heft.api.md +++ b/common/reviews/api/heft.api.md @@ -18,8 +18,8 @@ import { CommandLineStringListParameter } from '@rushstack/ts-command-line'; import { CommandLineStringParameter } from '@rushstack/ts-command-line'; import { IPackageJson } from '@rushstack/node-core-library'; import { IRigConfig } from '@rushstack/rig-package'; -import { ITerminal } from '@rushstack/node-core-library'; -import { ITerminalProvider } from '@rushstack/node-core-library'; +import { ITerminal } from '@rushstack/terminal'; +import { ITerminalProvider } from '@rushstack/terminal'; export { CommandLineChoiceListParameter } diff --git a/common/reviews/api/localization-utilities.api.md b/common/reviews/api/localization-utilities.api.md index 8496e99298c..02713d93b56 100644 --- a/common/reviews/api/localization-utilities.api.md +++ b/common/reviews/api/localization-utilities.api.md @@ -4,7 +4,7 @@ ```ts -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { ITypingsGeneratorBaseOptions } from '@rushstack/typings-generator'; import { NewlineKind } from '@rushstack/node-core-library'; import { StringValuesTypingsGenerator } from '@rushstack/typings-generator'; diff --git a/common/reviews/api/operation-graph.api.md b/common/reviews/api/operation-graph.api.md index 879c1675b3c..e85f4bad9ed 100644 --- a/common/reviews/api/operation-graph.api.md +++ b/common/reviews/api/operation-graph.api.md @@ -6,7 +6,7 @@ /// -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; // @beta export type CommandMessageFromHost = ICancelCommandMessage | IExitCommandMessage | IRunCommandMessage | ISyncCommandMessage; diff --git a/common/reviews/api/package-extractor.api.md b/common/reviews/api/package-extractor.api.md index 0da92ed492d..75ce36ce25d 100644 --- a/common/reviews/api/package-extractor.api.md +++ b/common/reviews/api/package-extractor.api.md @@ -5,7 +5,7 @@ ```ts import { IPackageJson } from '@rushstack/node-core-library'; -import { ITerminal } from '@rushstack/node-core-library'; +import { ITerminal } from '@rushstack/terminal'; // @public export interface IExtractorDependencyConfiguration { diff --git a/common/reviews/api/rush-amazon-s3-build-cache-plugin.api.md b/common/reviews/api/rush-amazon-s3-build-cache-plugin.api.md index 230a9a429d3..af43e1c9946 100644 --- a/common/reviews/api/rush-amazon-s3-build-cache-plugin.api.md +++ b/common/reviews/api/rush-amazon-s3-build-cache-plugin.api.md @@ -8,7 +8,7 @@ import * as fetch from 'node-fetch'; import type { IRushPlugin } from '@rushstack/rush-sdk'; -import { ITerminal } from '@rushstack/node-core-library'; +import { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '@rushstack/rush-sdk'; import type { RushSession } from '@rushstack/rush-sdk'; diff --git a/common/reviews/api/rush-azure-storage-build-cache-plugin.api.md b/common/reviews/api/rush-azure-storage-build-cache-plugin.api.md index 2010fa47889..a8cbaf63e06 100644 --- a/common/reviews/api/rush-azure-storage-build-cache-plugin.api.md +++ b/common/reviews/api/rush-azure-storage-build-cache-plugin.api.md @@ -9,7 +9,7 @@ import { DeviceCodeCredential } from '@azure/identity'; import { DeviceCodeCredentialOptions } from '@azure/identity'; import type { ICredentialCacheEntry } from '@rushstack/rush-sdk'; import type { IRushPlugin } from '@rushstack/rush-sdk'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '@rushstack/rush-sdk'; import type { RushSession } from '@rushstack/rush-sdk'; diff --git a/common/reviews/api/rush-lib.api.md b/common/reviews/api/rush-lib.api.md index 9ef84fffcae..d8cc5aad8b4 100644 --- a/common/reviews/api/rush-lib.api.md +++ b/common/reviews/api/rush-lib.api.md @@ -14,13 +14,13 @@ import type { CollatedWriter } from '@rushstack/stream-collator'; import type { CommandLineParameter } from '@rushstack/ts-command-line'; import { HookMap } from 'tapable'; import { IPackageJson } from '@rushstack/node-core-library'; -import { ITerminal } from '@rushstack/node-core-library'; -import { ITerminalProvider } from '@rushstack/node-core-library'; +import { ITerminal } from '@rushstack/terminal'; +import type { ITerminalProvider } from '@rushstack/terminal'; import { JsonObject } from '@rushstack/node-core-library'; import { PackageNameParser } from '@rushstack/node-core-library'; import type { StdioSummarizer } from '@rushstack/terminal'; import { SyncHook } from 'tapable'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; // @public export class ApprovedPackagesConfiguration { diff --git a/common/reviews/api/typings-generator.api.md b/common/reviews/api/typings-generator.api.md index d3ce1c1ad9f..0b52f2023d5 100644 --- a/common/reviews/api/typings-generator.api.md +++ b/common/reviews/api/typings-generator.api.md @@ -4,7 +4,7 @@ ```ts -import { ITerminal } from '@rushstack/node-core-library'; +import { ITerminal } from '@rushstack/terminal'; // @public (undocumented) export interface IStringValuesTypingsGeneratorBaseOptions { diff --git a/common/reviews/api/webpack4-localization-plugin.api.md b/common/reviews/api/webpack4-localization-plugin.api.md index 23e854eeffb..9c8f51cc3ec 100644 --- a/common/reviews/api/webpack4-localization-plugin.api.md +++ b/common/reviews/api/webpack4-localization-plugin.api.md @@ -7,7 +7,7 @@ import type { IgnoreStringFunction } from '@rushstack/localization-utilities'; import { ILocalizationFile } from '@rushstack/localization-utilities'; import type { IPseudolocaleOptions } from '@rushstack/localization-utilities'; -import { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import * as Webpack from 'webpack'; // @public (undocumented) diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 4ad2321ab3e..24bdca1f4b7 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -27,6 +27,7 @@ "local-eslint-config": "workspace:*", "@rushstack/heft": "workspace:*", "@rushstack/heft-node-rig": "2.4.0", + "@rushstack/terminal": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "18.17.15", "@types/semver": "7.5.0", diff --git a/heft-plugins/heft-api-extractor-plugin/src/ApiExtractorRunner.ts b/heft-plugins/heft-api-extractor-plugin/src/ApiExtractorRunner.ts index 0ce811cf99e..1e53d23f703 100644 --- a/heft-plugins/heft-api-extractor-plugin/src/ApiExtractorRunner.ts +++ b/heft-plugins/heft-api-extractor-plugin/src/ApiExtractorRunner.ts @@ -3,7 +3,8 @@ import * as semver from 'semver'; import type { IScopedLogger } from '@rushstack/heft'; -import { type ITerminal, FileError, InternalError } from '@rushstack/node-core-library'; +import { FileError, InternalError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type * as TApiExtractor from '@microsoft/api-extractor'; export interface IApiExtractorRunnerConfiguration { diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index b0705a762de..369bac3f025 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -44,6 +44,7 @@ "local-eslint-config": "workspace:*", "@rushstack/heft": "workspace:*", "@rushstack/heft-node-rig": "2.4.0", + "@rushstack/terminal": "workspace:*", "@types/heft-jest": "1.0.1", "@types/lodash": "4.14.116", "@types/node": "18.17.15", diff --git a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts index 069337720b2..77c7ca54050 100644 --- a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts +++ b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts @@ -2,13 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { - type ITerminal, - Colors, - InternalError, - Text, - type IColorableSequence -} from '@rushstack/node-core-library'; +import { InternalError, Text } from '@rushstack/node-core-library'; +import { type ITerminal, Colors, type IColorableSequence } from '@rushstack/terminal'; import type { Reporter, Test, diff --git a/heft-plugins/heft-jest-plugin/src/JestPlugin.ts b/heft-plugins/heft-jest-plugin/src/JestPlugin.ts index f1b9770002b..e8f7274b773 100644 --- a/heft-plugins/heft-jest-plugin/src/JestPlugin.ts +++ b/heft-plugins/heft-jest-plugin/src/JestPlugin.ts @@ -30,14 +30,8 @@ import { InheritanceType, PathResolutionMethod } from '@rushstack/heft-config-file'; -import { - FileSystem, - Path, - Import, - JsonFile, - PackageName, - type ITerminal -} from '@rushstack/node-core-library'; +import { FileSystem, Path, Import, JsonFile, PackageName } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IHeftJestReporterOptions } from './HeftJestReporter'; import { jestResolve } from './JestUtils'; diff --git a/heft-plugins/heft-jest-plugin/src/TerminalWritableStream.ts b/heft-plugins/heft-jest-plugin/src/TerminalWritableStream.ts index 755d61d4544..12583bf5aa2 100644 --- a/heft-plugins/heft-jest-plugin/src/TerminalWritableStream.ts +++ b/heft-plugins/heft-jest-plugin/src/TerminalWritableStream.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { Writable } from 'stream'; // Regex to filter out screen clearing directives diff --git a/heft-plugins/heft-jest-plugin/src/test/JestPlugin.test.ts b/heft-plugins/heft-jest-plugin/src/test/JestPlugin.test.ts index 19905879cd0..33630934214 100644 --- a/heft-plugins/heft-jest-plugin/src/test/JestPlugin.test.ts +++ b/heft-plugins/heft-jest-plugin/src/test/JestPlugin.test.ts @@ -5,7 +5,8 @@ import * as path from 'path'; import type { Config } from '@jest/types'; import type { IHeftTaskSession, HeftConfiguration, CommandLineParameter } from '@rushstack/heft'; import type { ConfigurationFile } from '@rushstack/heft-config-file'; -import { Import, JsonFile, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { Import, JsonFile } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { default as JestPlugin, type IHeftJestConfiguration } from '../JestPlugin'; diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index a056275dc6c..329464f3e61 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -26,6 +26,7 @@ "@rushstack/heft": "workspace:*", "@rushstack/heft-typescript-plugin": "workspace:*", "@rushstack/heft-node-rig": "2.4.0", + "@rushstack/terminal": "workspace:*", "@types/eslint": "8.2.0", "@types/heft-jest": "1.0.1", "@types/node": "18.17.15", diff --git a/heft-plugins/heft-lint-plugin/src/LinterBase.ts b/heft-plugins/heft-lint-plugin/src/LinterBase.ts index 0c3b0874ef3..89c3eb84e16 100644 --- a/heft-plugins/heft-lint-plugin/src/LinterBase.ts +++ b/heft-plugins/heft-lint-plugin/src/LinterBase.ts @@ -4,7 +4,8 @@ import * as path from 'path'; import { performance } from 'perf_hooks'; import { createHash, type Hash } from 'crypto'; -import { type ITerminal, FileSystem, JsonFile, Path } from '@rushstack/node-core-library'; +import { FileSystem, JsonFile, Path } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IScopedLogger } from '@rushstack/heft'; import type { IExtendedProgram, IExtendedSourceFile } from './internalTypings/TypeScriptInternals'; diff --git a/heft-plugins/heft-lint-plugin/src/Tslint.ts b/heft-plugins/heft-lint-plugin/src/Tslint.ts index b3dfb97f7f4..76250f8d08a 100644 --- a/heft-plugins/heft-lint-plugin/src/Tslint.ts +++ b/heft-plugins/heft-lint-plugin/src/Tslint.ts @@ -5,7 +5,8 @@ import * as path from 'path'; import * as crypto from 'crypto'; import type * as TTslint from 'tslint'; import type * as TTypescript from 'typescript'; -import { Import, JsonFile, FileError, FileSystem, type ITerminal } from '@rushstack/node-core-library'; +import { Import, JsonFile, FileError, FileSystem } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { LinterBase, type ILinterBaseOptions } from './LinterBase'; import type { IExtendedLinter } from './internalTypings/TslintInternals'; diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index 37f419414d0..bb29eaa7bd9 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -19,7 +19,8 @@ "@rushstack/heft": "^0.64.7" }, "dependencies": { - "@rushstack/node-core-library": "workspace:*" + "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@rushstack/heft": "workspace:*", diff --git a/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts b/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts index 841e0965aa7..1b173303f7c 100644 --- a/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts +++ b/heft-plugins/heft-storybook-plugin/src/StorybookPlugin.ts @@ -11,14 +11,12 @@ import { type IParsedPackageNameOrError, PackageName, SubprocessTerminator, - TerminalWritable, - type ITerminal, - TerminalProviderSeverity, FileConstants, type IPackageJson, InternalError, JsonFile } from '@rushstack/node-core-library'; +import { TerminalStreamWritable, type ITerminal, TerminalProviderSeverity } from '@rushstack/terminal'; import type { HeftConfiguration, IHeftTaskSession, @@ -450,7 +448,7 @@ export default class StorybookPlugin implements IHeftTaskPlugin { const projectRoot: string = nodeJsPath.resolve(__dirname, '..', '..'); let terminalProvider: StringBufferTerminalProvider; diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 767a64fe799..70f7a6ec35b 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -17,6 +17,7 @@ }, "dependencies": { "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*", "@rushstack/typings-generator": "workspace:*", "pseudolocale": "~1.1.0", "xmldoc": "~1.1.2" diff --git a/libraries/localization-utilities/src/parsers/parseResx.ts b/libraries/localization-utilities/src/parsers/parseResx.ts index ed13b593190..2b06cda65df 100644 --- a/libraries/localization-utilities/src/parsers/parseResx.ts +++ b/libraries/localization-utilities/src/parsers/parseResx.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { type ITerminal, Text, type NewlineKind } from '@rushstack/node-core-library'; +import { Text, type NewlineKind } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { XmlDocument, type XmlElement } from 'xmldoc'; import type { ILocalizedString, ILocalizationFile, IParseFileOptions } from '../interfaces'; diff --git a/libraries/localization-utilities/src/parsers/test/parseResx.test.ts b/libraries/localization-utilities/src/parsers/test/parseResx.test.ts index 145ac8fa0e0..a2b1c2dfcef 100644 --- a/libraries/localization-utilities/src/parsers/test/parseResx.test.ts +++ b/libraries/localization-utilities/src/parsers/test/parseResx.test.ts @@ -1,12 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { - FileSystem, - NewlineKind, - StringBufferTerminalProvider, - Terminal -} from '@rushstack/node-core-library'; +import { FileSystem, NewlineKind } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import type { IgnoreStringFunction } from '../../interfaces'; import { type IParseResxOptions, parseResx } from '../parseResx'; diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 2a359227383..f2ddff3df6d 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -16,7 +16,8 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "@rushstack/node-core-library": "workspace:*" + "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "local-eslint-config": "workspace:*", diff --git a/libraries/operation-graph/src/Operation.ts b/libraries/operation-graph/src/Operation.ts index 9e762d3e674..167c7abcafb 100644 --- a/libraries/operation-graph/src/Operation.ts +++ b/libraries/operation-graph/src/Operation.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { InternalError, type ITerminal } from '@rushstack/node-core-library'; +import { InternalError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { Stopwatch } from './Stopwatch'; import type { diff --git a/libraries/operation-graph/src/OperationExecutionManager.ts b/libraries/operation-graph/src/OperationExecutionManager.ts index af916732a3c..a4f3b1b360d 100644 --- a/libraries/operation-graph/src/OperationExecutionManager.ts +++ b/libraries/operation-graph/src/OperationExecutionManager.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Async, type ITerminal } from '@rushstack/node-core-library'; +import { Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IOperationState } from './IOperationRunner'; import type { IExecuteOperationContext, Operation } from './Operation'; diff --git a/libraries/operation-graph/src/test/OperationExecutionManager.test.ts b/libraries/operation-graph/src/test/OperationExecutionManager.test.ts index 840cd35526a..ccb4dd189a3 100644 --- a/libraries/operation-graph/src/test/OperationExecutionManager.test.ts +++ b/libraries/operation-graph/src/test/OperationExecutionManager.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { type ITerminal, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { type ITerminal, StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { Operation } from '../Operation'; import { OperationExecutionManager } from '../OperationExecutionManager'; import { OperationStatus } from '../OperationStatus'; diff --git a/libraries/package-extractor/src/PackageExtractor.ts b/libraries/package-extractor/src/PackageExtractor.ts index c416cf5cd9b..a5bc7d9d061 100644 --- a/libraries/package-extractor/src/PackageExtractor.ts +++ b/libraries/package-extractor/src/PackageExtractor.ts @@ -14,12 +14,11 @@ import { Path, FileSystem, Import, - Colors, JsonFile, AlreadyExistsBehavior, - type IPackageJson, - type ITerminal + type IPackageJson } from '@rushstack/node-core-library'; +import { Colors, type ITerminal } from '@rushstack/terminal'; import { ArchiveManager } from './ArchiveManager'; import { SymlinkAnalyzer, type ILinkInfo, type PathNode } from './SymlinkAnalyzer'; diff --git a/libraries/package-extractor/src/test/PackageExtractor.test.ts b/libraries/package-extractor/src/test/PackageExtractor.test.ts index 153c0b4cf60..db43c9b11b5 100644 --- a/libraries/package-extractor/src/test/PackageExtractor.test.ts +++ b/libraries/package-extractor/src/test/PackageExtractor.test.ts @@ -3,7 +3,8 @@ import path from 'path'; -import { FileSystem, Terminal, StringBufferTerminalProvider } from '@rushstack/node-core-library'; +import { FileSystem } from '@rushstack/node-core-library'; +import { Terminal, StringBufferTerminalProvider } from '@rushstack/terminal'; import { PackageExtractor, type IExtractorProjectConfiguration } from '../PackageExtractor'; // Do this work in the "temp/test.jest" directory since it gets cleaned on clean runs diff --git a/libraries/rush-lib/src/api/BuildCacheConfiguration.ts b/libraries/rush-lib/src/api/BuildCacheConfiguration.ts index c092e2ba4ce..cea1cb2a52e 100644 --- a/libraries/rush-lib/src/api/BuildCacheConfiguration.ts +++ b/libraries/rush-lib/src/api/BuildCacheConfiguration.ts @@ -7,9 +7,9 @@ import { JsonSchema, FileSystem, type JsonObject, - AlreadyReportedError, - type ITerminal + AlreadyReportedError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from './RushConfiguration'; import { FileSystemBuildCacheProvider } from '../logic/buildCache/FileSystemBuildCacheProvider'; diff --git a/libraries/rush-lib/src/api/CobuildConfiguration.ts b/libraries/rush-lib/src/api/CobuildConfiguration.ts index bb8b6c01da7..6d274ec43bd 100644 --- a/libraries/rush-lib/src/api/CobuildConfiguration.ts +++ b/libraries/rush-lib/src/api/CobuildConfiguration.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem, type ITerminal, JsonFile, JsonSchema } from '@rushstack/node-core-library'; +import { FileSystem, JsonFile, JsonSchema } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { v4 as uuidv4 } from 'uuid'; import { EnvironmentConfiguration } from './EnvironmentConfiguration'; diff --git a/libraries/rush-lib/src/api/CustomTipsConfiguration.ts b/libraries/rush-lib/src/api/CustomTipsConfiguration.ts index 8128df01301..ba7daa5d5f0 100644 --- a/libraries/rush-lib/src/api/CustomTipsConfiguration.ts +++ b/libraries/rush-lib/src/api/CustomTipsConfiguration.ts @@ -2,8 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { FileSystem, type ITerminal, JsonFile, JsonSchema } from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { FileSystem, JsonFile, JsonSchema } from '@rushstack/node-core-library'; +import { type ITerminal, PrintUtilities } from '@rushstack/terminal'; import colors from 'colors/safe'; import schemaJson from '../schemas/custom-tips.schema.json'; diff --git a/libraries/rush-lib/src/api/Rush.ts b/libraries/rush-lib/src/api/Rush.ts index 83f384a47ca..9c5469ed750 100644 --- a/libraries/rush-lib/src/api/Rush.ts +++ b/libraries/rush-lib/src/api/Rush.ts @@ -3,12 +3,8 @@ import * as path from 'path'; -import { - InternalError, - type IPackageJson, - type ITerminalProvider, - PackageJsonLookup -} from '@rushstack/node-core-library'; +import { InternalError, type IPackageJson, PackageJsonLookup } from '@rushstack/node-core-library'; +import type { ITerminalProvider } from '@rushstack/terminal'; import '../utilities/SetRushLibPath'; diff --git a/libraries/rush-lib/src/api/RushProjectConfiguration.ts b/libraries/rush-lib/src/api/RushProjectConfiguration.ts index 51a096e6cc9..a541f26755e 100644 --- a/libraries/rush-lib/src/api/RushProjectConfiguration.ts +++ b/libraries/rush-lib/src/api/RushProjectConfiguration.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { AlreadyReportedError, Async, type ITerminal, Path } from '@rushstack/node-core-library'; +import { AlreadyReportedError, Async, Path } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { ConfigurationFile, InheritanceType } from '@rushstack/heft-config-file'; import { RigConfig } from '@rushstack/rig-package'; diff --git a/libraries/rush-lib/src/api/test/CustomTipsConfiguration.test.ts b/libraries/rush-lib/src/api/test/CustomTipsConfiguration.test.ts index 8654397f7b9..e638637f1a5 100644 --- a/libraries/rush-lib/src/api/test/CustomTipsConfiguration.test.ts +++ b/libraries/rush-lib/src/api/test/CustomTipsConfiguration.test.ts @@ -7,8 +7,8 @@ jest.mock('colors/safe', () => { return colors; }); -import { JsonFile, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { JsonFile } from '@rushstack/node-core-library'; +import { PrintUtilities, StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { CustomTipId, CustomTipsConfiguration, type ICustomTipsJson } from '../CustomTipsConfiguration'; import { RushConfiguration } from '../RushConfiguration'; diff --git a/libraries/rush-lib/src/api/test/RushProjectConfiguration.test.ts b/libraries/rush-lib/src/api/test/RushProjectConfiguration.test.ts index e771ea52300..7acf22d2492 100644 --- a/libraries/rush-lib/src/api/test/RushProjectConfiguration.test.ts +++ b/libraries/rush-lib/src/api/test/RushProjectConfiguration.test.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; + import type { IPhase } from '../CommandLineConfiguration'; import type { RushConfigurationProject } from '../RushConfigurationProject'; import { RushProjectConfiguration } from '../RushProjectConfiguration'; diff --git a/libraries/rush-lib/src/cli/RushCommandLineParser.ts b/libraries/rush-lib/src/cli/RushCommandLineParser.ts index f2408e6c6bd..93f5b78f7e4 100644 --- a/libraries/rush-lib/src/cli/RushCommandLineParser.ts +++ b/libraries/rush-lib/src/cli/RushCommandLineParser.ts @@ -9,13 +9,8 @@ import { type CommandLineFlagParameter, CommandLineHelper } from '@rushstack/ts-command-line'; -import { - InternalError, - AlreadyReportedError, - ConsoleTerminalProvider, - Terminal -} from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { InternalError, AlreadyReportedError } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal, PrintUtilities } from '@rushstack/terminal'; import { RushConfiguration } from '../api/RushConfiguration'; import { RushConstants } from '../logic/RushConstants'; diff --git a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts index 6a746f484a7..b60a6d746f7 100644 --- a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts +++ b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts @@ -5,18 +5,21 @@ import * as path from 'path'; import type { SpawnSyncReturns } from 'child_process'; import { AlreadyReportedError, - Colors, - ConsoleTerminalProvider, EnvironmentMap, Executable, FileConstants, FileSystem, + JsonFile, + type JsonObject +} from '@rushstack/node-core-library'; +import { + Colors, + ConsoleTerminalProvider, type ITerminal, type ITerminalProvider, - JsonFile, - type JsonObject, Terminal -} from '@rushstack/node-core-library'; +} from '@rushstack/terminal'; + import { RushConfiguration } from '../api/RushConfiguration'; import { NodeJsCompatibility } from '../logic/NodeJsCompatibility'; import { PrintUtilities } from '@rushstack/terminal'; diff --git a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts index 489e92081a3..2207bd768f0 100644 --- a/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts +++ b/libraries/rush-lib/src/cli/actions/BaseInstallAction.ts @@ -8,12 +8,8 @@ import type { CommandLineIntegerParameter, CommandLineStringParameter } from '@rushstack/ts-command-line'; -import { - ConsoleTerminalProvider, - type ITerminal, - Terminal, - AlreadyReportedError -} from '@rushstack/node-core-library'; +import { AlreadyReportedError } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/terminal'; import { BaseRushAction, type IBaseRushActionOptions } from './BaseRushAction'; import { Event } from '../../api/EventHooks'; diff --git a/libraries/rush-lib/src/cli/actions/ChangeAction.ts b/libraries/rush-lib/src/cli/actions/ChangeAction.ts index cb460eaeab9..3617557fefb 100644 --- a/libraries/rush-lib/src/cli/actions/ChangeAction.ts +++ b/libraries/rush-lib/src/cli/actions/ChangeAction.ts @@ -10,13 +10,8 @@ import type { CommandLineStringParameter, CommandLineChoiceParameter } from '@rushstack/ts-command-line'; -import { - FileSystem, - AlreadyReportedError, - Terminal, - type ITerminal, - ConsoleTerminalProvider -} from '@rushstack/node-core-library'; +import { FileSystem, AlreadyReportedError } from '@rushstack/node-core-library'; +import { Terminal, type ITerminal, ConsoleTerminalProvider } from '@rushstack/terminal'; import { getRepoRoot } from '@rushstack/package-deps-hash'; import type { RushConfigurationProject } from '../../api/RushConfigurationProject'; diff --git a/libraries/rush-lib/src/cli/actions/CheckAction.ts b/libraries/rush-lib/src/cli/actions/CheckAction.ts index 3815ca90f83..db1b3ceaf50 100644 --- a/libraries/rush-lib/src/cli/actions/CheckAction.ts +++ b/libraries/rush-lib/src/cli/actions/CheckAction.ts @@ -3,12 +3,12 @@ import colors from 'colors/safe'; import type { CommandLineStringParameter, CommandLineFlagParameter } from '@rushstack/ts-command-line'; +import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/terminal'; import type { RushCommandLineParser } from '../RushCommandLineParser'; import { BaseRushAction } from './BaseRushAction'; import { VersionMismatchFinder } from '../../logic/versionMismatch/VersionMismatchFinder'; import { Variants } from '../../api/Variants'; -import { ConsoleTerminalProvider, type ITerminal, Terminal } from '@rushstack/node-core-library'; export class CheckAction extends BaseRushAction { private readonly _terminal: ITerminal; diff --git a/libraries/rush-lib/src/cli/actions/ListAction.ts b/libraries/rush-lib/src/cli/actions/ListAction.ts index 309f8bfca2b..8ba113f17a9 100644 --- a/libraries/rush-lib/src/cli/actions/ListAction.ts +++ b/libraries/rush-lib/src/cli/actions/ListAction.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleTerminalProvider, Sort, Terminal } from '@rushstack/node-core-library'; +import { Sort } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import type { CommandLineFlagParameter } from '@rushstack/ts-command-line'; import { BaseRushAction } from './BaseRushAction'; diff --git a/libraries/rush-lib/src/cli/actions/RemoveAction.ts b/libraries/rush-lib/src/cli/actions/RemoveAction.ts index 0e7aa47053e..4b953fe4b54 100644 --- a/libraries/rush-lib/src/cli/actions/RemoveAction.ts +++ b/libraries/rush-lib/src/cli/actions/RemoveAction.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleTerminalProvider, Terminal, type ITerminal } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal, type ITerminal } from '@rushstack/terminal'; import type { CommandLineFlagParameter, CommandLineStringListParameter } from '@rushstack/ts-command-line'; import { BaseAddAndRemoveAction } from './BaseAddAndRemoveAction'; diff --git a/libraries/rush-lib/src/cli/actions/UpdateCloudCredentialsAction.ts b/libraries/rush-lib/src/cli/actions/UpdateCloudCredentialsAction.ts index 1cd6e35fffd..97a792c9916 100644 --- a/libraries/rush-lib/src/cli/actions/UpdateCloudCredentialsAction.ts +++ b/libraries/rush-lib/src/cli/actions/UpdateCloudCredentialsAction.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import type { CommandLineStringParameter, CommandLineFlagParameter } from '@rushstack/ts-command-line'; -import { AlreadyReportedError, ConsoleTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { AlreadyReportedError } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import type { RushCommandLineParser } from '../RushCommandLineParser'; import { BaseRushAction } from './BaseRushAction'; diff --git a/libraries/rush-lib/src/cli/parsing/SelectionParameterSet.ts b/libraries/rush-lib/src/cli/parsing/SelectionParameterSet.ts index 7b5ea3901a1..d1658beddbc 100644 --- a/libraries/rush-lib/src/cli/parsing/SelectionParameterSet.ts +++ b/libraries/rush-lib/src/cli/parsing/SelectionParameterSet.ts @@ -1,12 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { - AlreadyReportedError, - PackageJsonLookup, - type IPackageJson, - type ITerminal -} from '@rushstack/node-core-library'; +import { AlreadyReportedError, PackageJsonLookup, type IPackageJson } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { CommandLineParameterProvider, CommandLineStringListParameter diff --git a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts index 33545142ef8..9685fd4f893 100644 --- a/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts +++ b/libraries/rush-lib/src/cli/scriptActions/PhasedScriptAction.ts @@ -4,7 +4,8 @@ import colors from 'colors/safe'; import type { AsyncSeriesHook } from 'tapable'; -import { AlreadyReportedError, InternalError, type ITerminal, Terminal } from '@rushstack/node-core-library'; +import { AlreadyReportedError, InternalError } from '@rushstack/node-core-library'; +import { type ITerminal, Terminal } from '@rushstack/terminal'; import type { CommandLineFlagParameter, CommandLineParameter, diff --git a/libraries/rush-lib/src/cli/test/CommandLineHelp.test.ts b/libraries/rush-lib/src/cli/test/CommandLineHelp.test.ts index 0b4cc01e13d..e8d12da6902 100644 --- a/libraries/rush-lib/src/cli/test/CommandLineHelp.test.ts +++ b/libraries/rush-lib/src/cli/test/CommandLineHelp.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { AnsiEscape } from '@rushstack/node-core-library'; +import { AnsiEscape } from '@rushstack/terminal'; import * as colorsPackage from 'colors'; import { RushCommandLineParser } from '../RushCommandLineParser'; diff --git a/libraries/rush-lib/src/logic/Git.ts b/libraries/rush-lib/src/logic/Git.ts index 83bc1a35119..b20daac6623 100644 --- a/libraries/rush-lib/src/logic/Git.ts +++ b/libraries/rush-lib/src/logic/Git.ts @@ -7,7 +7,8 @@ import * as path from 'path'; import * as url from 'url'; import colors from 'colors/safe'; import { trueCasePathSync } from 'true-case-path'; -import { Executable, AlreadyReportedError, Path, type ITerminal } from '@rushstack/node-core-library'; +import { Executable, AlreadyReportedError, Path } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { ensureGitMinimumVersion } from '@rushstack/package-deps-hash'; import { Utilities } from '../utilities/Utilities'; diff --git a/libraries/rush-lib/src/logic/PackageJsonUpdater.ts b/libraries/rush-lib/src/logic/PackageJsonUpdater.ts index 92f40a7ac4b..c57d795bba0 100644 --- a/libraries/rush-lib/src/logic/PackageJsonUpdater.ts +++ b/libraries/rush-lib/src/logic/PackageJsonUpdater.ts @@ -4,12 +4,7 @@ import colors from 'colors/safe'; import * as semver from 'semver'; import type * as NpmCheck from 'npm-check'; -import { - ConsoleTerminalProvider, - Terminal, - type ITerminalProvider, - Colors -} from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal, type ITerminalProvider, Colors } from '@rushstack/terminal'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { BaseInstallManager } from './base/BaseInstallManager'; diff --git a/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts b/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts index cc9f9cfcdd0..b76841de7e3 100644 --- a/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts +++ b/libraries/rush-lib/src/logic/ProjectChangeAnalyzer.ts @@ -11,7 +11,8 @@ import { getRepoStateAsync, type IFileDiffStatus } from '@rushstack/package-deps-hash'; -import { Path, FileSystem, type ITerminal, Async } from '@rushstack/node-core-library'; +import { Path, FileSystem, Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../api/RushConfiguration'; import { RushProjectConfiguration } from '../api/RushProjectConfiguration'; diff --git a/libraries/rush-lib/src/logic/ProjectWatcher.ts b/libraries/rush-lib/src/logic/ProjectWatcher.ts index 3d2a315bd1b..c7fad919171 100644 --- a/libraries/rush-lib/src/logic/ProjectWatcher.ts +++ b/libraries/rush-lib/src/logic/ProjectWatcher.ts @@ -6,7 +6,8 @@ import * as os from 'os'; import * as readline from 'readline'; import { once } from 'events'; import { getRepoRoot } from '@rushstack/package-deps-hash'; -import { Colors, Path, type ITerminal, type FileSystemStats, FileSystem } from '@rushstack/node-core-library'; +import { Path, type FileSystemStats, FileSystem } from '@rushstack/node-core-library'; +import { Colors, type ITerminal } from '@rushstack/terminal'; import { Git } from './Git'; import { ProjectChangeAnalyzer } from './ProjectChangeAnalyzer'; diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index 514f79d78ab..b0bbcfb9220 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -14,12 +14,14 @@ import { NewlineKind, AlreadyReportedError, type FileSystemStats, - ConsoleTerminalProvider, - Terminal, - type ITerminalProvider, Path } from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { + PrintUtilities, + ConsoleTerminalProvider, + Terminal, + type ITerminalProvider +} from '@rushstack/terminal'; import { ApprovedPackagesChecker } from '../ApprovedPackagesChecker'; import type { AsyncRecycler } from '../../utilities/AsyncRecycler'; diff --git a/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts b/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts index 35df3b6896d..b60e34748f1 100644 --- a/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts +++ b/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { FileSystem, type ITerminal } from '@rushstack/node-core-library'; +import { FileSystem, } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import type { RushUserConfiguration } from '../../api/RushUserConfiguration'; diff --git a/libraries/rush-lib/src/logic/buildCache/ICloudBuildCacheProvider.ts b/libraries/rush-lib/src/logic/buildCache/ICloudBuildCacheProvider.ts index 8f5d648654d..f55a0870ad8 100644 --- a/libraries/rush-lib/src/logic/buildCache/ICloudBuildCacheProvider.ts +++ b/libraries/rush-lib/src/logic/buildCache/ICloudBuildCacheProvider.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; /** * @beta diff --git a/libraries/rush-lib/src/logic/buildCache/ProjectBuildCache.ts b/libraries/rush-lib/src/logic/buildCache/ProjectBuildCache.ts index e5921029fee..1de67d7b229 100644 --- a/libraries/rush-lib/src/logic/buildCache/ProjectBuildCache.ts +++ b/libraries/rush-lib/src/logic/buildCache/ProjectBuildCache.ts @@ -4,13 +4,8 @@ import * as path from 'path'; import * as crypto from 'crypto'; -import { - FileSystem, - type ITerminal, - type FolderItem, - InternalError, - Async -} from '@rushstack/node-core-library'; +import { FileSystem, type FolderItem, InternalError, Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfigurationProject } from '../../api/RushConfigurationProject'; import type { ProjectChangeAnalyzer } from '../ProjectChangeAnalyzer'; diff --git a/libraries/rush-lib/src/logic/buildCache/test/ProjectBuildCache.test.ts b/libraries/rush-lib/src/logic/buildCache/test/ProjectBuildCache.test.ts index 268d14d2059..6f0873ee95a 100644 --- a/libraries/rush-lib/src/logic/buildCache/test/ProjectBuildCache.test.ts +++ b/libraries/rush-lib/src/logic/buildCache/test/ProjectBuildCache.test.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; + import type { BuildCacheConfiguration } from '../../../api/BuildCacheConfiguration'; import type { RushConfigurationProject } from '../../../api/RushConfigurationProject'; import { ProjectChangeAnalyzer } from '../../ProjectChangeAnalyzer'; diff --git a/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts b/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts index 3266f321241..03af0ab324c 100644 --- a/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts +++ b/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { FileSystem, JsonFile, JsonSchema, Colors, type ITerminal } from '@rushstack/node-core-library'; +import { FileSystem, JsonFile, JsonSchema } from '@rushstack/node-core-library'; +import { Colors, type ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import schemaJson from '../../schemas/deploy-scenario.schema.json'; diff --git a/libraries/rush-lib/src/logic/installManager/doBasicInstallAsync.ts b/libraries/rush-lib/src/logic/installManager/doBasicInstallAsync.ts index f3bdff0fffe..b3514fbdc52 100644 --- a/libraries/rush-lib/src/logic/installManager/doBasicInstallAsync.ts +++ b/libraries/rush-lib/src/logic/installManager/doBasicInstallAsync.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import type { RushGlobalFolder } from '../../api/RushGlobalFolder'; diff --git a/libraries/rush-lib/src/logic/operations/CacheableOperationPlugin.ts b/libraries/rush-lib/src/logic/operations/CacheableOperationPlugin.ts index 82d1d2b4b36..649c3d61d4b 100644 --- a/libraries/rush-lib/src/logic/operations/CacheableOperationPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/CacheableOperationPlugin.ts @@ -2,17 +2,10 @@ // See LICENSE in the project root for license information. import * as crypto from 'crypto'; -import { - Async, - InternalError, - type ITerminal, - NewlineKind, - Sort, - Terminal -} from '@rushstack/node-core-library'; +import { Async, InternalError, NewlineKind, Sort } from '@rushstack/node-core-library'; import { CollatedTerminal, type CollatedWriter } from '@rushstack/stream-collator'; import { DiscardStdoutTransform, TextRewriterTransform } from '@rushstack/terminal'; -import { SplitterTransform, type TerminalWritable } from '@rushstack/terminal'; +import { SplitterTransform, type TerminalWritable, type ITerminal, Terminal } from '@rushstack/terminal'; import { CollatedTerminalProvider } from '../../utilities/CollatedTerminalProvider'; import { OperationStatus } from './OperationStatus'; diff --git a/libraries/rush-lib/src/logic/operations/ConsoleTimelinePlugin.ts b/libraries/rush-lib/src/logic/operations/ConsoleTimelinePlugin.ts index bf826c03659..94d71c43b99 100644 --- a/libraries/rush-lib/src/logic/operations/ConsoleTimelinePlugin.ts +++ b/libraries/rush-lib/src/logic/operations/ConsoleTimelinePlugin.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { PrintUtilities } from '@rushstack/terminal'; import colors from 'colors/safe'; import type { IPhase } from '../../api/CommandLineConfiguration'; diff --git a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts index 4b77efc7222..91dcc1fbfa6 100644 --- a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts @@ -3,15 +3,8 @@ import path from 'node:path'; -import { - Async, - ColorValue, - FileSystem, - JsonFile, - type ITerminal, - type JsonObject -} from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { Async, FileSystem, JsonFile, type JsonObject } from '@rushstack/node-core-library'; +import { PrintUtilities, ColorValue, type ITerminal } from '@rushstack/terminal'; import type { Operation } from './Operation'; import { OperationStatus } from './OperationStatus'; diff --git a/libraries/rush-lib/src/logic/operations/OperationMetadataManager.ts b/libraries/rush-lib/src/logic/operations/OperationMetadataManager.ts index 06972864595..5667b8811ff 100644 --- a/libraries/rush-lib/src/logic/operations/OperationMetadataManager.ts +++ b/libraries/rush-lib/src/logic/operations/OperationMetadataManager.ts @@ -2,12 +2,8 @@ // See LICENSE in the project root for license information. import * as fs from 'fs'; -import { - Async, - FileSystem, - type IFileSystemCopyFileOptions, - type ITerminal -} from '@rushstack/node-core-library'; +import { Async, FileSystem, type IFileSystemCopyFileOptions } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { OperationStateFile } from './OperationStateFile'; import { RushConstants } from '../RushConstants'; diff --git a/libraries/rush-lib/src/logic/operations/OperationResultSummarizerPlugin.ts b/libraries/rush-lib/src/logic/operations/OperationResultSummarizerPlugin.ts index 6a255152355..df9d93369a4 100644 --- a/libraries/rush-lib/src/logic/operations/OperationResultSummarizerPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/OperationResultSummarizerPlugin.ts @@ -2,7 +2,9 @@ // See LICENSE in the project root for license information. import colors from 'colors/safe'; -import { InternalError, type ITerminal } from '@rushstack/node-core-library'; +import { InternalError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; + import type { ICreateOperationsContext, IPhasedCommandPlugin, diff --git a/libraries/rush-lib/src/logic/operations/ShellOperationRunner.ts b/libraries/rush-lib/src/logic/operations/ShellOperationRunner.ts index bb1747bf929..3438a7ed9e5 100644 --- a/libraries/rush-lib/src/logic/operations/ShellOperationRunner.ts +++ b/libraries/rush-lib/src/logic/operations/ShellOperationRunner.ts @@ -2,8 +2,9 @@ // See LICENSE in the project root for license information. import type * as child_process from 'child_process'; -import { Text, NewlineKind, InternalError, Terminal } from '@rushstack/node-core-library'; +import { Text, NewlineKind, InternalError } from '@rushstack/node-core-library'; import { + Terminal, TerminalChunkKind, TextRewriterTransform, StderrLineTransform, diff --git a/libraries/rush-lib/src/logic/operations/ValidateOperationsPlugin.ts b/libraries/rush-lib/src/logic/operations/ValidateOperationsPlugin.ts index 5aa9c946437..29b6b1b0c9a 100644 --- a/libraries/rush-lib/src/logic/operations/ValidateOperationsPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/ValidateOperationsPlugin.ts @@ -10,7 +10,7 @@ import type { import type { IOperationExecutionResult } from './IOperationExecutionResult'; import type { RushConfigurationProject } from '../../api/RushConfigurationProject'; import type { RushProjectConfiguration } from '../../api/RushProjectConfiguration'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { IPhase } from '../../api/CommandLineConfiguration'; const PLUGIN_NAME: 'ValidateOperationsPlugin' = 'ValidateOperationsPlugin'; diff --git a/libraries/rush-lib/src/logic/operations/test/OperationExecutionManager.test.ts b/libraries/rush-lib/src/logic/operations/test/OperationExecutionManager.test.ts index e2d13b20421..281703c752a 100644 --- a/libraries/rush-lib/src/logic/operations/test/OperationExecutionManager.test.ts +++ b/libraries/rush-lib/src/logic/operations/test/OperationExecutionManager.test.ts @@ -6,7 +6,7 @@ jest.mock('../../../utilities/Utilities'); import colors from 'colors/safe'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { CollatedTerminal } from '@rushstack/stream-collator'; import { MockWritable, PrintUtilities } from '@rushstack/terminal'; diff --git a/libraries/rush-lib/src/logic/selectors/ISelectorParser.ts b/libraries/rush-lib/src/logic/selectors/ISelectorParser.ts index e20d89fa0da..000010afa11 100644 --- a/libraries/rush-lib/src/logic/selectors/ISelectorParser.ts +++ b/libraries/rush-lib/src/logic/selectors/ISelectorParser.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; export interface IEvaluateSelectorOptions { unscopedSelector: string; diff --git a/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts b/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts index c9017ef6c0c..044d445d844 100644 --- a/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts +++ b/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts @@ -5,17 +5,14 @@ import * as path from 'path'; import type * as child_process from 'child_process'; import { AlreadyReportedError, - Colors, - ConsoleTerminalProvider, Executable, FileSystem, InternalError, type JsonObject, NewlineKind, - Terminal, Text } from '@rushstack/node-core-library'; -import { PrintUtilities } from '@rushstack/terminal'; +import { PrintUtilities, Colors, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import { Utilities } from '../../utilities/Utilities'; diff --git a/libraries/rush-lib/src/logic/setup/TerminalInput.ts b/libraries/rush-lib/src/logic/setup/TerminalInput.ts index 05f46cb810f..47bf4f144ae 100644 --- a/libraries/rush-lib/src/logic/setup/TerminalInput.ts +++ b/libraries/rush-lib/src/logic/setup/TerminalInput.ts @@ -4,7 +4,7 @@ import * as readline from 'readline'; import * as process from 'process'; import colors from 'colors/safe'; -import { AnsiEscape } from '@rushstack/node-core-library'; +import { AnsiEscape } from '@rushstack/terminal'; import { KeyboardLoop } from './KeyboardLoop'; diff --git a/libraries/rush-lib/src/logic/test/BaseInstallManager.test.ts b/libraries/rush-lib/src/logic/test/BaseInstallManager.test.ts index 59fcc9e39b7..f1719640e51 100644 --- a/libraries/rush-lib/src/logic/test/BaseInstallManager.test.ts +++ b/libraries/rush-lib/src/logic/test/BaseInstallManager.test.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { ConsoleTerminalProvider } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider } from '@rushstack/terminal'; import { PurgeManager } from '../PurgeManager'; import { BaseInstallManager, pnpmIgnoreCompatibilityDbParameter } from '../base/BaseInstallManager'; diff --git a/libraries/rush-lib/src/logic/test/ProjectChangeAnalyzer.test.ts b/libraries/rush-lib/src/logic/test/ProjectChangeAnalyzer.test.ts index 5760c02a45b..c5257354feb 100644 --- a/libraries/rush-lib/src/logic/test/ProjectChangeAnalyzer.test.ts +++ b/libraries/rush-lib/src/logic/test/ProjectChangeAnalyzer.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { ProjectChangeAnalyzer } from '../ProjectChangeAnalyzer'; import type { RushConfiguration } from '../../api/RushConfiguration'; diff --git a/libraries/rush-lib/src/logic/test/Telemetry.test.ts b/libraries/rush-lib/src/logic/test/Telemetry.test.ts index 42028e84242..25af26294ca 100644 --- a/libraries/rush-lib/src/logic/test/Telemetry.test.ts +++ b/libraries/rush-lib/src/logic/test/Telemetry.test.ts @@ -1,11 +1,13 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. +import { JsonFile } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider } from '@rushstack/terminal' + import { RushConfiguration } from '../../api/RushConfiguration'; import { Rush } from '../../api/Rush'; import { Telemetry, type ITelemetryData, type ITelemetryMachineInfo } from '../Telemetry'; import { RushSession } from '../../pluginFramework/RushSession'; -import { ConsoleTerminalProvider, JsonFile } from '@rushstack/node-core-library'; interface ITelemetryPrivateMembers extends Omit { _flushAsyncTasks: Map>; diff --git a/libraries/rush-lib/src/logic/versionMismatch/VersionMismatchFinder.ts b/libraries/rush-lib/src/logic/versionMismatch/VersionMismatchFinder.ts index 22e8bfa4ecb..cebeff4b29c 100644 --- a/libraries/rush-lib/src/logic/versionMismatch/VersionMismatchFinder.ts +++ b/libraries/rush-lib/src/logic/versionMismatch/VersionMismatchFinder.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import colors from 'colors/safe'; -import { AlreadyReportedError, type ITerminal } from '@rushstack/node-core-library'; +import { AlreadyReportedError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import { type PackageJsonDependency, DependencyType } from '../../api/PackageJsonEditor'; diff --git a/libraries/rush-lib/src/pluginFramework/PluginLoader/PluginLoaderBase.ts b/libraries/rush-lib/src/pluginFramework/PluginLoader/PluginLoaderBase.ts index 90cf5bad252..3b9a3d568f6 100644 --- a/libraries/rush-lib/src/pluginFramework/PluginLoader/PluginLoaderBase.ts +++ b/libraries/rush-lib/src/pluginFramework/PluginLoader/PluginLoaderBase.ts @@ -4,11 +4,11 @@ import { FileSystem, InternalError, - type ITerminal, JsonFile, type JsonObject, JsonSchema } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import * as path from 'path'; import { CommandLineConfiguration } from '../../api/CommandLineConfiguration'; diff --git a/libraries/rush-lib/src/pluginFramework/PluginManager.ts b/libraries/rush-lib/src/pluginFramework/PluginManager.ts index a6c9ffa59b9..9a5181e078c 100644 --- a/libraries/rush-lib/src/pluginFramework/PluginManager.ts +++ b/libraries/rush-lib/src/pluginFramework/PluginManager.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem, Import, InternalError, type ITerminal } from '@rushstack/node-core-library'; +import { FileSystem, Import, InternalError } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { CommandLineConfiguration } from '../api/CommandLineConfiguration'; import type { RushConfiguration } from '../api/RushConfiguration'; diff --git a/libraries/rush-lib/src/pluginFramework/RushSession.ts b/libraries/rush-lib/src/pluginFramework/RushSession.ts index 3cb68941631..5e1369ab7d4 100644 --- a/libraries/rush-lib/src/pluginFramework/RushSession.ts +++ b/libraries/rush-lib/src/pluginFramework/RushSession.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { InternalError, type ITerminalProvider } from '@rushstack/node-core-library'; +import { InternalError, } from '@rushstack/node-core-library'; +import type { ITerminalProvider } from '@rushstack/terminal'; import { type ILogger, type ILoggerOptions, Logger } from './logging/Logger'; import { RushLifecycleHooks } from './RushLifeCycle'; diff --git a/libraries/rush-lib/src/pluginFramework/logging/Logger.ts b/libraries/rush-lib/src/pluginFramework/logging/Logger.ts index e09a8626558..46b01be524f 100644 --- a/libraries/rush-lib/src/pluginFramework/logging/Logger.ts +++ b/libraries/rush-lib/src/pluginFramework/logging/Logger.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { type ITerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { type ITerminalProvider, Terminal } from '@rushstack/terminal'; /** * @beta diff --git a/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts b/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts index 0addd4b8d99..e6a6a6f99ea 100644 --- a/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts +++ b/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts @@ -1,9 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { type ITerminalProvider, TerminalProviderSeverity } from '@rushstack/node-core-library'; import type { CollatedTerminal } from '@rushstack/stream-collator'; -import { TerminalChunkKind } from '@rushstack/terminal'; +import { type ITerminalProvider, TerminalProviderSeverity,TerminalChunkKind } from '@rushstack/terminal'; export interface ICollatedTerminalProviderOptions { debugEnabled: boolean; diff --git a/libraries/rush-lib/src/utilities/NullTerminalProvider.ts b/libraries/rush-lib/src/utilities/NullTerminalProvider.ts index d95201cb8a8..675e75e29db 100644 --- a/libraries/rush-lib/src/utilities/NullTerminalProvider.ts +++ b/libraries/rush-lib/src/utilities/NullTerminalProvider.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminalProvider } from '@rushstack/node-core-library'; +import type { ITerminalProvider } from '@rushstack/terminal'; /** * A terminal provider like /dev/null diff --git a/libraries/rush-lib/src/utilities/TarExecutable.ts b/libraries/rush-lib/src/utilities/TarExecutable.ts index 04b3cdd6be8..237f8662239 100644 --- a/libraries/rush-lib/src/utilities/TarExecutable.ts +++ b/libraries/rush-lib/src/utilities/TarExecutable.ts @@ -3,7 +3,8 @@ import * as path from 'path'; import os from 'os'; -import { Executable, FileSystem, FileWriter, type ITerminal } from '@rushstack/node-core-library'; +import { Executable, FileSystem, FileWriter } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import type { ChildProcess } from 'child_process'; import events from 'events'; diff --git a/libraries/rush-sdk/src/index.ts b/libraries/rush-sdk/src/index.ts index adb619dfc6f..56d3c7eb276 100644 --- a/libraries/rush-sdk/src/index.ts +++ b/libraries/rush-sdk/src/index.ts @@ -7,10 +7,9 @@ import { type JsonObject, type IPackageJson, PackageJsonLookup, - Executable, - Terminal, - ConsoleTerminalProvider + Executable } from '@rushstack/node-core-library'; +import { Terminal, ConsoleTerminalProvider } from '@rushstack/terminal'; import type { SpawnSyncReturns } from 'child_process'; import { RUSH_LIB_NAME, diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index a6908d3f047..3124182aec0 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*", "chokidar": "~3.4.0", "fast-glob": "~3.3.1" }, diff --git a/libraries/typings-generator/src/TypingsGenerator.ts b/libraries/typings-generator/src/TypingsGenerator.ts index 0545cbe198d..bbb1634a36d 100644 --- a/libraries/typings-generator/src/TypingsGenerator.ts +++ b/libraries/typings-generator/src/TypingsGenerator.ts @@ -1,15 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { - FileSystem, - type ITerminal, - Terminal, - ConsoleTerminalProvider, - Path, - NewlineKind, - Async -} from '@rushstack/node-core-library'; +import { FileSystem, Path, NewlineKind, Async } from '@rushstack/node-core-library'; +import { type ITerminal, Terminal, ConsoleTerminalProvider } from '@rushstack/terminal'; import glob from 'fast-glob'; import * as path from 'path'; import { EOL } from 'os'; diff --git a/repo-scripts/repo-toolbox/package.json b/repo-scripts/repo-toolbox/package.json index a9571dd19ff..e138b67cd86 100644 --- a/repo-scripts/repo-toolbox/package.json +++ b/repo-scripts/repo-toolbox/package.json @@ -12,6 +12,7 @@ "dependencies": { "@microsoft/rush-lib": "workspace:*", "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*", "@rushstack/ts-command-line": "workspace:*", "diff": "~5.0.0" }, diff --git a/repo-scripts/repo-toolbox/src/BumpCyclicsAction.ts b/repo-scripts/repo-toolbox/src/BumpCyclicsAction.ts index d1adfc4a112..6d26dd4b784 100644 --- a/repo-scripts/repo-toolbox/src/BumpCyclicsAction.ts +++ b/repo-scripts/repo-toolbox/src/BumpCyclicsAction.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Async, ConsoleTerminalProvider, Executable, JsonFile, Terminal } from '@rushstack/node-core-library'; +import { Async, Executable, JsonFile } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import { DependencyType, RushConfiguration } from '@microsoft/rush-lib'; import { CommandLineAction } from '@rushstack/ts-command-line'; import type { ChildProcess } from 'child_process'; diff --git a/repo-scripts/repo-toolbox/src/ReadmeAction.ts b/repo-scripts/repo-toolbox/src/ReadmeAction.ts index 13aeaca2399..c0e359f1476 100644 --- a/repo-scripts/repo-toolbox/src/ReadmeAction.ts +++ b/repo-scripts/repo-toolbox/src/ReadmeAction.ts @@ -2,17 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { - StringBuilder, - Sort, - FileSystem, - Text, - Terminal, - ConsoleTerminalProvider, - AlreadyReportedError, - Colors, - type IColorableSequence -} from '@rushstack/node-core-library'; +import { StringBuilder, Sort, FileSystem, Text, AlreadyReportedError } from '@rushstack/node-core-library'; +import { Terminal, ConsoleTerminalProvider, Colors, type IColorableSequence } from '@rushstack/terminal'; import { RushConfiguration, type RushConfigurationProject, LockStepVersionPolicy } from '@microsoft/rush-lib'; import { CommandLineAction, type CommandLineFlagParameter } from '@rushstack/ts-command-line'; import * as Diff from 'diff'; diff --git a/repo-scripts/repo-toolbox/src/RecordVersionsAction.ts b/repo-scripts/repo-toolbox/src/RecordVersionsAction.ts index f859d060fa2..063023496fd 100644 --- a/repo-scripts/repo-toolbox/src/RecordVersionsAction.ts +++ b/repo-scripts/repo-toolbox/src/RecordVersionsAction.ts @@ -2,7 +2,8 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { Terminal, ConsoleTerminalProvider, JsonFile } from '@rushstack/node-core-library'; +import { JsonFile } from '@rushstack/node-core-library'; +import { Terminal, ConsoleTerminalProvider } from '@rushstack/terminal'; import { RushConfiguration } from '@microsoft/rush-lib'; import { CommandLineAction, type CommandLineStringParameter } from '@rushstack/ts-command-line'; diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index 850a53778d3..798ef6a7984 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -21,6 +21,7 @@ "dependencies": { "@rushstack/node-core-library": "workspace:*", "@rushstack/rush-sdk": "workspace:*", + "@rushstack/terminal": "workspace:*", "https-proxy-agent": "~5.0.0", "node-fetch": "2.6.7" }, diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3BuildCacheProvider.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3BuildCacheProvider.ts index 7bff15b9ec2..d040e8d0b75 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3BuildCacheProvider.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3BuildCacheProvider.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { type ICloudBuildCacheProvider, type ICredentialCacheEntry, diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts index 7dfb1df7eef..3ec70110571 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Async, Colors, type IColorableSequence, type ITerminal } from '@rushstack/node-core-library'; +import { Async, } from '@rushstack/node-core-library'; +import { Colors, type IColorableSequence, type ITerminal} from '@rushstack/terminal' import * as crypto from 'crypto'; import * as fetch from 'node-fetch'; diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3BuildCacheProvider.test.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3BuildCacheProvider.test.ts index 0eb49a471e8..4ab30117f11 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3BuildCacheProvider.test.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3BuildCacheProvider.test.ts @@ -1,11 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { - ConsoleTerminalProvider, - StringBufferTerminalProvider, - Terminal -} from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { RushSession, CredentialCache, diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3Client.test.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3Client.test.ts index 55c625ba7f8..d87115b17ed 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3Client.test.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/test/AmazonS3Client.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import { Response, type ResponseInit } from 'node-fetch'; import type { IAmazonS3BuildCacheProviderOptionsAdvanced } from '../AmazonS3BuildCacheProvider'; diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts index f566297c500..0c758de44c8 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureAuthenticationBase.ts @@ -7,7 +7,7 @@ import { AzureAuthorityHosts, type DeviceCodeCredentialOptions } from '@azure/identity'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { CredentialCache } from '@rushstack/rush-sdk'; // Use a separate import line so the .d.ts file ends up with an `import type { ... }` // See https://github.com/microsoft/rushstack/issues/3432 diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageAuthentication.ts b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageAuthentication.ts index 975ba4f9b59..d0c2ec74ad0 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageAuthentication.ts +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageAuthentication.ts @@ -9,7 +9,7 @@ import { type SASQueryParameters, type ServiceGetUserDelegationKeyResponse } from '@azure/storage-blob'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { AzureAuthenticationBase, type ICredentialResult, diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageBuildCacheProvider.ts b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageBuildCacheProvider.ts index 2d4ecd01c7c..ba329be5a72 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageBuildCacheProvider.ts +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/src/AzureStorageBuildCacheProvider.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { type ICloudBuildCacheProvider, EnvironmentVariableNames, diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/src/test/AzureStorageBuildCacheProvider.test.ts b/rush-plugins/rush-azure-storage-build-cache-plugin/src/test/AzureStorageBuildCacheProvider.test.ts index 0a593abbc01..4bde79dd705 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/src/test/AzureStorageBuildCacheProvider.test.ts +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/src/test/AzureStorageBuildCacheProvider.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { CredentialCache, EnvironmentConfiguration, RushUserConfiguration } from '@rushstack/rush-sdk'; import { AzureStorageBuildCacheProvider } from '../AzureStorageBuildCacheProvider'; diff --git a/rush-plugins/rush-http-build-cache-plugin/.eslintrc.js b/rush-plugins/rush-http-build-cache-plugin/.eslintrc.js new file mode 100644 index 00000000000..27dc0bdff95 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/.eslintrc.js @@ -0,0 +1,12 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); +// This is a workaround for https://github.com/microsoft/rushstack/issues/3021 +require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); + +module.exports = { + extends: [ + 'local-node-rig/profiles/default/includes/eslint/profile/node-trusted-tool', + 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals' + ], + parserOptions: { tsconfigRootDir: __dirname } +}; diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index 2da0d936ba3..d0840b14f35 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -27,6 +27,7 @@ "devDependencies": { "@microsoft/rush-lib": "workspace:*", "@rushstack/heft": "workspace:*", + "@rushstack/terminal": "workspace:*", "local-node-rig": "workspace:*", "@types/node-fetch": "2.6.2" } diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index d77dc8a109d..0b22b2a952b 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -1,12 +1,17 @@ -import { ITerminal, Executable, Async } from '@rushstack/node-core-library'; +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { Executable, Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { - ICloudBuildCacheProvider, - ICredentialCacheEntry, + type ICloudBuildCacheProvider, + type ICredentialCacheEntry, CredentialCache, - RushSession, + type RushSession, EnvironmentConfiguration } from '@rushstack/rush-sdk'; -import fetch, { BodyInit, Response } from 'node-fetch'; +import fetch, { type BodyInit, type Response } from 'node-fetch'; +import type { SpawnSyncReturns } from 'child_process'; enum CredentialsOptions { Optional, @@ -43,7 +48,7 @@ export interface IHttpBuildCacheProviderOptions { } const MAX_HTTP_CACHE_ATTEMPTS: number = 3; -const DEFAULT_MIN_HTTP_RETRY_DELAY_MS = 2500; +const DEFAULT_MIN_HTTP_RETRY_DELAY_MS: number = 2500; export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { private readonly _pluginName: string; @@ -81,7 +86,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { cacheId: string ): Promise { try { - const result = await this._http({ + const result: boolean | Buffer = await this._http({ terminal: terminal, relUrl: `${this._cacheKeyPrefix}${cacheId}`, method: 'GET', @@ -111,7 +116,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { terminal.writeDebugLine('Uploading object with cacheId: ', cacheId); try { - const result = await this._http({ + const result: boolean | Buffer = await this._http({ terminal: terminal, relUrl: `${this._cacheKeyPrefix}${cacheId}`, method: this._uploadMethod, @@ -154,9 +159,13 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { const cmd: string = `${this._tokenHandler.exec} ${(this._tokenHandler.args || []).join(' ')}`; terminal.writeVerboseLine(`Running '${cmd}' to get credentials`); - const result = Executable.spawnSync(this._tokenHandler.exec, this._tokenHandler.args || [], { - currentWorkingDirectory: this._rushProjectRoot - }); + const result: SpawnSyncReturns = Executable.spawnSync( + this._tokenHandler.exec, + this._tokenHandler.args || [], + { + currentWorkingDirectory: this._rushProjectRoot + } + ); terminal.writeErrorLine(result.stderr); @@ -164,7 +173,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { throw new Error(`Could not obtain credentials. The command '${cmd}' failed.`); } - const credential = result.stdout.trim(); + const credential: string = result.stdout.trim(); terminal.writeVerboseLine('Got credentials'); await this.updateCachedCredentialAsync(terminal, credential); @@ -209,9 +218,9 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { credentialOptions?: CredentialsOptions; }): Promise { const { terminal, relUrl, method, body, warningText, readBody, credentialOptions } = options; - const safeCredentialOptions = credentialOptions ?? CredentialsOptions.Optional; - const credentials = await this._tryGetCredentials(safeCredentialOptions); - const url = new URL(relUrl, this._url).href; + const safeCredentialOptions: CredentialsOptions = credentialOptions ?? CredentialsOptions.Optional; + const credentials: string | undefined = await this._tryGetCredentials(safeCredentialOptions); + const url: string = new URL(relUrl, this._url).href; const headers: Record = {}; if (typeof credentials === 'string') { @@ -224,11 +233,11 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { } } - const bodyLength = (body as { length: number })?.length || 'unknown'; + const bodyLength: number | 'unknown' = (body as { length: number })?.length || 'unknown'; terminal.writeDebugLine(`[http-build-cache] request: ${method} ${url} ${bodyLength} bytes`); - const response = await fetch(url, { + const response: Response = await fetch(url, { method: method, headers: headers, body: body, @@ -236,7 +245,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { }); if (!response.ok) { - const isNonCredentialResponse = response.status >= 500 && response.status < 600; + const isNonCredentialResponse: boolean = response.status >= 500 && response.status < 600; if ( !isNonCredentialResponse && @@ -255,8 +264,8 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { // Pause a bit before retrying in case the server is busy // Add some random jitter to the retry so we can spread out load on the remote service // A proper solution might add exponential back off in case the retry count is high (10 or more) - const factor = 1.0 + Math.random(); // A random number between 1.0 and 2.0 - const retryDelay = Math.floor(factor * this._minHttpRetryDelayMs); + const factor: number = 1.0 + Math.random(); // A random number between 1.0 and 2.0 + const retryDelay: number = Math.floor(factor * this._minHttpRetryDelayMs); await Async.sleep(retryDelay); diff --git a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts index a4aced33cb9..a06a55409c8 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { IRushPlugin, RushSession, RushConfiguration } from '@rushstack/rush-sdk'; -import type { HttpBuildCacheProvider, IHttpBuildCacheProviderOptions } from './HttpBuildCacheProvider'; +import type { IHttpBuildCacheProviderOptions } from './HttpBuildCacheProvider'; const PLUGIN_NAME: string = 'HttpBuildCachePlugin'; diff --git a/rush-plugins/rush-http-build-cache-plugin/src/index.ts b/rush-plugins/rush-http-build-cache-plugin/src/index.ts index 17e67ac1859..d8d186d6c80 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/index.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/index.ts @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + import { RushHttpBuildCachePlugin } from './RushHttpBuildCachePlugin'; export default RushHttpBuildCachePlugin; diff --git a/rush-plugins/rush-http-build-cache-plugin/src/test/HttpBuildCacheProvider.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/test/HttpBuildCacheProvider.test.ts index b86d6855bda..fe93acce8c4 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/test/HttpBuildCacheProvider.test.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/test/HttpBuildCacheProvider.test.ts @@ -6,8 +6,8 @@ jest.mock('node-fetch', function () { }); import fetch, { Response } from 'node-fetch'; -import { RushSession, EnvironmentConfiguration } from '@rushstack/rush-sdk'; -import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { type RushSession, EnvironmentConfiguration } from '@rushstack/rush-sdk'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { HttpBuildCacheProvider, type IHttpBuildCacheProviderOptions } from '../HttpBuildCacheProvider'; diff --git a/rush-plugins/rush-litewatch-plugin/package.json b/rush-plugins/rush-litewatch-plugin/package.json index 330a2c1ff76..dd77b35abea 100644 --- a/rush-plugins/rush-litewatch-plugin/package.json +++ b/rush-plugins/rush-litewatch-plugin/package.json @@ -16,7 +16,8 @@ }, "dependencies": { "@rushstack/node-core-library": "workspace:*", - "@rushstack/rush-sdk": "workspace:*" + "@rushstack/rush-sdk": "workspace:*", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@rushstack/heft": "workspace:*", diff --git a/rush-plugins/rush-litewatch-plugin/src/WatchManager.ts b/rush-plugins/rush-litewatch-plugin/src/WatchManager.ts index b91c1b6b30a..0cc5da8cc75 100644 --- a/rush-plugins/rush-litewatch-plugin/src/WatchManager.ts +++ b/rush-plugins/rush-litewatch-plugin/src/WatchManager.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { type ITerminal, type ITerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { type ITerminal, type ITerminalProvider, Terminal } from '@rushstack/terminal'; import { type WatchProject, WatchState } from './WatchProject'; diff --git a/rush-plugins/rush-litewatch-plugin/src/WatchProject.ts b/rush-plugins/rush-litewatch-plugin/src/WatchProject.ts index dcd77646c79..d4ad6a7c23f 100644 --- a/rush-plugins/rush-litewatch-plugin/src/WatchProject.ts +++ b/rush-plugins/rush-litewatch-plugin/src/WatchProject.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; export enum WatchState { /** No output received yet */ diff --git a/rush-plugins/rush-litewatch-plugin/src/test/WatchManager.test.ts b/rush-plugins/rush-litewatch-plugin/src/test/WatchManager.test.ts index 8c9f3fdd6f9..886893ea95f 100644 --- a/rush-plugins/rush-litewatch-plugin/src/test/WatchManager.test.ts +++ b/rush-plugins/rush-litewatch-plugin/src/test/WatchManager.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { ITerminalProvider, TerminalProviderSeverity } from '@rushstack/node-core-library'; +import type { ITerminalProvider, TerminalProviderSeverity } from '@rushstack/terminal'; import { WatchManager } from '../WatchManager'; import { WatchProject } from '../WatchProject'; diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index ca5b3b30c2d..d7b631d68ff 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -26,6 +26,7 @@ "devDependencies": { "@microsoft/rush-lib": "workspace:*", "@rushstack/heft": "workspace:*", + "@rushstack/terminal": "workspace:*", "local-node-rig": "workspace:*" } } diff --git a/rush-plugins/rush-redis-cobuild-plugin/src/RedisCobuildLockProvider.ts b/rush-plugins/rush-redis-cobuild-plugin/src/RedisCobuildLockProvider.ts index f4c5485cb3b..21a35f10a27 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/src/RedisCobuildLockProvider.ts +++ b/rush-plugins/rush-redis-cobuild-plugin/src/RedisCobuildLockProvider.ts @@ -16,7 +16,7 @@ import type { RedisModules, RedisScripts } from '@redis/client'; -import type { ITerminal } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; /** * The redis client options diff --git a/rush-plugins/rush-redis-cobuild-plugin/src/test/RedisCobuildLockProvider.test.ts b/rush-plugins/rush-redis-cobuild-plugin/src/test/RedisCobuildLockProvider.test.ts index 03479caf486..3fa6cf43c02 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/src/test/RedisCobuildLockProvider.test.ts +++ b/rush-plugins/rush-redis-cobuild-plugin/src/test/RedisCobuildLockProvider.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleTerminalProvider } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider } from '@rushstack/terminal'; import * as redisAPI from '@redis/client'; import type { RedisClientType } from '@redis/client'; diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index e8747291805..0b705ea2dd1 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -30,6 +30,7 @@ }, "devDependencies": { "@rushstack/heft": "workspace:*", + "@rushstack/terminal": "workspace:*", "local-node-rig": "workspace:*", "@types/compression": "~1.7.2", "@types/cors": "~2.8.12", diff --git a/rush-plugins/rush-serve-plugin/src/RushProjectServeConfigFile.ts b/rush-plugins/rush-serve-plugin/src/RushProjectServeConfigFile.ts index 77806769b7a..62322db213e 100644 --- a/rush-plugins/rush-serve-plugin/src/RushProjectServeConfigFile.ts +++ b/rush-plugins/rush-serve-plugin/src/RushProjectServeConfigFile.ts @@ -4,7 +4,8 @@ import path from 'path'; import { ConfigurationFile, InheritanceType } from '@rushstack/heft-config-file'; -import { Async, type ITerminal } from '@rushstack/node-core-library'; +import { Async } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import { RigConfig } from '@rushstack/rig-package'; import type { RushConfigurationProject } from '@rushstack/rush-sdk'; import rushProjectServeSchema from './schemas/rush-project-serve.schema.json'; diff --git a/vscode-extensions/rush-vscode-extension/package.json b/vscode-extensions/rush-vscode-extension/package.json index 454baa133a2..966d18d162f 100644 --- a/vscode-extensions/rush-vscode-extension/package.json +++ b/vscode-extensions/rush-vscode-extension/package.json @@ -259,7 +259,8 @@ "@rushstack/node-core-library": "workspace:*", "@rushstack/rush-sdk": "workspace:*", "@rushstack/ts-command-line": "workspace:*", - "@rushstack/rush-vscode-command-webview": "workspace:*" + "@rushstack/rush-vscode-command-webview": "workspace:*", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@microsoft/rush-lib": "workspace:*", diff --git a/vscode-extensions/rush-vscode-extension/src/logic/logger.ts b/vscode-extensions/rush-vscode-extension/src/logic/logger.ts index fa0ae78fbdd..cc281933961 100644 --- a/vscode-extensions/rush-vscode-extension/src/logic/logger.ts +++ b/vscode-extensions/rush-vscode-extension/src/logic/logger.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; const consoleTerminalProvider: ConsoleTerminalProvider = new ConsoleTerminalProvider(); diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 9820ed65ccb..f75e4102284 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -34,6 +34,7 @@ "dependencies": { "@rushstack/localization-utilities": "workspace:*", "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*", "@types/tapable": "1.0.6", "loader-utils": "1.4.2", "minimatch": "~3.0.3" diff --git a/webpack/webpack4-localization-plugin/src/LocalizationPlugin.ts b/webpack/webpack4-localization-plugin/src/LocalizationPlugin.ts index 3606ca23938..9c021acfe09 100644 --- a/webpack/webpack4-localization-plugin/src/LocalizationPlugin.ts +++ b/webpack/webpack4-localization-plugin/src/LocalizationPlugin.ts @@ -1,7 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { JsonFile, FileSystem, type ITerminal, NewlineKind } from '@rushstack/node-core-library'; +import { JsonFile, FileSystem, NewlineKind } from '@rushstack/node-core-library'; +import type { ITerminal } from '@rushstack/terminal'; import * as Webpack from 'webpack'; import * as path from 'path'; import type * as Tapable from 'tapable'; diff --git a/webpack/webpack4-localization-plugin/src/loaders/InPlaceLocFileLoader.ts b/webpack/webpack4-localization-plugin/src/loaders/InPlaceLocFileLoader.ts index 4cfd9a3a69b..7b6d6856e30 100644 --- a/webpack/webpack4-localization-plugin/src/loaders/InPlaceLocFileLoader.ts +++ b/webpack/webpack4-localization-plugin/src/loaders/InPlaceLocFileLoader.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { loader } from 'webpack'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { type ILocalizationFile, parseLocFile } from '@rushstack/localization-utilities'; import { loaderFactory, type IBaseLoaderOptions } from './LoaderFactory'; diff --git a/webpack/webpack4-localization-plugin/src/loaders/LocLoader.ts b/webpack/webpack4-localization-plugin/src/loaders/LocLoader.ts index 3008cd6e177..efe2b6cd098 100644 --- a/webpack/webpack4-localization-plugin/src/loaders/LocLoader.ts +++ b/webpack/webpack4-localization-plugin/src/loaders/LocLoader.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { loader } from 'webpack'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { type ILocalizationFile, parseLocFile } from '@rushstack/localization-utilities'; import type { LocalizationPlugin } from '../LocalizationPlugin'; diff --git a/webpack/webpack4-localization-plugin/src/utilities/LoaderTerminalProvider.ts b/webpack/webpack4-localization-plugin/src/utilities/LoaderTerminalProvider.ts index 067e9c6bffc..49582f72b2a 100644 --- a/webpack/webpack4-localization-plugin/src/utilities/LoaderTerminalProvider.ts +++ b/webpack/webpack4-localization-plugin/src/utilities/LoaderTerminalProvider.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type * as webpack from 'webpack'; -import { type ITerminalProvider, TerminalProviderSeverity } from '@rushstack/node-core-library'; +import { type ITerminalProvider, TerminalProviderSeverity } from '@rushstack/terminal'; export class LoaderTerminalProvider { public static getTerminalProviderForLoader(loaderContext: webpack.loader.LoaderContext): ITerminalProvider { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index b889f4991c2..4185f43255e 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -21,7 +21,8 @@ }, "dependencies": { "@rushstack/localization-utilities": "workspace:*", - "@rushstack/node-core-library": "workspace:*" + "@rushstack/node-core-library": "workspace:*", + "@rushstack/terminal": "workspace:*" }, "devDependencies": { "@rushstack/heft": "workspace:*", diff --git a/webpack/webpack5-localization-plugin/src/loaders/default-locale-loader.ts b/webpack/webpack5-localization-plugin/src/loaders/default-locale-loader.ts index 5894ccf4497..024370dad5b 100644 --- a/webpack/webpack5-localization-plugin/src/loaders/default-locale-loader.ts +++ b/webpack/webpack5-localization-plugin/src/loaders/default-locale-loader.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { LoaderContext, LoaderDefinitionFunction } from 'webpack'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { type ILocalizationFile, parseLocFile } from '@rushstack/localization-utilities'; import type { IResxLoaderOptions } from './IResxLoaderOptions'; diff --git a/webpack/webpack5-localization-plugin/src/loaders/loc-loader.ts b/webpack/webpack5-localization-plugin/src/loaders/loc-loader.ts index 293021ba16d..5378b14f197 100644 --- a/webpack/webpack5-localization-plugin/src/loaders/loc-loader.ts +++ b/webpack/webpack5-localization-plugin/src/loaders/loc-loader.ts @@ -3,7 +3,8 @@ import type { LoaderContext, LoaderDefinitionFunction } from 'webpack'; -import { Terminal, type NewlineKind } from '@rushstack/node-core-library'; +import type { NewlineKind } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { parseLocFile } from '@rushstack/localization-utilities'; import type { LocalizationPlugin } from '../LocalizationPlugin'; diff --git a/webpack/webpack5-localization-plugin/src/loaders/resx-loader.ts b/webpack/webpack5-localization-plugin/src/loaders/resx-loader.ts index 9d5fdab88f4..cfa8498d2cb 100644 --- a/webpack/webpack5-localization-plugin/src/loaders/resx-loader.ts +++ b/webpack/webpack5-localization-plugin/src/loaders/resx-loader.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { LoaderContext, LoaderDefinitionFunction } from 'webpack'; -import { Terminal } from '@rushstack/node-core-library'; +import { Terminal } from '@rushstack/terminal'; import { parseResx } from '@rushstack/localization-utilities'; import type { IResxLocLoaderOptions } from './IResxLoaderOptions'; diff --git a/webpack/webpack5-localization-plugin/src/utilities/LoaderTerminalProvider.ts b/webpack/webpack5-localization-plugin/src/utilities/LoaderTerminalProvider.ts index a390215895d..74812ad9ff0 100644 --- a/webpack/webpack5-localization-plugin/src/utilities/LoaderTerminalProvider.ts +++ b/webpack/webpack5-localization-plugin/src/utilities/LoaderTerminalProvider.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { LoaderContext } from 'webpack'; -import { type ITerminalProvider, TerminalProviderSeverity } from '@rushstack/node-core-library'; +import { type ITerminalProvider, TerminalProviderSeverity } from '@rushstack/terminal'; export class LoaderTerminalProvider { public static getTerminalProviderForLoader(loaderContext: LoaderContext<{}>): ITerminalProvider { From 0e5fbbc4e814af18bb49ef544412746905bab99a Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 22:08:07 -0800 Subject: [PATCH 138/180] Improve Colors tests. --- .../terminal/src/test/AnsiEscape.test.ts | 2 +- libraries/terminal/src/test/Colors.test.ts | 45 ++++- libraries/terminal/src/test/Terminal.test.ts | 184 +++++++++--------- .../test/__snapshots__/Colors.test.ts.snap | 68 ++++++- 4 files changed, 195 insertions(+), 104 deletions(-) diff --git a/libraries/terminal/src/test/AnsiEscape.test.ts b/libraries/terminal/src/test/AnsiEscape.test.ts index 00a926fa60a..8747d13d5bf 100644 --- a/libraries/terminal/src/test/AnsiEscape.test.ts +++ b/libraries/terminal/src/test/AnsiEscape.test.ts @@ -18,7 +18,7 @@ describe(AnsiEscape.name, () => { } }); - test('calls removeCodes() successfully', () => { + it('calls removeCodes() successfully', () => { const coloredInput: string = colors.rainbow('Hello, world!'); const decoloredInput: string = AnsiEscape.removeCodes(coloredInput); expect(coloredInput).not.toBe(decoloredInput); diff --git a/libraries/terminal/src/test/Colors.test.ts b/libraries/terminal/src/test/Colors.test.ts index db9c79f92d3..95bcb6f9818 100644 --- a/libraries/terminal/src/test/Colors.test.ts +++ b/libraries/terminal/src/test/Colors.test.ts @@ -4,8 +4,7 @@ import { Terminal } from '../Terminal'; import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; import { createColorGrid } from './createColorGrid'; -import { AnsiEscape } from '../AnsiEscape'; -import { Colors } from '../Colors'; +import { Colors, type IColorableSequence } from '../Colors'; describe(Colors.name, () => { let terminal: Terminal; @@ -17,20 +16,48 @@ describe(Colors.name, () => { }); test('writes color grid correctly', () => { + let lineCount: number = 0; for (const line of createColorGrid()) { terminal.writeLine(...line); + const output = provider.getOutput(); + expect(output).toMatchSnapshot(`line ${lineCount++}`); } - expect(provider.getOutput()).toMatchSnapshot(); + expect(lineCount).toMatchInlineSnapshot(`10`); }); - test('correctly normalizes color codes for tests', () => { - for (const line of createColorGrid()) { - terminal.writeLine(...line); + it('generates codes as expected', () => { + type ColorsFunctionNames = { + [K in keyof typeof Colors]: (typeof Colors)[K] extends (str: string) => IColorableSequence ? K : never; + }[keyof typeof Colors]; + function testColorFunction(functionName: ColorsFunctionNames): void { + terminal.write(Colors[functionName]('x')); + expect(provider.getOutput({ normalizeSpecialCharacters: false })).toMatchSnapshot(functionName); } - expect( - AnsiEscape.formatForTests(provider.getOutput({ normalizeSpecialCharacters: false })) - ).toMatchSnapshot(); + testColorFunction('black'); + testColorFunction('red'); + testColorFunction('green'); + testColorFunction('yellow'); + testColorFunction('blue'); + testColorFunction('magenta'); + testColorFunction('cyan'); + testColorFunction('white'); + testColorFunction('gray'); + testColorFunction('blackBackground'); + testColorFunction('redBackground'); + testColorFunction('greenBackground'); + testColorFunction('yellowBackground'); + testColorFunction('blueBackground'); + testColorFunction('magentaBackground'); + testColorFunction('cyanBackground'); + testColorFunction('whiteBackground'); + testColorFunction('grayBackground'); + testColorFunction('bold'); + testColorFunction('dim'); + testColorFunction('underline'); + testColorFunction('blink'); + testColorFunction('invertColor'); + testColorFunction('hidden'); }); }); diff --git a/libraries/terminal/src/test/Terminal.test.ts b/libraries/terminal/src/test/Terminal.test.ts index e59e52f4d77..166d5707ce4 100644 --- a/libraries/terminal/src/test/Terminal.test.ts +++ b/libraries/terminal/src/test/Terminal.test.ts @@ -26,108 +26,108 @@ describe('01 color enabled', () => { describe('01 basic terminal functions', () => { describe('01 write', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.write('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.write('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.write(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.write(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('02 writeLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('03 writeWarning', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeWarning('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeWarning('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeWarning(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('04 writeWarningLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeWarningLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeWarningLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeWarningLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarningLine( 'message 1', Colors.green('message 2'), @@ -139,108 +139,108 @@ describe('01 color enabled', () => { }); describe('05 writeError', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeError('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeError('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeError(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('06 writeErrorLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeErrorLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeErrorLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeErrorLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('07 writeVerbose', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeVerbose('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeVerbose('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeVerbose(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('08 writeVerboseLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeVerboseLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeVerboseLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeVerboseLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerboseLine( 'message 1', Colors.green('message 2'), @@ -252,7 +252,7 @@ describe('01 color enabled', () => { }); }); - test('05 writes to multiple streams', () => { + it('05 writes to multiple streams', () => { terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); terminal.writeWarningLine('message 1', 'message 2'); terminal.writeVerbose('test message'); @@ -304,108 +304,108 @@ describe('02 color disabled', () => { describe('01 basic terminal functions', () => { describe('01 write', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.write('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.write('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.write(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.write(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('02 writeLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('03 writeWarning', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeWarning('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeWarning('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeWarning(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('04 writeWarningLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeWarningLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeWarningLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeWarningLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarningLine( 'message 1', Colors.green('message 2'), @@ -417,108 +417,108 @@ describe('02 color disabled', () => { }); describe('05 writeError', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeError('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeError('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeError(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('06 writeErrorLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeErrorLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeErrorLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeErrorLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('07 writeVerbose', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeVerbose('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeVerbose('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeVerbose(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('08 writeVerboseLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeVerboseLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeVerboseLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeVerboseLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerboseLine( 'message 1', Colors.green('message 2'), @@ -530,61 +530,61 @@ describe('02 color disabled', () => { }); describe('09 writeDebug', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeDebug('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeDebug('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeDebug(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeDebug(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeDebug('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); describe('10 writeDebugLine', () => { - test('01 writes a single message', () => { + it('01 writes a single message', () => { terminal.writeDebugLine('test message'); verifyProvider(); }); - test('02 writes multiple messages', () => { + it('02 writes multiple messages', () => { terminal.writeDebugLine('message 1', 'message 2'); verifyProvider(); }); - test('03 writes a message with colors', () => { + it('03 writes a message with colors', () => { terminal.writeDebugLine(Colors.green('message 1')); verifyProvider(); }); - test('04 writes a multiple messages with colors', () => { + it('04 writes a multiple messages with colors', () => { terminal.writeDebugLine(Colors.green('message 1'), Colors.red('message 2')); verifyProvider(); }); - test('05 writes a messages with colors interspersed with non-colored messages', () => { + it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeDebugLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); verifyProvider(); }); }); }); - test('05 writes to multiple streams', () => { + it('05 writes to multiple streams', () => { terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); terminal.writeWarningLine('message 1', 'message 2'); terminal.writeVerbose('test message'); diff --git a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap index cdda0ea5d10..4de53e38d35 100644 --- a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap +++ b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap @@ -1,5 +1,69 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Colors correctly normalizes color codes for tests 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n][blue-bg]X[default-bg][black][blue-bg]X[default-bg][default][white][blue-bg]X[default-bg][default][gray][blue-bg]X[default-bg][default][magenta][blue-bg]X[default-bg][default][red][blue-bg]X[default-bg][default][yellow][blue-bg]X[default-bg][default][green][blue-bg]X[default-bg][default][cyan][blue-bg]X[default-bg][default][blue][blue-bg]X[default-bg][default][n]"`; +exports[`Colors generates codes as expected: black 1`] = `"x"`; -exports[`Colors writes color grid correctly 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n][blue-bg]X[default-bg][black][blue-bg]X[default-bg][default][white][blue-bg]X[default-bg][default][gray][blue-bg]X[default-bg][default][magenta][blue-bg]X[default-bg][default][red][blue-bg]X[default-bg][default][yellow][blue-bg]X[default-bg][default][green][blue-bg]X[default-bg][default][cyan][blue-bg]X[default-bg][default][blue][blue-bg]X[default-bg][default][n]"`; +exports[`Colors generates codes as expected: blackBackground 1`] = `"xxxxxxxxxx"`; + +exports[`Colors generates codes as expected: blink 1`] = `"xxxxxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: blue 1`] = `"xxxxx"`; + +exports[`Colors generates codes as expected: blueBackground 1`] = `"xxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: bold 1`] = `"xxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: cyan 1`] = `"xxxxxxx"`; + +exports[`Colors generates codes as expected: cyanBackground 1`] = `"xxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: dim 1`] = `"xxxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: gray 1`] = `"xxxxxxxxx"`; + +exports[`Colors generates codes as expected: grayBackground 1`] = `"xxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: green 1`] = `"xxx"`; + +exports[`Colors generates codes as expected: greenBackground 1`] = `"xxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: hidden 1`] = `"xxxxxxxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: invertColor 1`] = `"xxxxxxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: magenta 1`] = `"xxxxxx"`; + +exports[`Colors generates codes as expected: magentaBackground 1`] = `"xxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: red 1`] = `"xx"`; + +exports[`Colors generates codes as expected: redBackground 1`] = `"xxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: underline 1`] = `"xxxxxxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: white 1`] = `"xxxxxxxx"`; + +exports[`Colors generates codes as expected: whiteBackground 1`] = `"xxxxxxxxxxxxxxxxx"`; + +exports[`Colors generates codes as expected: yellow 1`] = `"xxxx"`; + +exports[`Colors generates codes as expected: yellowBackground 1`] = `"xxxxxxxxxxxxx"`; + +exports[`Colors writes color grid correctly: line 0 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n]"`; + +exports[`Colors writes color grid correctly: line 1 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 2 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 3 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 4 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 5 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 6 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 7 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 8 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n]"`; + +exports[`Colors writes color grid correctly: line 9 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n][blue-bg]X[default-bg][black][blue-bg]X[default-bg][default][white][blue-bg]X[default-bg][default][gray][blue-bg]X[default-bg][default][magenta][blue-bg]X[default-bg][default][red][blue-bg]X[default-bg][default][yellow][blue-bg]X[default-bg][default][green][blue-bg]X[default-bg][default][cyan][blue-bg]X[default-bg][default][blue][blue-bg]X[default-bg][default][n]"`; From 20e33388546c0e145a36eddf01de4089b28122bd Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 23:10:11 -0800 Subject: [PATCH 139/180] Update the Colors API to return strings. --- common/reviews/api/terminal.api.md | 144 ++--- .../heft-jest-plugin/src/HeftJestReporter.ts | 4 +- .../src/logic/operations/LegacySkipPlugin.ts | 24 +- libraries/terminal/src/AnsiEscape.ts | 4 + libraries/terminal/src/Colors.ts | 331 ++++++------ libraries/terminal/src/ITerminal.ts | 21 +- libraries/terminal/src/Terminal.ts | 496 +++++++++--------- libraries/terminal/src/index.ts | 2 +- libraries/terminal/src/test/Colors.test.ts | 22 +- .../test/__snapshots__/Colors.test.ts.snap | 66 +-- .../terminal/src/test/createColorGrid.ts | 20 +- libraries/terminal/src/test/write-colors.ts | 6 +- repo-scripts/repo-toolbox/src/ReadmeAction.ts | 4 +- .../src/AmazonS3Client.ts | 10 +- 14 files changed, 533 insertions(+), 621 deletions(-) diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index f8a5a005e70..84118c97836 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -14,6 +14,8 @@ import { WritableOptions } from 'stream'; // @public export class AnsiEscape { static formatForTests(text: string, options?: IAnsiEscapeConvertForTestsOptions): string; + // (undocumented) + static getEscapeSequenceForAnsiCode(code: number): string; static removeCodes(text: string): string; } @@ -27,77 +29,53 @@ export class CallbackWritable extends TerminalWritable { // @beta export class Colors { // (undocumented) - static black(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blackBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blink(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blue(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static blueBackground(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static bold(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static cyan(text: string | IColorableSequence): IColorableSequence; - // (undocumented) - static cyanBackground(text: string | IColorableSequence): IColorableSequence; + static black(text: string): string; // (undocumented) - static dim(text: string | IColorableSequence): IColorableSequence; + static blackBackground(text: string): string; // (undocumented) - static gray(text: string | IColorableSequence): IColorableSequence; + static blink(text: string): string; // (undocumented) - static grayBackground(text: string | IColorableSequence): IColorableSequence; + static blue(text: string): string; // (undocumented) - static green(text: string | IColorableSequence): IColorableSequence; + static blueBackground(text: string): string; // (undocumented) - static greenBackground(text: string | IColorableSequence): IColorableSequence; + static bold(text: string): string; // (undocumented) - static hidden(text: string | IColorableSequence): IColorableSequence; + static cyan(text: string): string; // (undocumented) - static invertColor(text: string | IColorableSequence): IColorableSequence; + static cyanBackground(text: string): string; // (undocumented) - static magenta(text: string | IColorableSequence): IColorableSequence; + static dim(text: string): string; // (undocumented) - static magentaBackground(text: string | IColorableSequence): IColorableSequence; - // @internal - static _normalizeStringOrColorableSequence(value: string | IColorableSequence): IColorableSequence; + static gray(text: string): string; // (undocumented) - static red(text: string | IColorableSequence): IColorableSequence; + static grayBackground(text: string): string; // (undocumented) - static redBackground(text: string | IColorableSequence): IColorableSequence; + static green(text: string): string; // (undocumented) - static underline(text: string | IColorableSequence): IColorableSequence; + static greenBackground(text: string): string; // (undocumented) - static white(text: string | IColorableSequence): IColorableSequence; + static hidden(text: string): string; // (undocumented) - static whiteBackground(text: string | IColorableSequence): IColorableSequence; + static invertColor(text: string): string; // (undocumented) - static yellow(text: string | IColorableSequence): IColorableSequence; + static magenta(text: string): string; // (undocumented) - static yellowBackground(text: string | IColorableSequence): IColorableSequence; -} - -// @beta -export enum ColorValue { - // (undocumented) - Black = 0, + static magentaBackground(text: string): string; // (undocumented) - Blue = 4, + static red(text: string): string; // (undocumented) - Cyan = 6, + static redBackground(text: string): string; // (undocumented) - Gray = 8, + static underline(text: string): string; // (undocumented) - Green = 2, + static white(text: string): string; // (undocumented) - Magenta = 5, + static whiteBackground(text: string): string; // (undocumented) - Red = 1, + static yellow(text: string): string; // (undocumented) - White = 7, - // (undocumented) - Yellow = 3 + static yellowBackground(text: string): string; } // @beta @@ -131,20 +109,6 @@ export interface ICallbackWritableOptions { onWriteChunk: (chunk: ITerminalChunk) => void; } -// @beta (undocumented) -export interface IColorableSequence { - // (undocumented) - backgroundColor?: ColorValue; - // (undocumented) - foregroundColor?: ColorValue; - // (undocumented) - isEol?: boolean; - // (undocumented) - text: string; - // (undocumented) - textAttributes?: TextAttribute[]; -} - // @beta export interface IConsoleTerminalProviderOptions { debugEnabled: boolean; @@ -204,16 +168,16 @@ export interface IStringBufferOutputOptions { export interface ITerminal { registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: (string | IColorableSequence)[]): void; - writeDebug(...messageParts: (string | IColorableSequence)[]): void; - writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; - writeError(...messageParts: (string | IColorableSequence)[]): void; - writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; - writeLine(...messageParts: (string | IColorableSequence)[]): void; - writeVerbose(...messageParts: (string | IColorableSequence)[]): void; - writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; - writeWarning(...messageParts: (string | IColorableSequence)[]): void; - writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; + write(...messageParts: string[]): void; + writeDebug(...messageParts: string[]): void; + writeDebugLine(...messageParts: string[]): void; + writeError(...messageParts: string[]): void; + writeErrorLine(...messageParts: string[]): void; + writeLine(...messageParts: string[]): void; + writeVerbose(...messageParts: string[]): void; + writeVerboseLine(...messageParts: string[]): void; + writeWarning(...messageParts: string[]): void; + writeWarningLine(...messageParts: string[]): void; } // @public @@ -373,16 +337,16 @@ export class Terminal implements ITerminal { constructor(provider: ITerminalProvider); registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: (string | IColorableSequence)[]): void; - writeDebug(...messageParts: (string | IColorableSequence)[]): void; - writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; - writeError(...messageParts: (string | IColorableSequence)[]): void; - writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; - writeLine(...messageParts: (string | IColorableSequence)[]): void; - writeVerbose(...messageParts: (string | IColorableSequence)[]): void; - writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; - writeWarning(...messageParts: (string | IColorableSequence)[]): void; - writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; + write(...messageParts: string[]): void; + writeDebug(...messageParts: string[]): void; + writeDebugLine(...messageParts: string[]): void; + writeError(...messageParts: string[]): void; + writeErrorLine(...messageParts: string[]): void; + writeLine(...messageParts: string[]): void; + writeVerbose(...messageParts: string[]): void; + writeVerboseLine(...messageParts: string[]): void; + writeWarning(...messageParts: string[]): void; + writeWarningLine(...messageParts: string[]): void; } // @public @@ -439,22 +403,6 @@ export abstract class TerminalWritable { writeChunk(chunk: ITerminalChunk): void; } -// @beta -export enum TextAttribute { - // (undocumented) - Blink = 3, - // (undocumented) - Bold = 0, - // (undocumented) - Dim = 1, - // (undocumented) - Hidden = 5, - // (undocumented) - InvertColor = 4, - // (undocumented) - Underline = 2 -} - // @public export abstract class TextRewriter { abstract close(state: TextRewriterState): string; diff --git a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts index 77c7ca54050..1cc2bda72e2 100644 --- a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts +++ b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { InternalError, Text } from '@rushstack/node-core-library'; -import { type ITerminal, Colors, type IColorableSequence } from '@rushstack/terminal'; +import { type ITerminal, Colors } from '@rushstack/terminal'; import type { Reporter, Test, @@ -164,7 +164,7 @@ export default class HeftJestReporter implements Reporter { const PAD_LENGTH: number = 13; // "console.error" is the longest label const paddedLabel: string = '|' + label.padStart(PAD_LENGTH) + '|'; - const prefix: IColorableSequence = debug ? Colors.yellow(paddedLabel) : Colors.cyan(paddedLabel); + const prefix: string = debug ? Colors.yellow(paddedLabel) : Colors.cyan(paddedLabel); for (const line of lines) { this._terminal.writeLine(prefix, ' ' + line); diff --git a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts index 91dcc1fbfa6..bbba06e21e1 100644 --- a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts @@ -4,7 +4,7 @@ import path from 'node:path'; import { Async, FileSystem, JsonFile, type JsonObject } from '@rushstack/node-core-library'; -import { PrintUtilities, ColorValue, type ITerminal } from '@rushstack/terminal'; +import { PrintUtilities, Colors, type ITerminal } from '@rushstack/terminal'; import type { Operation } from './Operation'; import { OperationStatus } from './OperationStatus'; @@ -133,10 +133,9 @@ export class LegacySkipPlugin implements IPhasedCommandPlugin { `Unable to calculate incremental state for ${record.operation.name}: ` + (error as Error).toString() ); - terminal.writeLine({ - text: 'Rush will proceed without incremental execution and change detection.', - foregroundColor: ColorValue.Cyan - }); + terminal.writeLine( + Colors.cyan('Rush will proceed without incremental execution and change detection.') + ); } stateMap.set(operation, { @@ -149,13 +148,14 @@ export class LegacySkipPlugin implements IPhasedCommandPlugin { if (logGitWarning) { // To test this code path: // Remove the `.git` folder then run "rush build --verbose" - terminal.writeLine({ - text: PrintUtilities.wrapWords( - 'This workspace does not appear to be tracked by Git. ' + - 'Rush will proceed without incremental execution, caching, and change detection.' - ), - foregroundColor: ColorValue.Cyan - }); + terminal.writeLine( + Colors.cyan( + PrintUtilities.wrapWords( + 'This workspace does not appear to be tracked by Git. ' + + 'Rush will proceed without incremental execution, caching, and change detection.' + ) + ) + ); } } ); diff --git a/libraries/terminal/src/AnsiEscape.ts b/libraries/terminal/src/AnsiEscape.ts index 3f0c1969b8c..f3b89f46abe 100644 --- a/libraries/terminal/src/AnsiEscape.ts +++ b/libraries/terminal/src/AnsiEscape.ts @@ -32,6 +32,10 @@ export class AnsiEscape { private static readonly _backslashNRegExp: RegExp = /\n/g; private static readonly _backslashRRegExp: RegExp = /\r/g; + public static getEscapeSequenceForAnsiCode(code: number): string { + return `\u001b[${code}m`; + } + /** * Returns the input text with all ANSI escape codes removed. For example, this is useful when saving * colorized console output to a log file. diff --git a/libraries/terminal/src/Colors.ts b/libraries/terminal/src/Colors.ts index a1a10856b64..8582ed57852 100644 --- a/libraries/terminal/src/Colors.ts +++ b/libraries/terminal/src/Colors.ts @@ -1,49 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -/** - * @beta - */ -export interface IColorableSequence { - text: string; - isEol?: boolean; - foregroundColor?: ColorValue; - backgroundColor?: ColorValue; - textAttributes?: TextAttribute[]; -} - -export const eolSequence: IColorableSequence = { - isEol: true -} as IColorableSequence; - -/** - * Colors used with {@link IColorableSequence}. - * @beta - */ -export enum ColorValue { - Black, - Red, - Green, - Yellow, - Blue, - Magenta, - Cyan, - White, - Gray -} - -/** - * Text styles used with {@link IColorableSequence}. - * @beta - */ -export enum TextAttribute { - Bold, - Dim, - Underline, - Blink, - InvertColor, - Hidden -} +import { AnsiEscape } from './AnsiEscape'; export enum ConsoleColorCodes { BlackForeground = 30, @@ -97,182 +55,195 @@ export enum ConsoleColorCodes { * @beta */ export class Colors { - public static black(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Black - }; + public static black(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.BlackForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static red(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Red - }; + + public static red(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.RedForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static green(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Green - }; + + public static green(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.GreenForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static yellow(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Yellow - }; + + public static yellow(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.YellowForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static blue(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Blue - }; + + public static blue(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.BlueForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static magenta(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Magenta - }; + + public static magenta(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.MagentaForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static cyan(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Cyan - }; - } - - public static white(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.White - }; + + public static cyan(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.CyanForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static gray(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - foregroundColor: ColorValue.Gray - }; + + public static white(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.WhiteForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - - public static blackBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Black - }; + + public static gray(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.GrayForeground, + ConsoleColorCodes.DefaultForeground, + text + ); } - public static redBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Red - }; + public static blackBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.BlackBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static greenBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Green - }; + public static redBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.RedBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static yellowBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Yellow - }; + public static greenBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.GreenBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static blueBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Blue - }; + public static yellowBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.YellowBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static magentaBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Magenta - }; + public static blueBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.BlueBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static cyanBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Cyan - }; + public static magentaBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.MagentaBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static whiteBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.White - }; + public static cyanBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.CyanBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static grayBackground(text: string | IColorableSequence): IColorableSequence { - return { - ...Colors._normalizeStringOrColorableSequence(text), - backgroundColor: ColorValue.Gray - }; + public static whiteBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.WhiteBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static bold(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.Bold); + public static grayBackground(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.GrayBackground, + ConsoleColorCodes.DefaultBackground, + text + ); } - public static dim(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.Dim); + public static bold(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.Bold, + ConsoleColorCodes.NormalColorOrIntensity, + text + ); } - public static underline(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.Underline); + public static dim(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.Dim, + ConsoleColorCodes.NormalColorOrIntensity, + text + ); } - public static blink(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.Blink); + public static underline(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.Underline, + ConsoleColorCodes.UnderlineOff, + text + ); } - public static invertColor(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.InvertColor); + public static blink(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Blink, ConsoleColorCodes.BlinkOff, text); } - public static hidden(text: string | IColorableSequence): IColorableSequence { - return Colors._applyTextAttribute(text, TextAttribute.Hidden); + public static invertColor(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes( + ConsoleColorCodes.InvertColor, + ConsoleColorCodes.InvertColorOff, + text + ); } - /** - * If called with a string, returns the string wrapped in a {@link IColorableSequence}. - * If called with a {@link IColorableSequence}, returns the {@link IColorableSequence}. - * - * @internal - */ - public static _normalizeStringOrColorableSequence(value: string | IColorableSequence): IColorableSequence { - if (typeof value === 'string') { - return { - text: value - }; - } else { - return value; - } + public static hidden(text: string): string { + return Colors._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Hidden, ConsoleColorCodes.HiddenOff, text); } - private static _applyTextAttribute( - text: string | IColorableSequence, - attribute: TextAttribute - ): IColorableSequence { - const sequence: IColorableSequence = Colors._normalizeStringOrColorableSequence(text); - if (!sequence.textAttributes) { - sequence.textAttributes = []; - } - - sequence.textAttributes.push(attribute); - return sequence; + private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string { + return ( + AnsiEscape.getEscapeSequenceForAnsiCode(startCode) + + text + + AnsiEscape.getEscapeSequenceForAnsiCode(endCode) + ); } } diff --git a/libraries/terminal/src/ITerminal.ts b/libraries/terminal/src/ITerminal.ts index 55a1c19426e..333e2ab7ec7 100644 --- a/libraries/terminal/src/ITerminal.ts +++ b/libraries/terminal/src/ITerminal.ts @@ -2,7 +2,6 @@ // See LICENSE in the project root for license information. import type { ITerminalProvider } from './ITerminalProvider'; -import type { IColorableSequence } from './Colors'; /** * @beta @@ -21,12 +20,12 @@ export interface ITerminal { /** * Write a generic message to the terminal */ - write(...messageParts: (string | IColorableSequence)[]): void; + write(...messageParts: string[]): void; /** * Write a generic message to the terminal, followed by a newline */ - writeLine(...messageParts: (string | IColorableSequence)[]): void; + writeLine(...messageParts: string[]): void; /** * Write a warning message to the console with yellow text. @@ -34,7 +33,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarning(...messageParts: (string | IColorableSequence)[]): void; + writeWarning(...messageParts: string[]): void; /** * Write a warning message to the console with yellow text, followed by a newline. @@ -42,7 +41,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarningLine(...messageParts: (string | IColorableSequence)[]): void; + writeWarningLine(...messageParts: string[]): void; /** * Write an error message to the console with red text. @@ -50,7 +49,7 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeError(...messageParts: (string | IColorableSequence)[]): void; + writeError(...messageParts: string[]): void; /** * Write an error message to the console with red text, followed by a newline. @@ -58,25 +57,25 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeErrorLine(...messageParts: (string | IColorableSequence)[]): void; + writeErrorLine(...messageParts: string[]): void; /** * Write a verbose-level message. */ - writeVerbose(...messageParts: (string | IColorableSequence)[]): void; + writeVerbose(...messageParts: string[]): void; /** * Write a verbose-level message followed by a newline. */ - writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void; + writeVerboseLine(...messageParts: string[]): void; /** * Write a debug-level message. */ - writeDebug(...messageParts: (string | IColorableSequence)[]): void; + writeDebug(...messageParts: string[]): void; /** * Write a debug-level message followed by a newline. */ - writeDebugLine(...messageParts: (string | IColorableSequence)[]): void; + writeDebugLine(...messageParts: string[]): void; } diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 808d57c223d..e8c9dac58c5 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -2,15 +2,44 @@ // See LICENSE in the project root for license information. import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { - type IColorableSequence, - ColorValue, - Colors, - eolSequence, - TextAttribute, - ConsoleColorCodes -} from './Colors'; +import { Colors, ConsoleColorCodes } from './Colors'; import type { ITerminal } from './ITerminal'; +import { AnsiEscape } from './AnsiEscape'; + +/** + * Colors used with {@link ILegacyColorableSequence}. + */ +enum ColorValue { + Black, + Red, + Green, + Yellow, + Blue, + Magenta, + Cyan, + White, + Gray +} + +/** + * Text styles used with {@link ILegacyColorableSequence}. + */ +enum TextAttribute { + Bold, + Dim, + Underline, + Blink, + InvertColor, + Hidden +} + +interface ILegacyColorableSequence { + text: string; + isEol?: boolean; + foregroundColor?: ColorValue; + backgroundColor?: ColorValue; + textAttributes?: TextAttribute[]; +} /** * This class facilitates writing to a console. @@ -44,345 +73,320 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.write} */ - public write(...messageParts: (string | IColorableSequence)[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.log); + public write(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.log, false); } /** * {@inheritdoc ITerminal.writeLine} */ - public writeLine(...messageParts: (string | IColorableSequence)[]): void { - this.write(...messageParts, eolSequence); + public writeLine(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.log, true); } /** * {@inheritdoc ITerminal.writeWarning} */ - public writeWarning(...messageParts: (string | IColorableSequence)[]): void { + public writeWarning(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map( - (part): IColorableSequence => ({ - ...Colors._normalizeStringOrColorableSequence(part), - foregroundColor: ColorValue.Yellow - }) - ), - TerminalProviderSeverity.warning + messageParts.map((part): string => Colors.yellow(AnsiEscape.removeCodes(part))), + TerminalProviderSeverity.warning, + false ); } /** * {@inheritdoc ITerminal.writeWarningLine} */ - public writeWarningLine(...messageParts: (string | IColorableSequence)[]): void { + public writeWarningLine(...messageParts: string[]): void { this._writeSegmentsToProviders( - [ - ...messageParts.map( - (part): IColorableSequence => ({ - ...Colors._normalizeStringOrColorableSequence(part), - foregroundColor: ColorValue.Yellow - }) - ), - eolSequence - ], - TerminalProviderSeverity.warning + messageParts.map((part): string => Colors.yellow(AnsiEscape.removeCodes(part))), + TerminalProviderSeverity.warning, + true ); } /** * {@inheritdoc ITerminal.writeError} */ - public writeError(...messageParts: (string | IColorableSequence)[]): void { + public writeError(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map( - (part): IColorableSequence => ({ - ...Colors._normalizeStringOrColorableSequence(part), - foregroundColor: ColorValue.Red - }) - ), - TerminalProviderSeverity.error + messageParts.map((part): string => Colors.red(AnsiEscape.removeCodes(part))), + TerminalProviderSeverity.error, + false ); } /** * {@inheritdoc ITerminal.writeErrorLine} */ - public writeErrorLine(...messageParts: (string | IColorableSequence)[]): void { + public writeErrorLine(...messageParts: string[]): void { this._writeSegmentsToProviders( - [ - ...messageParts.map( - (part): IColorableSequence => ({ - ...Colors._normalizeStringOrColorableSequence(part), - foregroundColor: ColorValue.Red - }) - ), - eolSequence - ], - TerminalProviderSeverity.error + messageParts.map((part): string => Colors.red(AnsiEscape.removeCodes(part))), + TerminalProviderSeverity.error, + true ); } /** * {@inheritdoc ITerminal.writeVerbose} */ - public writeVerbose(...messageParts: (string | IColorableSequence)[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.verbose); + public writeVerbose(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.verbose, false); } /** * {@inheritdoc ITerminal.writeVerboseLine} */ - public writeVerboseLine(...messageParts: (string | IColorableSequence)[]): void { - this.writeVerbose(...messageParts, eolSequence); + public writeVerboseLine(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.verbose, true); } /** * {@inheritdoc ITerminal.writeDebug} */ - public writeDebug(...messageParts: (string | IColorableSequence)[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.debug); + public writeDebug(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.debug, false); } /** * {@inheritdoc ITerminal.writeDebugLine} */ - public writeDebugLine(...messageParts: (string | IColorableSequence)[]): void { - this.writeDebug(...messageParts, eolSequence); + public writeDebugLine(...messageParts: string[]): void { + this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.debug, true); } private _writeSegmentsToProviders( - segments: (string | IColorableSequence)[], - severity: TerminalProviderSeverity + segments: (string | ILegacyColorableSequence)[], + severity: TerminalProviderSeverity, + followedByEol: boolean ): void { - const withColorText: { [eolChar: string]: string } = {}; - const withoutColorText: { [eolChar: string]: string } = {}; - let withColorLines: string[] | undefined; - let withoutColorLines: string[] | undefined; + const linesSegments: string[][] = [[]]; + let currentLineSegments: string[] = linesSegments[0]; + for (const segment of segments) { + if (typeof segment === 'string') { + currentLineSegments.push(segment); + } else { + if (segment.isEol) { + linesSegments.push([]); + currentLineSegments = linesSegments[linesSegments.length - 1]; + } else { + currentLineSegments.push(this._serializeLegacyColorableSequence(segment)); + } + } + } + + const lines: string[] = []; + for (const lineSegments of linesSegments) { + lines.push(lineSegments.join('')); + } + + if (followedByEol) { + lines.push(''); + } + + let linesWithoutColor: string[] | undefined; - this._providers.forEach((provider) => { + const concatenatedLinesWithColorByNewlineChar: Map = new Map(); + const concatenatedLinesWithoutColorByNewlineChar: Map = new Map(); + for (const provider of this._providers) { + let textToWrite: string | undefined; const eol: string = provider.eolCharacter; - let textToWrite: string; if (provider.supportsColor) { - if (!withColorLines) { - withColorLines = this._serializeFormattableTextSegments(segments, true); + textToWrite = concatenatedLinesWithColorByNewlineChar.get(eol); + if (!textToWrite) { + textToWrite = lines.join(eol); + concatenatedLinesWithColorByNewlineChar.set(eol, textToWrite); } - - if (!withColorText[eol]) { - withColorText[eol] = withColorLines.join(eol); - } - - textToWrite = withColorText[eol]; } else { - if (!withoutColorLines) { - withoutColorLines = this._serializeFormattableTextSegments(segments, false); - } + textToWrite = concatenatedLinesWithoutColorByNewlineChar.get(eol); + if (!textToWrite) { + if (!linesWithoutColor) { + linesWithoutColor = []; + for (const line of lines) { + linesWithoutColor.push(AnsiEscape.removeCodes(line)); + } + } - if (!withoutColorText[eol]) { - withoutColorText[eol] = withoutColorLines.join(eol); + textToWrite = linesWithoutColor.join(eol); + concatenatedLinesWithoutColorByNewlineChar.set(eol, textToWrite); } - - textToWrite = withoutColorText[eol]; } provider.write(textToWrite, severity); - }); + } } - private _serializeFormattableTextSegments( - segments: (string | IColorableSequence)[], - withColor: boolean - ): string[] { - const lines: string[] = []; - let segmentsToJoin: string[] = []; - let lastSegmentWasEol: boolean = false; - for (let i: number = 0; i < segments.length; i++) { - const segment: IColorableSequence = Colors._normalizeStringOrColorableSequence(segments[i]); - lastSegmentWasEol = !!segment.isEol; - if (lastSegmentWasEol) { - lines.push(segmentsToJoin.join('')); - segmentsToJoin = []; - } else { - if (withColor) { - const startColorCodes: number[] = []; - const endColorCodes: number[] = []; - switch (segment.foregroundColor) { - case ColorValue.Black: { - startColorCodes.push(ConsoleColorCodes.BlackForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + private _serializeLegacyColorableSequence(segment: ILegacyColorableSequence): string { + const startColorCodes: number[] = []; + const endColorCodes: number[] = []; + switch (segment.foregroundColor) { + case ColorValue.Black: { + startColorCodes.push(ConsoleColorCodes.BlackForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Red: { - startColorCodes.push(ConsoleColorCodes.RedForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Red: { + startColorCodes.push(ConsoleColorCodes.RedForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Green: { - startColorCodes.push(ConsoleColorCodes.GreenForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Green: { + startColorCodes.push(ConsoleColorCodes.GreenForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Yellow: { - startColorCodes.push(ConsoleColorCodes.YellowForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Yellow: { + startColorCodes.push(ConsoleColorCodes.YellowForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Blue: { - startColorCodes.push(ConsoleColorCodes.BlueForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Blue: { + startColorCodes.push(ConsoleColorCodes.BlueForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Magenta: { - startColorCodes.push(ConsoleColorCodes.MagentaForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Magenta: { + startColorCodes.push(ConsoleColorCodes.MagentaForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Cyan: { - startColorCodes.push(ConsoleColorCodes.CyanForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.Cyan: { + startColorCodes.push(ConsoleColorCodes.CyanForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.White: { - startColorCodes.push(ConsoleColorCodes.WhiteForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } + case ColorValue.White: { + startColorCodes.push(ConsoleColorCodes.WhiteForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } - case ColorValue.Gray: { - startColorCodes.push(ConsoleColorCodes.GrayForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); - break; - } - } + case ColorValue.Gray: { + startColorCodes.push(ConsoleColorCodes.GrayForeground); + endColorCodes.push(ConsoleColorCodes.DefaultForeground); + break; + } + } - switch (segment.backgroundColor) { - case ColorValue.Black: { - startColorCodes.push(ConsoleColorCodes.BlackBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + switch (segment.backgroundColor) { + case ColorValue.Black: { + startColorCodes.push(ConsoleColorCodes.BlackBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Red: { - startColorCodes.push(ConsoleColorCodes.RedBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Red: { + startColorCodes.push(ConsoleColorCodes.RedBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Green: { - startColorCodes.push(ConsoleColorCodes.GreenBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Green: { + startColorCodes.push(ConsoleColorCodes.GreenBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Yellow: { - startColorCodes.push(ConsoleColorCodes.YellowBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Yellow: { + startColorCodes.push(ConsoleColorCodes.YellowBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Blue: { - startColorCodes.push(ConsoleColorCodes.BlueBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Blue: { + startColorCodes.push(ConsoleColorCodes.BlueBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Magenta: { - startColorCodes.push(ConsoleColorCodes.MagentaBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Magenta: { + startColorCodes.push(ConsoleColorCodes.MagentaBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Cyan: { - startColorCodes.push(ConsoleColorCodes.CyanBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.Cyan: { + startColorCodes.push(ConsoleColorCodes.CyanBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.White: { - startColorCodes.push(ConsoleColorCodes.WhiteBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); - break; - } + case ColorValue.White: { + startColorCodes.push(ConsoleColorCodes.WhiteBackground); + endColorCodes.push(ConsoleColorCodes.DefaultBackground); + break; + } - case ColorValue.Gray: { - startColorCodes.push(ConsoleColorCodes.GrayBackground); - endColorCodes.push(49); - break; - } + case ColorValue.Gray: { + startColorCodes.push(ConsoleColorCodes.GrayBackground); + endColorCodes.push(49); + break; + } + } + + if (segment.textAttributes) { + for (const textAttribute of segment.textAttributes) { + switch (textAttribute) { + case TextAttribute.Bold: { + startColorCodes.push(ConsoleColorCodes.Bold); + endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); + break; } - if (segment.textAttributes) { - for (const textAttribute of segment.textAttributes) { - switch (textAttribute) { - case TextAttribute.Bold: { - startColorCodes.push(ConsoleColorCodes.Bold); - endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); - break; - } - - case TextAttribute.Dim: { - startColorCodes.push(ConsoleColorCodes.Dim); - endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); - break; - } - - case TextAttribute.Underline: { - startColorCodes.push(ConsoleColorCodes.Underline); - endColorCodes.push(ConsoleColorCodes.UnderlineOff); - break; - } - - case TextAttribute.Blink: { - startColorCodes.push(ConsoleColorCodes.Blink); - endColorCodes.push(ConsoleColorCodes.BlinkOff); - break; - } - - case TextAttribute.InvertColor: { - startColorCodes.push(ConsoleColorCodes.InvertColor); - endColorCodes.push(ConsoleColorCodes.InvertColorOff); - break; - } - - case TextAttribute.Hidden: { - startColorCodes.push(ConsoleColorCodes.Hidden); - endColorCodes.push(ConsoleColorCodes.HiddenOff); - break; - } - } - } + case TextAttribute.Dim: { + startColorCodes.push(ConsoleColorCodes.Dim); + endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); + break; } - for (let j: number = 0; j < startColorCodes.length; j++) { - const code: number = startColorCodes[j]; - segmentsToJoin.push(...['\u001b[', code.toString(), 'm']); + case TextAttribute.Underline: { + startColorCodes.push(ConsoleColorCodes.Underline); + endColorCodes.push(ConsoleColorCodes.UnderlineOff); + break; } - segmentsToJoin.push(segment.text); + case TextAttribute.Blink: { + startColorCodes.push(ConsoleColorCodes.Blink); + endColorCodes.push(ConsoleColorCodes.BlinkOff); + break; + } - for (let j: number = endColorCodes.length - 1; j >= 0; j--) { - const code: number = endColorCodes[j]; - segmentsToJoin.push(...['\u001b[', code.toString(), 'm']); + case TextAttribute.InvertColor: { + startColorCodes.push(ConsoleColorCodes.InvertColor); + endColorCodes.push(ConsoleColorCodes.InvertColorOff); + break; + } + + case TextAttribute.Hidden: { + startColorCodes.push(ConsoleColorCodes.Hidden); + endColorCodes.push(ConsoleColorCodes.HiddenOff); + break; } - } else { - segmentsToJoin.push(segment.text); } } } - if (segmentsToJoin.length > 0) { - lines.push(segmentsToJoin.join('')); + const resultSegments: string[] = []; + for (let j: number = 0; j < startColorCodes.length; j++) { + const code: number = startColorCodes[j]; + resultSegments.push(AnsiEscape.getEscapeSequenceForAnsiCode(code)); } - if (lastSegmentWasEol) { - lines.push(''); + resultSegments.push(segment.text); + + for (let j: number = endColorCodes.length - 1; j >= 0; j--) { + const code: number = endColorCodes[j]; + resultSegments.push(AnsiEscape.getEscapeSequenceForAnsiCode(code)); } - return lines; + return resultSegments.join(''); } } diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index 6e3015b619c..d08691d6dff 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -32,7 +32,7 @@ export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewr export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; export { ITerminal } from './ITerminal'; export { Terminal } from './Terminal'; -export { Colors, IColorableSequence, ColorValue, TextAttribute } from './Colors'; +export { Colors } from './Colors'; export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; export { ConsoleTerminalProvider, IConsoleTerminalProviderOptions } from './ConsoleTerminalProvider'; export { StringBufferTerminalProvider, IStringBufferOutputOptions } from './StringBufferTerminalProvider'; diff --git a/libraries/terminal/src/test/Colors.test.ts b/libraries/terminal/src/test/Colors.test.ts index 95bcb6f9818..6edff7096b4 100644 --- a/libraries/terminal/src/test/Colors.test.ts +++ b/libraries/terminal/src/test/Colors.test.ts @@ -1,26 +1,15 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Terminal } from '../Terminal'; -import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; import { createColorGrid } from './createColorGrid'; -import { Colors, type IColorableSequence } from '../Colors'; +import { Colors } from '../Colors'; +import { AnsiEscape } from '../AnsiEscape'; describe(Colors.name, () => { - let terminal: Terminal; - let provider: StringBufferTerminalProvider; - - beforeEach(() => { - provider = new StringBufferTerminalProvider(true); - terminal = new Terminal(provider); - }); - test('writes color grid correctly', () => { let lineCount: number = 0; for (const line of createColorGrid()) { - terminal.writeLine(...line); - const output = provider.getOutput(); - expect(output).toMatchSnapshot(`line ${lineCount++}`); + expect(AnsiEscape.formatForTests(line.join(''))).toMatchSnapshot(`line ${lineCount++}`); } expect(lineCount).toMatchInlineSnapshot(`10`); @@ -28,11 +17,10 @@ describe(Colors.name, () => { it('generates codes as expected', () => { type ColorsFunctionNames = { - [K in keyof typeof Colors]: (typeof Colors)[K] extends (str: string) => IColorableSequence ? K : never; + [K in keyof typeof Colors]: (typeof Colors)[K] extends (str: string) => string ? K : never; }[keyof typeof Colors]; function testColorFunction(functionName: ColorsFunctionNames): void { - terminal.write(Colors[functionName]('x')); - expect(provider.getOutput({ normalizeSpecialCharacters: false })).toMatchSnapshot(functionName); + expect(Colors[functionName]('x')).toMatchSnapshot(functionName); } testColorFunction('black'); diff --git a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap index 4de53e38d35..6c3ba309850 100644 --- a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap +++ b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap @@ -2,68 +2,68 @@ exports[`Colors generates codes as expected: black 1`] = `"x"`; -exports[`Colors generates codes as expected: blackBackground 1`] = `"xxxxxxxxxx"`; +exports[`Colors generates codes as expected: blackBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: blink 1`] = `"xxxxxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: blink 1`] = `"x"`; -exports[`Colors generates codes as expected: blue 1`] = `"xxxxx"`; +exports[`Colors generates codes as expected: blue 1`] = `"x"`; -exports[`Colors generates codes as expected: blueBackground 1`] = `"xxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: blueBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: bold 1`] = `"xxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: bold 1`] = `"x"`; -exports[`Colors generates codes as expected: cyan 1`] = `"xxxxxxx"`; +exports[`Colors generates codes as expected: cyan 1`] = `"x"`; -exports[`Colors generates codes as expected: cyanBackground 1`] = `"xxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: cyanBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: dim 1`] = `"xxxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: dim 1`] = `"x"`; -exports[`Colors generates codes as expected: gray 1`] = `"xxxxxxxxx"`; +exports[`Colors generates codes as expected: gray 1`] = `"x"`; -exports[`Colors generates codes as expected: grayBackground 1`] = `"xxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: grayBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: green 1`] = `"xxx"`; +exports[`Colors generates codes as expected: green 1`] = `"x"`; -exports[`Colors generates codes as expected: greenBackground 1`] = `"xxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: greenBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: hidden 1`] = `"xxxxxxxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: hidden 1`] = `"x"`; -exports[`Colors generates codes as expected: invertColor 1`] = `"xxxxxxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: invertColor 1`] = `"x"`; -exports[`Colors generates codes as expected: magenta 1`] = `"xxxxxx"`; +exports[`Colors generates codes as expected: magenta 1`] = `"x"`; -exports[`Colors generates codes as expected: magentaBackground 1`] = `"xxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: magentaBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: red 1`] = `"xx"`; +exports[`Colors generates codes as expected: red 1`] = `"x"`; -exports[`Colors generates codes as expected: redBackground 1`] = `"xxxxxxxxxxx"`; +exports[`Colors generates codes as expected: redBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: underline 1`] = `"xxxxxxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: underline 1`] = `"x"`; -exports[`Colors generates codes as expected: white 1`] = `"xxxxxxxx"`; +exports[`Colors generates codes as expected: white 1`] = `"x"`; -exports[`Colors generates codes as expected: whiteBackground 1`] = `"xxxxxxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: whiteBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: yellow 1`] = `"xxxx"`; +exports[`Colors generates codes as expected: yellow 1`] = `"x"`; -exports[`Colors generates codes as expected: yellowBackground 1`] = `"xxxxxxxxxxxxx"`; +exports[`Colors generates codes as expected: yellowBackground 1`] = `"x"`; -exports[`Colors writes color grid correctly: line 0 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n]"`; +exports[`Colors writes color grid correctly: line 0 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default]"`; -exports[`Colors writes color grid correctly: line 1 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 1 1`] = `"[black-bg]X[default-bg][black-bg][black]X[default][default-bg][black-bg][white]X[default][default-bg][black-bg][gray]X[default][default-bg][black-bg][magenta]X[default][default-bg][black-bg][red]X[default][default-bg][black-bg][yellow]X[default][default-bg][black-bg][green]X[default][default-bg][black-bg][cyan]X[default][default-bg][black-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 2 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 2 1`] = `"[white-bg]X[default-bg][white-bg][black]X[default][default-bg][white-bg][white]X[default][default-bg][white-bg][gray]X[default][default-bg][white-bg][magenta]X[default][default-bg][white-bg][red]X[default][default-bg][white-bg][yellow]X[default][default-bg][white-bg][green]X[default][default-bg][white-bg][cyan]X[default][default-bg][white-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 3 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 3 1`] = `"[gray-bg]X[default-bg][gray-bg][black]X[default][default-bg][gray-bg][white]X[default][default-bg][gray-bg][gray]X[default][default-bg][gray-bg][magenta]X[default][default-bg][gray-bg][red]X[default][default-bg][gray-bg][yellow]X[default][default-bg][gray-bg][green]X[default][default-bg][gray-bg][cyan]X[default][default-bg][gray-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 4 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 4 1`] = `"[magenta-bg]X[default-bg][magenta-bg][black]X[default][default-bg][magenta-bg][white]X[default][default-bg][magenta-bg][gray]X[default][default-bg][magenta-bg][magenta]X[default][default-bg][magenta-bg][red]X[default][default-bg][magenta-bg][yellow]X[default][default-bg][magenta-bg][green]X[default][default-bg][magenta-bg][cyan]X[default][default-bg][magenta-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 5 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 5 1`] = `"[red-bg]X[default-bg][red-bg][black]X[default][default-bg][red-bg][white]X[default][default-bg][red-bg][gray]X[default][default-bg][red-bg][magenta]X[default][default-bg][red-bg][red]X[default][default-bg][red-bg][yellow]X[default][default-bg][red-bg][green]X[default][default-bg][red-bg][cyan]X[default][default-bg][red-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 6 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 6 1`] = `"[yellow-bg]X[default-bg][yellow-bg][black]X[default][default-bg][yellow-bg][white]X[default][default-bg][yellow-bg][gray]X[default][default-bg][yellow-bg][magenta]X[default][default-bg][yellow-bg][red]X[default][default-bg][yellow-bg][yellow]X[default][default-bg][yellow-bg][green]X[default][default-bg][yellow-bg][cyan]X[default][default-bg][yellow-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 7 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 7 1`] = `"[green-bg]X[default-bg][green-bg][black]X[default][default-bg][green-bg][white]X[default][default-bg][green-bg][gray]X[default][default-bg][green-bg][magenta]X[default][default-bg][green-bg][red]X[default][default-bg][green-bg][yellow]X[default][default-bg][green-bg][green]X[default][default-bg][green-bg][cyan]X[default][default-bg][green-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 8 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 8 1`] = `"[cyan-bg]X[default-bg][cyan-bg][black]X[default][default-bg][cyan-bg][white]X[default][default-bg][cyan-bg][gray]X[default][default-bg][cyan-bg][magenta]X[default][default-bg][cyan-bg][red]X[default][default-bg][cyan-bg][yellow]X[default][default-bg][cyan-bg][green]X[default][default-bg][cyan-bg][cyan]X[default][default-bg][cyan-bg][blue]X[default][default-bg]"`; -exports[`Colors writes color grid correctly: line 9 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default][n][black-bg]X[default-bg][black][black-bg]X[default-bg][default][white][black-bg]X[default-bg][default][gray][black-bg]X[default-bg][default][magenta][black-bg]X[default-bg][default][red][black-bg]X[default-bg][default][yellow][black-bg]X[default-bg][default][green][black-bg]X[default-bg][default][cyan][black-bg]X[default-bg][default][blue][black-bg]X[default-bg][default][n][white-bg]X[default-bg][black][white-bg]X[default-bg][default][white][white-bg]X[default-bg][default][gray][white-bg]X[default-bg][default][magenta][white-bg]X[default-bg][default][red][white-bg]X[default-bg][default][yellow][white-bg]X[default-bg][default][green][white-bg]X[default-bg][default][cyan][white-bg]X[default-bg][default][blue][white-bg]X[default-bg][default][n][gray-bg]X[default-bg][black][gray-bg]X[default-bg][default][white][gray-bg]X[default-bg][default][gray][gray-bg]X[default-bg][default][magenta][gray-bg]X[default-bg][default][red][gray-bg]X[default-bg][default][yellow][gray-bg]X[default-bg][default][green][gray-bg]X[default-bg][default][cyan][gray-bg]X[default-bg][default][blue][gray-bg]X[default-bg][default][n][magenta-bg]X[default-bg][black][magenta-bg]X[default-bg][default][white][magenta-bg]X[default-bg][default][gray][magenta-bg]X[default-bg][default][magenta][magenta-bg]X[default-bg][default][red][magenta-bg]X[default-bg][default][yellow][magenta-bg]X[default-bg][default][green][magenta-bg]X[default-bg][default][cyan][magenta-bg]X[default-bg][default][blue][magenta-bg]X[default-bg][default][n][red-bg]X[default-bg][black][red-bg]X[default-bg][default][white][red-bg]X[default-bg][default][gray][red-bg]X[default-bg][default][magenta][red-bg]X[default-bg][default][red][red-bg]X[default-bg][default][yellow][red-bg]X[default-bg][default][green][red-bg]X[default-bg][default][cyan][red-bg]X[default-bg][default][blue][red-bg]X[default-bg][default][n][yellow-bg]X[default-bg][black][yellow-bg]X[default-bg][default][white][yellow-bg]X[default-bg][default][gray][yellow-bg]X[default-bg][default][magenta][yellow-bg]X[default-bg][default][red][yellow-bg]X[default-bg][default][yellow][yellow-bg]X[default-bg][default][green][yellow-bg]X[default-bg][default][cyan][yellow-bg]X[default-bg][default][blue][yellow-bg]X[default-bg][default][n][green-bg]X[default-bg][black][green-bg]X[default-bg][default][white][green-bg]X[default-bg][default][gray][green-bg]X[default-bg][default][magenta][green-bg]X[default-bg][default][red][green-bg]X[default-bg][default][yellow][green-bg]X[default-bg][default][green][green-bg]X[default-bg][default][cyan][green-bg]X[default-bg][default][blue][green-bg]X[default-bg][default][n][cyan-bg]X[default-bg][black][cyan-bg]X[default-bg][default][white][cyan-bg]X[default-bg][default][gray][cyan-bg]X[default-bg][default][magenta][cyan-bg]X[default-bg][default][red][cyan-bg]X[default-bg][default][yellow][cyan-bg]X[default-bg][default][green][cyan-bg]X[default-bg][default][cyan][cyan-bg]X[default-bg][default][blue][cyan-bg]X[default-bg][default][n][blue-bg]X[default-bg][black][blue-bg]X[default-bg][default][white][blue-bg]X[default-bg][default][gray][blue-bg]X[default-bg][default][magenta][blue-bg]X[default-bg][default][red][blue-bg]X[default-bg][default][yellow][blue-bg]X[default-bg][default][green][blue-bg]X[default-bg][default][cyan][blue-bg]X[default-bg][default][blue][blue-bg]X[default-bg][default][n]"`; +exports[`Colors writes color grid correctly: line 9 1`] = `"[blue-bg]X[default-bg][blue-bg][black]X[default][default-bg][blue-bg][white]X[default][default-bg][blue-bg][gray]X[default][default-bg][blue-bg][magenta]X[default][default-bg][blue-bg][red]X[default][default-bg][blue-bg][yellow]X[default][default-bg][blue-bg][green]X[default][default-bg][blue-bg][cyan]X[default][default-bg][blue-bg][blue]X[default][default-bg]"`; diff --git a/libraries/terminal/src/test/createColorGrid.ts b/libraries/terminal/src/test/createColorGrid.ts index 349ba5336bc..3585e910372 100644 --- a/libraries/terminal/src/test/createColorGrid.ts +++ b/libraries/terminal/src/test/createColorGrid.ts @@ -5,13 +5,11 @@ * This file is a little program that prints all of the colors to the console */ -import { Colors, type IColorableSequence } from '../index'; +import { Colors } from '../index'; -export function createColorGrid( - attributeFunction?: (text: string | IColorableSequence) => IColorableSequence -): IColorableSequence[][] { - const foregroundFunctions: ((text: string | IColorableSequence) => IColorableSequence)[] = [ - (text) => Colors._normalizeStringOrColorableSequence(text), +export function createColorGrid(attributeFunction?: (text: string) => string): string[][] { + const foregroundFunctions: ((text: string) => string)[] = [ + (text) => text, Colors.black, Colors.white, Colors.gray, @@ -23,8 +21,8 @@ export function createColorGrid( Colors.blue ]; - const backgroundFunctions: ((text: string | IColorableSequence) => IColorableSequence)[] = [ - (text) => Colors._normalizeStringOrColorableSequence(text), + const backgroundFunctions: ((text: string) => string)[] = [ + (text) => text, Colors.blackBackground, Colors.whiteBackground, Colors.grayBackground, @@ -36,13 +34,13 @@ export function createColorGrid( Colors.blueBackground ]; - const lines: IColorableSequence[][] = []; + const lines: string[][] = []; for (const backgroundFunction of backgroundFunctions) { - const sequences: IColorableSequence[] = []; + const sequences: string[] = []; for (const foregroundFunction of foregroundFunctions) { - let sequence: IColorableSequence = backgroundFunction(foregroundFunction('X')); + let sequence: string = backgroundFunction(foregroundFunction('X')); if (attributeFunction) { sequence = attributeFunction(sequence); } diff --git a/libraries/terminal/src/test/write-colors.ts b/libraries/terminal/src/test/write-colors.ts index d3b0e10b908..588994992f0 100644 --- a/libraries/terminal/src/test/write-colors.ts +++ b/libraries/terminal/src/test/write-colors.ts @@ -7,12 +7,12 @@ * Run this program with `node write-colors.js` */ -import { Terminal, ConsoleTerminalProvider, Colors, type IColorableSequence } from '../index'; +import { Terminal, ConsoleTerminalProvider, Colors } from '../index'; import { createColorGrid } from './createColorGrid'; const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); -function writeColorGrid(colorGridSequences: IColorableSequence[][]): void { - for (const line of colorGridSequences) { +function writeColorGrid(colorGrid: string[][]): void { + for (const line of colorGrid) { terminal.writeLine(...line); } } diff --git a/repo-scripts/repo-toolbox/src/ReadmeAction.ts b/repo-scripts/repo-toolbox/src/ReadmeAction.ts index c0e359f1476..a73f3cea80d 100644 --- a/repo-scripts/repo-toolbox/src/ReadmeAction.ts +++ b/repo-scripts/repo-toolbox/src/ReadmeAction.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { StringBuilder, Sort, FileSystem, Text, AlreadyReportedError } from '@rushstack/node-core-library'; -import { Terminal, ConsoleTerminalProvider, Colors, type IColorableSequence } from '@rushstack/terminal'; +import { Terminal, ConsoleTerminalProvider, Colors } from '@rushstack/terminal'; import { RushConfiguration, type RushConfigurationProject, LockStepVersionPolicy } from '@microsoft/rush-lib'; import { CommandLineAction, type CommandLineFlagParameter } from '@rushstack/ts-command-line'; import * as Diff from 'diff'; @@ -154,7 +154,7 @@ export class ReadmeAction extends CommandLineAction { for (const change of diff) { const lines: string[] = change.value.trimEnd().split('\n'); let linePrefix: string; - let colorizer: (text: string | IColorableSequence) => IColorableSequence; + let colorizer: (text: string) => string; if (change.added) { linePrefix = '+ '; colorizer = Colors.green; diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts index 3ec70110571..e005b85f2ba 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Async, } from '@rushstack/node-core-library'; -import { Colors, type IColorableSequence, type ITerminal} from '@rushstack/terminal' +import { Async } from '@rushstack/node-core-library'; +import { Colors, type ITerminal } from '@rushstack/terminal'; import * as crypto from 'crypto'; import * as fetch from 'node-fetch'; @@ -172,7 +172,7 @@ export class AmazonS3Client { }); } - private _writeDebugLine(...messageParts: (string | IColorableSequence)[]): void { + private _writeDebugLine(...messageParts: string[]): void { // if the terminal has been closed then don't bother sending a debug message try { this._terminal.writeDebugLine(...messageParts); @@ -181,7 +181,7 @@ export class AmazonS3Client { } } - private _writeWarningLine(...messageParts: (string | IColorableSequence)[]): void { + private _writeWarningLine(...messageParts: string[]): void { // if the terminal has been closed then don't bother sending a warning message try { this._terminal.writeWarningLine(...messageParts); @@ -433,7 +433,7 @@ export class AmazonS3Client { ): Promise { const response: RetryableRequestResponse = await sendRequest(); - const log: (...messageParts: (string | IColorableSequence)[]) => void = this._writeDebugLine.bind(this); + const log: (...messageParts: string[]) => void = this._writeDebugLine.bind(this); if (response.hasNetworkError) { if (storageRetryOptions && storageRetryOptions.maxTries > 1) { From 9cfbb111f890bd7668f575662997904cbf30faf2 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 23:10:31 -0800 Subject: [PATCH 140/180] Make snapshots in the Colors test more readable. --- libraries/terminal/src/test/Colors.test.ts | 4 +- .../test/__snapshots__/Colors.test.ts.snap | 168 ++++++++++++++++-- 2 files changed, 152 insertions(+), 20 deletions(-) diff --git a/libraries/terminal/src/test/Colors.test.ts b/libraries/terminal/src/test/Colors.test.ts index 6edff7096b4..71988940213 100644 --- a/libraries/terminal/src/test/Colors.test.ts +++ b/libraries/terminal/src/test/Colors.test.ts @@ -9,7 +9,9 @@ describe(Colors.name, () => { test('writes color grid correctly', () => { let lineCount: number = 0; for (const line of createColorGrid()) { - expect(AnsiEscape.formatForTests(line.join(''))).toMatchSnapshot(`line ${lineCount++}`); + expect(line.map((linePart) => AnsiEscape.formatForTests(linePart))).toMatchSnapshot( + `line ${lineCount++}` + ); } expect(lineCount).toMatchInlineSnapshot(`10`); diff --git a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap index 6c3ba309850..171b073c18e 100644 --- a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap +++ b/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap @@ -48,22 +48,152 @@ exports[`Colors generates codes as expected: yellow 1`] = `"x"`; exports[`Colors generates codes as expected: yellowBackground 1`] = `"x"`; -exports[`Colors writes color grid correctly: line 0 1`] = `"X[black]X[default][white]X[default][gray]X[default][magenta]X[default][red]X[default][yellow]X[default][green]X[default][cyan]X[default][blue]X[default]"`; - -exports[`Colors writes color grid correctly: line 1 1`] = `"[black-bg]X[default-bg][black-bg][black]X[default][default-bg][black-bg][white]X[default][default-bg][black-bg][gray]X[default][default-bg][black-bg][magenta]X[default][default-bg][black-bg][red]X[default][default-bg][black-bg][yellow]X[default][default-bg][black-bg][green]X[default][default-bg][black-bg][cyan]X[default][default-bg][black-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 2 1`] = `"[white-bg]X[default-bg][white-bg][black]X[default][default-bg][white-bg][white]X[default][default-bg][white-bg][gray]X[default][default-bg][white-bg][magenta]X[default][default-bg][white-bg][red]X[default][default-bg][white-bg][yellow]X[default][default-bg][white-bg][green]X[default][default-bg][white-bg][cyan]X[default][default-bg][white-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 3 1`] = `"[gray-bg]X[default-bg][gray-bg][black]X[default][default-bg][gray-bg][white]X[default][default-bg][gray-bg][gray]X[default][default-bg][gray-bg][magenta]X[default][default-bg][gray-bg][red]X[default][default-bg][gray-bg][yellow]X[default][default-bg][gray-bg][green]X[default][default-bg][gray-bg][cyan]X[default][default-bg][gray-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 4 1`] = `"[magenta-bg]X[default-bg][magenta-bg][black]X[default][default-bg][magenta-bg][white]X[default][default-bg][magenta-bg][gray]X[default][default-bg][magenta-bg][magenta]X[default][default-bg][magenta-bg][red]X[default][default-bg][magenta-bg][yellow]X[default][default-bg][magenta-bg][green]X[default][default-bg][magenta-bg][cyan]X[default][default-bg][magenta-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 5 1`] = `"[red-bg]X[default-bg][red-bg][black]X[default][default-bg][red-bg][white]X[default][default-bg][red-bg][gray]X[default][default-bg][red-bg][magenta]X[default][default-bg][red-bg][red]X[default][default-bg][red-bg][yellow]X[default][default-bg][red-bg][green]X[default][default-bg][red-bg][cyan]X[default][default-bg][red-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 6 1`] = `"[yellow-bg]X[default-bg][yellow-bg][black]X[default][default-bg][yellow-bg][white]X[default][default-bg][yellow-bg][gray]X[default][default-bg][yellow-bg][magenta]X[default][default-bg][yellow-bg][red]X[default][default-bg][yellow-bg][yellow]X[default][default-bg][yellow-bg][green]X[default][default-bg][yellow-bg][cyan]X[default][default-bg][yellow-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 7 1`] = `"[green-bg]X[default-bg][green-bg][black]X[default][default-bg][green-bg][white]X[default][default-bg][green-bg][gray]X[default][default-bg][green-bg][magenta]X[default][default-bg][green-bg][red]X[default][default-bg][green-bg][yellow]X[default][default-bg][green-bg][green]X[default][default-bg][green-bg][cyan]X[default][default-bg][green-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 8 1`] = `"[cyan-bg]X[default-bg][cyan-bg][black]X[default][default-bg][cyan-bg][white]X[default][default-bg][cyan-bg][gray]X[default][default-bg][cyan-bg][magenta]X[default][default-bg][cyan-bg][red]X[default][default-bg][cyan-bg][yellow]X[default][default-bg][cyan-bg][green]X[default][default-bg][cyan-bg][cyan]X[default][default-bg][cyan-bg][blue]X[default][default-bg]"`; - -exports[`Colors writes color grid correctly: line 9 1`] = `"[blue-bg]X[default-bg][blue-bg][black]X[default][default-bg][blue-bg][white]X[default][default-bg][blue-bg][gray]X[default][default-bg][blue-bg][magenta]X[default][default-bg][blue-bg][red]X[default][default-bg][blue-bg][yellow]X[default][default-bg][blue-bg][green]X[default][default-bg][blue-bg][cyan]X[default][default-bg][blue-bg][blue]X[default][default-bg]"`; +exports[`Colors writes color grid correctly: line 0 1`] = ` +Array [ + "X", + "[black]X[default]", + "[white]X[default]", + "[gray]X[default]", + "[magenta]X[default]", + "[red]X[default]", + "[yellow]X[default]", + "[green]X[default]", + "[cyan]X[default]", + "[blue]X[default]", +] +`; + +exports[`Colors writes color grid correctly: line 1 1`] = ` +Array [ + "[black-bg]X[default-bg]", + "[black-bg][black]X[default][default-bg]", + "[black-bg][white]X[default][default-bg]", + "[black-bg][gray]X[default][default-bg]", + "[black-bg][magenta]X[default][default-bg]", + "[black-bg][red]X[default][default-bg]", + "[black-bg][yellow]X[default][default-bg]", + "[black-bg][green]X[default][default-bg]", + "[black-bg][cyan]X[default][default-bg]", + "[black-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 2 1`] = ` +Array [ + "[white-bg]X[default-bg]", + "[white-bg][black]X[default][default-bg]", + "[white-bg][white]X[default][default-bg]", + "[white-bg][gray]X[default][default-bg]", + "[white-bg][magenta]X[default][default-bg]", + "[white-bg][red]X[default][default-bg]", + "[white-bg][yellow]X[default][default-bg]", + "[white-bg][green]X[default][default-bg]", + "[white-bg][cyan]X[default][default-bg]", + "[white-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 3 1`] = ` +Array [ + "[gray-bg]X[default-bg]", + "[gray-bg][black]X[default][default-bg]", + "[gray-bg][white]X[default][default-bg]", + "[gray-bg][gray]X[default][default-bg]", + "[gray-bg][magenta]X[default][default-bg]", + "[gray-bg][red]X[default][default-bg]", + "[gray-bg][yellow]X[default][default-bg]", + "[gray-bg][green]X[default][default-bg]", + "[gray-bg][cyan]X[default][default-bg]", + "[gray-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 4 1`] = ` +Array [ + "[magenta-bg]X[default-bg]", + "[magenta-bg][black]X[default][default-bg]", + "[magenta-bg][white]X[default][default-bg]", + "[magenta-bg][gray]X[default][default-bg]", + "[magenta-bg][magenta]X[default][default-bg]", + "[magenta-bg][red]X[default][default-bg]", + "[magenta-bg][yellow]X[default][default-bg]", + "[magenta-bg][green]X[default][default-bg]", + "[magenta-bg][cyan]X[default][default-bg]", + "[magenta-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 5 1`] = ` +Array [ + "[red-bg]X[default-bg]", + "[red-bg][black]X[default][default-bg]", + "[red-bg][white]X[default][default-bg]", + "[red-bg][gray]X[default][default-bg]", + "[red-bg][magenta]X[default][default-bg]", + "[red-bg][red]X[default][default-bg]", + "[red-bg][yellow]X[default][default-bg]", + "[red-bg][green]X[default][default-bg]", + "[red-bg][cyan]X[default][default-bg]", + "[red-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 6 1`] = ` +Array [ + "[yellow-bg]X[default-bg]", + "[yellow-bg][black]X[default][default-bg]", + "[yellow-bg][white]X[default][default-bg]", + "[yellow-bg][gray]X[default][default-bg]", + "[yellow-bg][magenta]X[default][default-bg]", + "[yellow-bg][red]X[default][default-bg]", + "[yellow-bg][yellow]X[default][default-bg]", + "[yellow-bg][green]X[default][default-bg]", + "[yellow-bg][cyan]X[default][default-bg]", + "[yellow-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 7 1`] = ` +Array [ + "[green-bg]X[default-bg]", + "[green-bg][black]X[default][default-bg]", + "[green-bg][white]X[default][default-bg]", + "[green-bg][gray]X[default][default-bg]", + "[green-bg][magenta]X[default][default-bg]", + "[green-bg][red]X[default][default-bg]", + "[green-bg][yellow]X[default][default-bg]", + "[green-bg][green]X[default][default-bg]", + "[green-bg][cyan]X[default][default-bg]", + "[green-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 8 1`] = ` +Array [ + "[cyan-bg]X[default-bg]", + "[cyan-bg][black]X[default][default-bg]", + "[cyan-bg][white]X[default][default-bg]", + "[cyan-bg][gray]X[default][default-bg]", + "[cyan-bg][magenta]X[default][default-bg]", + "[cyan-bg][red]X[default][default-bg]", + "[cyan-bg][yellow]X[default][default-bg]", + "[cyan-bg][green]X[default][default-bg]", + "[cyan-bg][cyan]X[default][default-bg]", + "[cyan-bg][blue]X[default][default-bg]", +] +`; + +exports[`Colors writes color grid correctly: line 9 1`] = ` +Array [ + "[blue-bg]X[default-bg]", + "[blue-bg][black]X[default][default-bg]", + "[blue-bg][white]X[default][default-bg]", + "[blue-bg][gray]X[default][default-bg]", + "[blue-bg][magenta]X[default][default-bg]", + "[blue-bg][red]X[default][default-bg]", + "[blue-bg][yellow]X[default][default-bg]", + "[blue-bg][green]X[default][default-bg]", + "[blue-bg][cyan]X[default][default-bg]", + "[blue-bg][blue]X[default][default-bg]", +] +`; From 6bbd52bea737af02c92aebfac7e8be4fb3b677c7 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 19 Jan 2022 23:39:42 -0800 Subject: [PATCH 141/180] Rename Colors to Colorize. --- apps/heft/src/cli/HeftActionRunner.ts | 18 +- apps/rush/src/start-dev-docs.ts | 4 +- common/reviews/api/terminal.api.md | 2 +- .../heft-jest-plugin/src/HeftJestReporter.ts | 21 +- .../package-extractor/src/PackageExtractor.ts | 10 +- .../src/cli/RushPnpmCommandLineParser.ts | 18 +- .../rush-lib/src/logic/PackageJsonUpdater.ts | 10 +- .../rush-lib/src/logic/ProjectWatcher.ts | 6 +- .../deploy/DeployScenarioConfiguration.ts | 4 +- .../src/logic/operations/LegacySkipPlugin.ts | 6 +- .../rush-lib/src/logic/setup/KeyboardLoop.ts | 2 +- .../src/logic/setup/SetupPackageRegistry.ts | 10 +- libraries/terminal/src/AnsiEscape.ts | 2 +- .../terminal/src/{Colors.ts => Colorize.ts} | 52 ++-- libraries/terminal/src/Terminal.ts | 10 +- libraries/terminal/src/index.ts | 2 +- .../test/{Colors.test.ts => Colorize.test.ts} | 10 +- libraries/terminal/src/test/Terminal.test.ts | 269 +++++++++++------- ...ors.test.ts.snap => Colorize.test.ts.snap} | 68 ++--- .../terminal/src/test/createColorGrid.ts | 38 +-- libraries/terminal/src/test/write-colors.ts | 20 +- repo-scripts/repo-toolbox/src/ReadmeAction.ts | 10 +- .../src/AmazonS3Client.ts | 12 +- 23 files changed, 331 insertions(+), 273 deletions(-) rename libraries/terminal/src/{Colors.ts => Colorize.ts} (78%) rename libraries/terminal/src/test/{Colors.test.ts => Colorize.test.ts} (85%) rename libraries/terminal/src/test/__snapshots__/{Colors.test.ts.snap => Colorize.test.ts.snap} (63%) diff --git a/apps/heft/src/cli/HeftActionRunner.ts b/apps/heft/src/cli/HeftActionRunner.ts index 5ce2562dca6..b6bb1757caa 100644 --- a/apps/heft/src/cli/HeftActionRunner.ts +++ b/apps/heft/src/cli/HeftActionRunner.ts @@ -6,7 +6,7 @@ import { createInterface, type Interface as ReadlineInterface } from 'readline'; import os from 'os'; import { AlreadyReportedError, InternalError, type IPackageJson } from '@rushstack/node-core-library'; -import { Colors, ConsoleTerminalProvider, type ITerminal } from '@rushstack/terminal'; +import { Colorize, ConsoleTerminalProvider, type ITerminal } from '@rushstack/terminal'; import { type IOperationExecutionOptions, type IWatchLoopState, @@ -87,7 +87,7 @@ export function ensureCliAbortSignal(terminal: ITerminal): AbortSignal { process.exit(1); } else { terminal.writeLine( - Colors.yellow(Colors.bold(`Canceling... Press Ctrl+C again to forcibly terminate.`)) + Colorize.yellow(Colorize.bold(`Canceling... Press Ctrl+C again to forcibly terminate.`)) ); } @@ -144,8 +144,8 @@ export async function runWithLoggingAsync( const durationSeconds: number = Math.round(duration) / 1000; const finishedLoggingLine: string = `-------------------- ${finishedLoggingWord} (${durationSeconds}s) --------------------`; terminal.writeLine( - Colors.bold( - (encounteredError ? Colors.red : encounteredWarnings ? Colors.yellow : Colors.green)( + Colorize.bold( + (encounteredError ? Colorize.red : encounteredWarnings ? Colorize.yellow : Colorize.green)( finishedLoggingLine ) ) @@ -307,7 +307,7 @@ export class HeftActionRunner { await watchLoop.runIPCAsync(); } else { await watchLoop.runUntilAbortedAsync(cliAbortSignal, () => { - terminal.writeLine(Colors.bold('Waiting for changes. Press CTRL + C to exit...')); + terminal.writeLine(Colorize.bold('Waiting for changes. Press CTRL + C to exit...')); terminal.writeLine(''); }); } @@ -330,16 +330,16 @@ export class HeftActionRunner { // Write an empty line to the terminal for separation between iterations. We've already iterated // at this point, so log out that we're about to start a new run. terminal.writeLine(''); - terminal.writeLine(Colors.bold('Starting incremental build...')); + terminal.writeLine(Colorize.bold('Starting incremental build...')); }, executeAsync: (state: IWatchLoopState): Promise => { return this._executeOnceAsync(executionManager, state.abortSignal, state.requestRun); }, onRequestRun: (requestor?: string) => { - terminal.writeLine(Colors.bold(`New run requested by ${requestor || 'unknown task'}`)); + terminal.writeLine(Colorize.bold(`New run requested by ${requestor || 'unknown task'}`)); }, onAbort: () => { - terminal.writeLine(Colors.bold(`Cancelling incremental build...`)); + terminal.writeLine(Colorize.bold(`Cancelling incremental build...`)); } }); return watchLoop; @@ -386,7 +386,7 @@ export class HeftActionRunner { // Only write once, and write with yellow to make it stand out without writing a warning to stderr hasWarnedAboutSkippedPhases = true; this._terminal.writeLine( - Colors.bold( + Colorize.bold( 'The provided list of phases does not contain all phase dependencies. You may need to run the ' + 'excluded phases manually.' ) diff --git a/apps/rush/src/start-dev-docs.ts b/apps/rush/src/start-dev-docs.ts index 555d04e919e..be5089d5130 100644 --- a/apps/rush/src/start-dev-docs.ts +++ b/apps/rush/src/start-dev-docs.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Colors, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; +import { Colorize, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); terminal.writeLine('For instructions on debugging Rush, please see this documentation:'); -terminal.writeLine(Colors.bold('https://rushjs.io/pages/contributing/debugging/')); +terminal.writeLine(Colorize.bold('https://rushjs.io/pages/contributing/debugging/')); diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index 84118c97836..8d0b38b9600 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -27,7 +27,7 @@ export class CallbackWritable extends TerminalWritable { } // @beta -export class Colors { +export class Colorize { // (undocumented) static black(text: string): string; // (undocumented) diff --git a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts index 1cc2bda72e2..5d0ce0b6a4f 100644 --- a/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts +++ b/heft-plugins/heft-jest-plugin/src/HeftJestReporter.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { InternalError, Text } from '@rushstack/node-core-library'; -import { type ITerminal, Colors } from '@rushstack/terminal'; +import { type ITerminal, Colorize } from '@rushstack/terminal'; import type { Reporter, Test, @@ -46,7 +46,7 @@ export default class HeftJestReporter implements Reporter { public async onTestStart(test: Test): Promise { this._terminal.writeLine( - Colors.whiteBackground(Colors.black('START')), + Colorize.whiteBackground(Colorize.black('START')), ` ${this._getTestPath(test.path)}` ); } @@ -75,11 +75,14 @@ export default class HeftJestReporter implements Reporter { `(duration: ${duration}, ${numPassingTests} passed, ${numFailingTests} failed${memUsage})`; if (numFailingTests > 0) { - this._terminal.writeLine(Colors.redBackground(Colors.black('FAIL')), message); + this._terminal.writeLine(Colorize.redBackground(Colorize.black('FAIL')), message); } else if (testExecError) { - this._terminal.writeLine(Colors.redBackground(Colors.black(`FAIL (${testExecError.type})`)), message); + this._terminal.writeLine( + Colorize.redBackground(Colorize.black(`FAIL (${testExecError.type})`)), + message + ); } else { - this._terminal.writeLine(Colors.greenBackground(Colors.black('PASS')), message); + this._terminal.writeLine(Colorize.greenBackground(Colorize.black('PASS')), message); } if (failureMessage) { @@ -164,7 +167,7 @@ export default class HeftJestReporter implements Reporter { const PAD_LENGTH: number = 13; // "console.error" is the longest label const paddedLabel: string = '|' + label.padStart(PAD_LENGTH) + '|'; - const prefix: string = debug ? Colors.yellow(paddedLabel) : Colors.cyan(paddedLabel); + const prefix: string = debug ? Colorize.yellow(paddedLabel) : Colorize.cyan(paddedLabel); for (const line of lines) { this._terminal.writeLine(prefix, ' ' + line); @@ -190,13 +193,13 @@ export default class HeftJestReporter implements Reporter { this._terminal.writeLine('Tests finished:'); const successesText: string = ` Successes: ${numPassedTests}`; - this._terminal.writeLine(numPassedTests > 0 ? Colors.green(successesText) : successesText); + this._terminal.writeLine(numPassedTests > 0 ? Colorize.green(successesText) : successesText); const failText: string = ` Failures: ${numFailedTests}`; - this._terminal.writeLine(numFailedTests > 0 ? Colors.red(failText) : failText); + this._terminal.writeLine(numFailedTests > 0 ? Colorize.red(failText) : failText); if (numRuntimeErrorTestSuites) { - this._terminal.writeLine(Colors.red(` Failed test suites: ${numRuntimeErrorTestSuites}`)); + this._terminal.writeLine(Colorize.red(` Failed test suites: ${numRuntimeErrorTestSuites}`)); } this._terminal.writeLine(` Total: ${numTotalTests}`); diff --git a/libraries/package-extractor/src/PackageExtractor.ts b/libraries/package-extractor/src/PackageExtractor.ts index a5bc7d9d061..b38bee90483 100644 --- a/libraries/package-extractor/src/PackageExtractor.ts +++ b/libraries/package-extractor/src/PackageExtractor.ts @@ -18,7 +18,7 @@ import { AlreadyExistsBehavior, type IPackageJson } from '@rushstack/node-core-library'; -import { Colors, type ITerminal } from '@rushstack/terminal'; +import { Colorize, type ITerminal } from '@rushstack/terminal'; import { ArchiveManager } from './ArchiveManager'; import { SymlinkAnalyzer, type ILinkInfo, type PathNode } from './SymlinkAnalyzer'; @@ -304,8 +304,8 @@ export class PackageExtractor { await FileSystem.ensureFolderAsync(targetRootFolder); - terminal.writeLine(Colors.cyan(`Extracting to target folder: ${targetRootFolder}`)); - terminal.writeLine(Colors.cyan(`Main project for extraction: ${mainProjectName}`)); + terminal.writeLine(Colorize.cyan(`Extracting to target folder: ${targetRootFolder}`)); + terminal.writeLine(Colorize.cyan(`Main project for extraction: ${mainProjectName}`)); try { const existingExtraction: boolean = @@ -391,7 +391,7 @@ export class PackageExtractor { } for (const { projectName, projectFolder } of includedProjectsSet) { - terminal.writeLine(Colors.cyan(`Analyzing project: ${projectName}`)); + terminal.writeLine(Colorize.cyan(`Analyzing project: ${projectName}`)); await this._collectFoldersAsync(projectFolder, options, state); } @@ -1009,7 +1009,7 @@ export class PackageExtractor { extractedProjectNodeModulesFolder, extractedProjectBinFolder, { - warn: (msg: string) => terminal.writeLine(Colors.yellow(msg)) + warn: (msg: string) => terminal.writeLine(Colorize.yellow(msg)) } ); diff --git a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts index b60a6d746f7..b9046ab86d0 100644 --- a/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts +++ b/libraries/rush-lib/src/cli/RushPnpmCommandLineParser.ts @@ -13,7 +13,7 @@ import { type JsonObject } from '@rushstack/node-core-library'; import { - Colors, + Colorize, ConsoleTerminalProvider, type ITerminal, type ITerminalProvider, @@ -111,13 +111,13 @@ export class RushPnpmCommandLineParser { if (!FileSystem.exists(workspaceFilePath)) { this._terminal.writeErrorLine('Error: The PNPM workspace file has not been generated:'); this._terminal.writeErrorLine(` ${workspaceFilePath}\n`); - this._terminal.writeLine(Colors.cyan(`Do you need to run "rush install" or "rush update"?`)); + this._terminal.writeLine(Colorize.cyan(`Do you need to run "rush install" or "rush update"?`)); throw new AlreadyReportedError(); } if (!FileSystem.exists(rushConfiguration.packageManagerToolFilename)) { this._terminal.writeErrorLine('Error: The PNPM local binary has not been installed yet.'); - this._terminal.writeLine('\n' + Colors.cyan(`Do you need to run "rush install" or "rush update"?`)); + this._terminal.writeLine('\n' + Colorize.cyan(`Do you need to run "rush install" or "rush update"?`)); throw new AlreadyReportedError(); } @@ -196,7 +196,7 @@ export class RushPnpmCommandLineParser { this._terminal.writeErrorLine( `Warning: The "rush-pnpm" wrapper expects a command verb before "${firstArg}"\n` ); - this._terminal.writeLine(Colors.cyan(BYPASS_NOTICE)); + this._terminal.writeLine(Colorize.cyan(BYPASS_NOTICE)); throw new AlreadyReportedError(); } else { const commandName: string = firstArg; @@ -230,7 +230,7 @@ export class RushPnpmCommandLineParser { `Error: The "pnpm ${commandName}" command is known to be incompatible with Rush's environment.` ) + '\n' ); - this._terminal.writeLine(Colors.cyan(BYPASS_NOTICE)); + this._terminal.writeLine(Colorize.cyan(BYPASS_NOTICE)); throw new AlreadyReportedError(); } @@ -248,7 +248,7 @@ export class RushPnpmCommandLineParser { ` Use the "rush install" or "rush update" commands instead.` ) + '\n' ); - this._terminal.writeLine(Colors.cyan(BYPASS_NOTICE)); + this._terminal.writeLine(Colorize.cyan(BYPASS_NOTICE)); throw new AlreadyReportedError(); } @@ -341,7 +341,7 @@ export class RushPnpmCommandLineParser { `Error: The "pnpm ${commandName}" command has not been tested with Rush's environment. It may be incompatible.` ) + '\n' ); - this._terminal.writeLine(Colors.cyan(BYPASS_NOTICE)); + this._terminal.writeLine(Colorize.cyan(BYPASS_NOTICE)); } } /* eslint-enable no-fallthrough */ @@ -448,12 +448,12 @@ export class RushPnpmCommandLineParser { private async _doRushUpdateAsync(): Promise { if (this._rushConfiguration.subspacesFeatureEnabled) { - this._terminal.writeLine(Colors.red('The rush-pnpm command is not yet supported for subspaces.')); + this._terminal.writeLine(Colorize.red('The rush-pnpm command is not yet supported for subspaces.')); throw new AlreadyReportedError(); } this._terminal.writeLine(); - this._terminal.writeLine(Colors.green('Running "rush update"')); + this._terminal.writeLine(Colorize.green('Running "rush update"')); this._terminal.writeLine(); const rushGlobalFolder: RushGlobalFolder = new RushGlobalFolder(); diff --git a/libraries/rush-lib/src/logic/PackageJsonUpdater.ts b/libraries/rush-lib/src/logic/PackageJsonUpdater.ts index c57d795bba0..8599b5d9b7e 100644 --- a/libraries/rush-lib/src/logic/PackageJsonUpdater.ts +++ b/libraries/rush-lib/src/logic/PackageJsonUpdater.ts @@ -4,7 +4,7 @@ import colors from 'colors/safe'; import * as semver from 'semver'; import type * as NpmCheck from 'npm-check'; -import { ConsoleTerminalProvider, Terminal, type ITerminalProvider, Colors } from '@rushstack/terminal'; +import { ConsoleTerminalProvider, Terminal, type ITerminalProvider, Colorize } from '@rushstack/terminal'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { BaseInstallManager } from './base/BaseInstallManager'; @@ -263,7 +263,7 @@ export class PackageJsonUpdater { const { skipUpdate, debugInstall, variant } = options; for (const { project } of allPackageUpdates) { if (project.saveIfModified()) { - this._terminal.writeLine(Colors.green('Wrote'), project.filePath); + this._terminal.writeLine(Colorize.green('Wrote'), project.filePath); } } @@ -287,7 +287,7 @@ export class PackageJsonUpdater { variant: string | undefined ): Promise { this._terminal.writeLine(); - this._terminal.writeLine(Colors.green('Running "rush update"')); + this._terminal.writeLine(Colorize.green('Running "rush update"')); this._terminal.writeLine(); const purgeManager: PurgeManager = new PurgeManager(this._rushConfiguration, this._rushGlobalFolder); @@ -363,9 +363,9 @@ export class PackageJsonUpdater { dependenciesToAddOrUpdate[packageName] = version; this._terminal.writeLine( - Colors.green('Updating projects to use'), + Colorize.green('Updating projects to use'), `${packageName}@`, - Colors.cyan(version) + Colorize.cyan(version) ); this._terminal.writeLine(); diff --git a/libraries/rush-lib/src/logic/ProjectWatcher.ts b/libraries/rush-lib/src/logic/ProjectWatcher.ts index c7fad919171..1fe8b36a459 100644 --- a/libraries/rush-lib/src/logic/ProjectWatcher.ts +++ b/libraries/rush-lib/src/logic/ProjectWatcher.ts @@ -7,7 +7,7 @@ import * as readline from 'readline'; import { once } from 'events'; import { getRepoRoot } from '@rushstack/package-deps-hash'; import { Path, type FileSystemStats, FileSystem } from '@rushstack/node-core-library'; -import { Colors, type ITerminal } from '@rushstack/terminal'; +import { Colorize, type ITerminal } from '@rushstack/terminal'; import { Git } from './Git'; import { ProjectChangeAnalyzer } from './ProjectChangeAnalyzer'; @@ -318,8 +318,8 @@ export class ProjectWatcher { } this._terminal.write( - Colors.bold( - Colors.cyan( + Colorize.bold( + Colorize.cyan( `[${this.isPaused ? 'PAUSED' : 'WATCHING'}] Watch Status: ${status} ${ this.isPaused ? 'Press to resume. Press to build once.' : 'Press to pause.' }` diff --git a/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts b/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts index 03af0ab324c..13a4d93c55e 100644 --- a/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts +++ b/libraries/rush-lib/src/logic/deploy/DeployScenarioConfiguration.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { FileSystem, JsonFile, JsonSchema } from '@rushstack/node-core-library'; -import { Colors, type ITerminal } from '@rushstack/terminal'; +import { Colorize, type ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import schemaJson from '../../schemas/deploy-scenario.schema.json'; @@ -105,7 +105,7 @@ export class DeployScenarioConfiguration { throw new Error('The scenario config file was not found: ' + scenarioFilePath); } - terminal.writeLine(Colors.cyan(`Loading deployment scenario: ${scenarioFilePath}`)); + terminal.writeLine(Colorize.cyan(`Loading deployment scenario: ${scenarioFilePath}`)); const deployScenarioJson: IDeployScenarioJson = JsonFile.loadAndValidate( scenarioFilePath, diff --git a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts index bbba06e21e1..d8461920dad 100644 --- a/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts +++ b/libraries/rush-lib/src/logic/operations/LegacySkipPlugin.ts @@ -4,7 +4,7 @@ import path from 'node:path'; import { Async, FileSystem, JsonFile, type JsonObject } from '@rushstack/node-core-library'; -import { PrintUtilities, Colors, type ITerminal } from '@rushstack/terminal'; +import { PrintUtilities, Colorize, type ITerminal } from '@rushstack/terminal'; import type { Operation } from './Operation'; import { OperationStatus } from './OperationStatus'; @@ -134,7 +134,7 @@ export class LegacySkipPlugin implements IPhasedCommandPlugin { (error as Error).toString() ); terminal.writeLine( - Colors.cyan('Rush will proceed without incremental execution and change detection.') + Colorize.cyan('Rush will proceed without incremental execution and change detection.') ); } @@ -149,7 +149,7 @@ export class LegacySkipPlugin implements IPhasedCommandPlugin { // To test this code path: // Remove the `.git` folder then run "rush build --verbose" terminal.writeLine( - Colors.cyan( + Colorize.cyan( PrintUtilities.wrapWords( 'This workspace does not appear to be tracked by Git. ' + 'Rush will proceed without incremental execution, caching, and change detection.' diff --git a/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts b/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts index 5918051858f..b5dfd578442 100644 --- a/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts +++ b/libraries/rush-lib/src/logic/setup/KeyboardLoop.ts @@ -7,7 +7,7 @@ import * as process from 'process'; import { AlreadyReportedError, InternalError } from '@rushstack/node-core-library'; // TODO: Integrate these into the AnsiEscape API in @rushstack/terminal -// As part of that work we should generalize the "Colors" API to support more general +// As part of that work we should generalize the "Colorize" API to support more general // terminal escapes, and simplify the interface for that API. const ANSI_ESCAPE_SHOW_CURSOR: string = '\u001B[?25l'; const ANSI_ESCAPE_HIDE_CURSOR: string = '\u001B[?25h'; diff --git a/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts b/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts index 044d445d844..d1e80c5cd42 100644 --- a/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts +++ b/libraries/rush-lib/src/logic/setup/SetupPackageRegistry.ts @@ -12,7 +12,7 @@ import { NewlineKind, Text } from '@rushstack/node-core-library'; -import { PrintUtilities, Colors, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; +import { PrintUtilities, Colorize, ConsoleTerminalProvider, Terminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; import { Utilities } from '../../utilities/Utilities'; @@ -237,7 +237,7 @@ export class SetupPackageRegistry { this._artifactoryConfiguration.configuration.packageRegistry.artifactoryWebsiteUrl; if (artifactoryWebsiteUrl) { - this._terminal.writeLine(' ', Colors.cyan(artifactoryWebsiteUrl)); + this._terminal.writeLine(' ', Colorize.cyan(artifactoryWebsiteUrl)); this._terminal.writeLine(); } } @@ -251,7 +251,7 @@ export class SetupPackageRegistry { artifactoryUser = artifactoryUser.trim(); if (artifactoryUser.length === 0) { - this._terminal.writeLine(Colors.red('Operation aborted because the input was empty')); + this._terminal.writeLine(Colorize.red('Operation aborted because the input was empty')); this._terminal.writeLine(); throw new AlreadyReportedError(); } @@ -265,7 +265,7 @@ export class SetupPackageRegistry { artifactoryKey = artifactoryKey.trim(); if (artifactoryKey.length === 0) { - this._terminal.writeLine(Colors.red('Operation aborted because the input was empty')); + this._terminal.writeLine(Colorize.red('Operation aborted because the input was empty')); this._terminal.writeLine(); throw new AlreadyReportedError(); } @@ -394,7 +394,7 @@ export class SetupPackageRegistry { } this._terminal.writeLine(); - this._terminal.writeLine(Colors.green('Adding Artifactory token to: '), npmrcPath); + this._terminal.writeLine(Colorize.green('Adding Artifactory token to: '), npmrcPath); const npmrcLines: string[] = []; diff --git a/libraries/terminal/src/AnsiEscape.ts b/libraries/terminal/src/AnsiEscape.ts index f3b89f46abe..5fedab00a55 100644 --- a/libraries/terminal/src/AnsiEscape.ts +++ b/libraries/terminal/src/AnsiEscape.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleColorCodes } from './Colors'; +import { ConsoleColorCodes } from './Colorize'; /** * Options for {@link AnsiEscape.formatForTests}. diff --git a/libraries/terminal/src/Colors.ts b/libraries/terminal/src/Colorize.ts similarity index 78% rename from libraries/terminal/src/Colors.ts rename to libraries/terminal/src/Colorize.ts index 8582ed57852..3c7e8955caa 100644 --- a/libraries/terminal/src/Colors.ts +++ b/libraries/terminal/src/Colorize.ts @@ -50,13 +50,13 @@ export enum ConsoleColorCodes { * for use with the node-core-library terminal. * * @example - * terminal.writeLine(Colors.green('Green Text!'), ' ', Colors.blue('Blue Text!')); + * terminal.writeLine(Colorize.green('Green Text!'), ' ', Colorize.blue('Blue Text!')); * * @beta */ -export class Colors { +export class Colorize { public static black(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.BlackForeground, ConsoleColorCodes.DefaultForeground, text @@ -64,7 +64,7 @@ export class Colors { } public static red(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.RedForeground, ConsoleColorCodes.DefaultForeground, text @@ -72,7 +72,7 @@ export class Colors { } public static green(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.GreenForeground, ConsoleColorCodes.DefaultForeground, text @@ -80,7 +80,7 @@ export class Colors { } public static yellow(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.YellowForeground, ConsoleColorCodes.DefaultForeground, text @@ -88,7 +88,7 @@ export class Colors { } public static blue(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.BlueForeground, ConsoleColorCodes.DefaultForeground, text @@ -96,7 +96,7 @@ export class Colors { } public static magenta(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.MagentaForeground, ConsoleColorCodes.DefaultForeground, text @@ -104,7 +104,7 @@ export class Colors { } public static cyan(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.CyanForeground, ConsoleColorCodes.DefaultForeground, text @@ -112,7 +112,7 @@ export class Colors { } public static white(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.WhiteForeground, ConsoleColorCodes.DefaultForeground, text @@ -120,7 +120,7 @@ export class Colors { } public static gray(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.GrayForeground, ConsoleColorCodes.DefaultForeground, text @@ -128,7 +128,7 @@ export class Colors { } public static blackBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.BlackBackground, ConsoleColorCodes.DefaultBackground, text @@ -136,7 +136,7 @@ export class Colors { } public static redBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.RedBackground, ConsoleColorCodes.DefaultBackground, text @@ -144,7 +144,7 @@ export class Colors { } public static greenBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.GreenBackground, ConsoleColorCodes.DefaultBackground, text @@ -152,7 +152,7 @@ export class Colors { } public static yellowBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.YellowBackground, ConsoleColorCodes.DefaultBackground, text @@ -160,7 +160,7 @@ export class Colors { } public static blueBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.BlueBackground, ConsoleColorCodes.DefaultBackground, text @@ -168,7 +168,7 @@ export class Colors { } public static magentaBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.MagentaBackground, ConsoleColorCodes.DefaultBackground, text @@ -176,7 +176,7 @@ export class Colors { } public static cyanBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.CyanBackground, ConsoleColorCodes.DefaultBackground, text @@ -184,7 +184,7 @@ export class Colors { } public static whiteBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.WhiteBackground, ConsoleColorCodes.DefaultBackground, text @@ -192,7 +192,7 @@ export class Colors { } public static grayBackground(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.GrayBackground, ConsoleColorCodes.DefaultBackground, text @@ -200,7 +200,7 @@ export class Colors { } public static bold(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.Bold, ConsoleColorCodes.NormalColorOrIntensity, text @@ -208,7 +208,7 @@ export class Colors { } public static dim(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.Dim, ConsoleColorCodes.NormalColorOrIntensity, text @@ -216,7 +216,7 @@ export class Colors { } public static underline(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.Underline, ConsoleColorCodes.UnderlineOff, text @@ -224,11 +224,11 @@ export class Colors { } public static blink(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Blink, ConsoleColorCodes.BlinkOff, text); + return Colorize._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Blink, ConsoleColorCodes.BlinkOff, text); } public static invertColor(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes( + return Colorize._wrapTextInAnsiEscapeCodes( ConsoleColorCodes.InvertColor, ConsoleColorCodes.InvertColorOff, text @@ -236,7 +236,7 @@ export class Colors { } public static hidden(text: string): string { - return Colors._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Hidden, ConsoleColorCodes.HiddenOff, text); + return Colorize._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Hidden, ConsoleColorCodes.HiddenOff, text); } private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string { diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index e8c9dac58c5..3d92241c574 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { Colors, ConsoleColorCodes } from './Colors'; +import { Colorize, ConsoleColorCodes } from './Colorize'; import type { ITerminal } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; @@ -89,7 +89,7 @@ export class Terminal implements ITerminal { */ public writeWarning(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map((part): string => Colors.yellow(AnsiEscape.removeCodes(part))), + messageParts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.warning, false ); @@ -100,7 +100,7 @@ export class Terminal implements ITerminal { */ public writeWarningLine(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map((part): string => Colors.yellow(AnsiEscape.removeCodes(part))), + messageParts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.warning, true ); @@ -111,7 +111,7 @@ export class Terminal implements ITerminal { */ public writeError(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map((part): string => Colors.red(AnsiEscape.removeCodes(part))), + messageParts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.error, false ); @@ -122,7 +122,7 @@ export class Terminal implements ITerminal { */ public writeErrorLine(...messageParts: string[]): void { this._writeSegmentsToProviders( - messageParts.map((part): string => Colors.red(AnsiEscape.removeCodes(part))), + messageParts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.error, true ); diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index d08691d6dff..82d56dafb72 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -32,7 +32,7 @@ export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewr export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; export { ITerminal } from './ITerminal'; export { Terminal } from './Terminal'; -export { Colors } from './Colors'; +export { Colorize } from './Colorize'; export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; export { ConsoleTerminalProvider, IConsoleTerminalProviderOptions } from './ConsoleTerminalProvider'; export { StringBufferTerminalProvider, IStringBufferOutputOptions } from './StringBufferTerminalProvider'; diff --git a/libraries/terminal/src/test/Colors.test.ts b/libraries/terminal/src/test/Colorize.test.ts similarity index 85% rename from libraries/terminal/src/test/Colors.test.ts rename to libraries/terminal/src/test/Colorize.test.ts index 71988940213..f617b0817fc 100644 --- a/libraries/terminal/src/test/Colors.test.ts +++ b/libraries/terminal/src/test/Colorize.test.ts @@ -2,10 +2,10 @@ // See LICENSE in the project root for license information. import { createColorGrid } from './createColorGrid'; -import { Colors } from '../Colors'; +import { Colorize } from '../Colorize'; import { AnsiEscape } from '../AnsiEscape'; -describe(Colors.name, () => { +describe(Colorize.name, () => { test('writes color grid correctly', () => { let lineCount: number = 0; for (const line of createColorGrid()) { @@ -19,10 +19,10 @@ describe(Colors.name, () => { it('generates codes as expected', () => { type ColorsFunctionNames = { - [K in keyof typeof Colors]: (typeof Colors)[K] extends (str: string) => string ? K : never; - }[keyof typeof Colors]; + [K in keyof typeof Colorize]: (typeof Colorize)[K] extends (str: string) => string ? K : never; + }[keyof typeof Colorize]; function testColorFunction(functionName: ColorsFunctionNames): void { - expect(Colors[functionName]('x')).toMatchSnapshot(functionName); + expect(Colorize[functionName]('x')).toMatchSnapshot(functionName); } testColorFunction('black'); diff --git a/libraries/terminal/src/test/Terminal.test.ts b/libraries/terminal/src/test/Terminal.test.ts index 166d5707ce4..3c04a33bcaf 100644 --- a/libraries/terminal/src/test/Terminal.test.ts +++ b/libraries/terminal/src/test/Terminal.test.ts @@ -3,7 +3,7 @@ import { Terminal } from '../Terminal'; import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; -import { Colors } from '../Colors'; +import { Colorize } from '../Colorize'; let terminal: Terminal; let provider: StringBufferTerminalProvider; @@ -37,17 +37,17 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.write(Colors.green('message 1')); + terminal.write(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.write(Colors.green('message 1'), Colors.red('message 2')); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -64,17 +64,17 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeLine(Colors.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -91,17 +91,22 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeWarning(Colors.green('message 1')); + terminal.writeWarning(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -118,21 +123,21 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeWarningLine(Colors.green('message 1')); + terminal.writeWarningLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarningLine( 'message 1', - Colors.green('message 2'), + Colorize.green('message 2'), 'message 3', - Colors.red('message 4') + Colorize.red('message 4') ); verifyProvider(); }); @@ -150,17 +155,17 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeError(Colors.green('message 1')); + terminal.writeError(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -177,17 +182,22 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeErrorLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -204,17 +214,22 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeVerbose(Colors.green('message 1')); + terminal.writeVerbose(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -231,21 +246,21 @@ describe('01 color enabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeVerboseLine(Colors.green('message 1')); + terminal.writeVerboseLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerboseLine( 'message 1', - Colors.green('message 2'), + Colorize.green('message 2'), 'message 3', - Colors.red('message 4') + Colorize.red('message 4') ); verifyProvider(); }); @@ -253,45 +268,55 @@ describe('01 color enabled', () => { }); it('05 writes to multiple streams', () => { - terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeWarningLine('message 1', 'message 2'); terminal.writeVerbose('test message'); - terminal.writeVerbose(Colors.green('message 1')); - terminal.writeLine(Colors.green('message 1')); - terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerbose(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeErrorLine('test message'); - terminal.writeVerboseLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); terminal.writeVerboseLine('test message'); - terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeError('message 1', 'message 2'); - terminal.write(Colors.green('message 1')); - terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write(Colorize.green('message 1')); + terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeErrorLine('message 1', 'message 2'); - terminal.write(Colors.green('message 1'), Colors.red('message 2')); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); terminal.writeVerbose('message 1', 'message 2'); - terminal.writeVerboseLine(Colors.green('message 1')); - terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeError(Colors.green('message 1')); - terminal.writeWarningLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerboseLine(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1')); + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); terminal.write('test message'); terminal.writeWarningLine('test message'); - terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); terminal.writeVerboseLine('message 1', 'message 2'); - terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); - terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeErrorLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeWarning('message 1', 'message 2'); - terminal.writeErrorLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1')); terminal.write('message 1', 'message 2'); - terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarning(Colors.green('message 1')); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning(Colorize.green('message 1')); terminal.writeLine('test message'); terminal.writeError('test message'); terminal.writeLine('message 1', 'message 2'); - terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarningLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1')); verifyProvider(); }); }); @@ -315,17 +340,17 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.write(Colors.green('message 1')); + terminal.write(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.write(Colors.green('message 1'), Colors.red('message 2')); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -342,17 +367,17 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeLine(Colors.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -369,17 +394,22 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeWarning(Colors.green('message 1')); + terminal.writeWarning(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -396,21 +426,21 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeWarningLine(Colors.green('message 1')); + terminal.writeWarningLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeWarningLine( 'message 1', - Colors.green('message 2'), + Colorize.green('message 2'), 'message 3', - Colors.red('message 4') + Colorize.red('message 4') ); verifyProvider(); }); @@ -428,17 +458,17 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeError(Colors.green('message 1')); + terminal.writeError(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -455,17 +485,22 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeErrorLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -482,17 +517,22 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeVerbose(Colors.green('message 1')); + terminal.writeVerbose(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); @@ -509,21 +549,21 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeVerboseLine(Colors.green('message 1')); + terminal.writeVerboseLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { terminal.writeVerboseLine( 'message 1', - Colors.green('message 2'), + Colorize.green('message 2'), 'message 3', - Colors.red('message 4') + Colorize.red('message 4') ); verifyProvider(); }); @@ -541,17 +581,17 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeDebug(Colors.green('message 1')); + terminal.writeDebug(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeDebug(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeDebug(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeDebug('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeDebug('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); verifyProvider(); }); }); @@ -568,62 +608,77 @@ describe('02 color disabled', () => { }); it('03 writes a message with colors', () => { - terminal.writeDebugLine(Colors.green('message 1')); + terminal.writeDebugLine(Colorize.green('message 1')); verifyProvider(); }); it('04 writes a multiple messages with colors', () => { - terminal.writeDebugLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeDebugLine(Colorize.green('message 1'), Colorize.red('message 2')); verifyProvider(); }); it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeDebugLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeDebugLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); verifyProvider(); }); }); }); it('05 writes to multiple streams', () => { - terminal.write('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeWarningLine('message 1', 'message 2'); terminal.writeVerbose('test message'); - terminal.writeVerbose(Colors.green('message 1')); - terminal.writeLine(Colors.green('message 1')); - terminal.writeError('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerbose(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeErrorLine('test message'); - terminal.writeVerboseLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); terminal.writeVerboseLine('test message'); - terminal.writeWarning(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarning('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeError('message 1', 'message 2'); - terminal.write(Colors.green('message 1')); - terminal.writeVerbose('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.write(Colorize.green('message 1')); + terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeErrorLine('message 1', 'message 2'); - terminal.write(Colors.green('message 1'), Colors.red('message 2')); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); terminal.writeVerbose('message 1', 'message 2'); - terminal.writeVerboseLine(Colors.green('message 1')); - terminal.writeLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeError(Colors.green('message 1')); - terminal.writeWarningLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeVerboseLine(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1')); + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); terminal.write('test message'); terminal.writeWarningLine('test message'); - terminal.writeVerboseLine(Colors.green('message 1'), Colors.red('message 2')); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); terminal.writeVerboseLine('message 1', 'message 2'); - terminal.writeErrorLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); - terminal.writeLine('message 1', Colors.green('message 2'), 'message 3', Colors.red('message 4')); + terminal.writeErrorLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); terminal.writeWarning('message 1', 'message 2'); - terminal.writeErrorLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1')); terminal.write('message 1', 'message 2'); - terminal.writeVerbose(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarning(Colors.green('message 1')); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning(Colorize.green('message 1')); terminal.writeLine('test message'); terminal.writeError('test message'); terminal.writeLine('message 1', 'message 2'); - terminal.writeErrorLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeError(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarningLine(Colors.green('message 1'), Colors.red('message 2')); - terminal.writeWarningLine(Colors.green('message 1')); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1')); verifyProvider(); }); }); diff --git a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Colorize.test.ts.snap similarity index 63% rename from libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap rename to libraries/terminal/src/test/__snapshots__/Colorize.test.ts.snap index 171b073c18e..00a6cc10b10 100644 --- a/libraries/terminal/src/test/__snapshots__/Colors.test.ts.snap +++ b/libraries/terminal/src/test/__snapshots__/Colorize.test.ts.snap @@ -1,54 +1,54 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Colors generates codes as expected: black 1`] = `"x"`; +exports[`Colorize generates codes as expected: black 1`] = `"x"`; -exports[`Colors generates codes as expected: blackBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: blackBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: blink 1`] = `"x"`; +exports[`Colorize generates codes as expected: blink 1`] = `"x"`; -exports[`Colors generates codes as expected: blue 1`] = `"x"`; +exports[`Colorize generates codes as expected: blue 1`] = `"x"`; -exports[`Colors generates codes as expected: blueBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: blueBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: bold 1`] = `"x"`; +exports[`Colorize generates codes as expected: bold 1`] = `"x"`; -exports[`Colors generates codes as expected: cyan 1`] = `"x"`; +exports[`Colorize generates codes as expected: cyan 1`] = `"x"`; -exports[`Colors generates codes as expected: cyanBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: cyanBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: dim 1`] = `"x"`; +exports[`Colorize generates codes as expected: dim 1`] = `"x"`; -exports[`Colors generates codes as expected: gray 1`] = `"x"`; +exports[`Colorize generates codes as expected: gray 1`] = `"x"`; -exports[`Colors generates codes as expected: grayBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: grayBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: green 1`] = `"x"`; +exports[`Colorize generates codes as expected: green 1`] = `"x"`; -exports[`Colors generates codes as expected: greenBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: greenBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: hidden 1`] = `"x"`; +exports[`Colorize generates codes as expected: hidden 1`] = `"x"`; -exports[`Colors generates codes as expected: invertColor 1`] = `"x"`; +exports[`Colorize generates codes as expected: invertColor 1`] = `"x"`; -exports[`Colors generates codes as expected: magenta 1`] = `"x"`; +exports[`Colorize generates codes as expected: magenta 1`] = `"x"`; -exports[`Colors generates codes as expected: magentaBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: magentaBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: red 1`] = `"x"`; +exports[`Colorize generates codes as expected: red 1`] = `"x"`; -exports[`Colors generates codes as expected: redBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: redBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: underline 1`] = `"x"`; +exports[`Colorize generates codes as expected: underline 1`] = `"x"`; -exports[`Colors generates codes as expected: white 1`] = `"x"`; +exports[`Colorize generates codes as expected: white 1`] = `"x"`; -exports[`Colors generates codes as expected: whiteBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: whiteBackground 1`] = `"x"`; -exports[`Colors generates codes as expected: yellow 1`] = `"x"`; +exports[`Colorize generates codes as expected: yellow 1`] = `"x"`; -exports[`Colors generates codes as expected: yellowBackground 1`] = `"x"`; +exports[`Colorize generates codes as expected: yellowBackground 1`] = `"x"`; -exports[`Colors writes color grid correctly: line 0 1`] = ` +exports[`Colorize writes color grid correctly: line 0 1`] = ` Array [ "X", "[black]X[default]", @@ -63,7 +63,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 1 1`] = ` +exports[`Colorize writes color grid correctly: line 1 1`] = ` Array [ "[black-bg]X[default-bg]", "[black-bg][black]X[default][default-bg]", @@ -78,7 +78,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 2 1`] = ` +exports[`Colorize writes color grid correctly: line 2 1`] = ` Array [ "[white-bg]X[default-bg]", "[white-bg][black]X[default][default-bg]", @@ -93,7 +93,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 3 1`] = ` +exports[`Colorize writes color grid correctly: line 3 1`] = ` Array [ "[gray-bg]X[default-bg]", "[gray-bg][black]X[default][default-bg]", @@ -108,7 +108,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 4 1`] = ` +exports[`Colorize writes color grid correctly: line 4 1`] = ` Array [ "[magenta-bg]X[default-bg]", "[magenta-bg][black]X[default][default-bg]", @@ -123,7 +123,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 5 1`] = ` +exports[`Colorize writes color grid correctly: line 5 1`] = ` Array [ "[red-bg]X[default-bg]", "[red-bg][black]X[default][default-bg]", @@ -138,7 +138,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 6 1`] = ` +exports[`Colorize writes color grid correctly: line 6 1`] = ` Array [ "[yellow-bg]X[default-bg]", "[yellow-bg][black]X[default][default-bg]", @@ -153,7 +153,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 7 1`] = ` +exports[`Colorize writes color grid correctly: line 7 1`] = ` Array [ "[green-bg]X[default-bg]", "[green-bg][black]X[default][default-bg]", @@ -168,7 +168,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 8 1`] = ` +exports[`Colorize writes color grid correctly: line 8 1`] = ` Array [ "[cyan-bg]X[default-bg]", "[cyan-bg][black]X[default][default-bg]", @@ -183,7 +183,7 @@ Array [ ] `; -exports[`Colors writes color grid correctly: line 9 1`] = ` +exports[`Colorize writes color grid correctly: line 9 1`] = ` Array [ "[blue-bg]X[default-bg]", "[blue-bg][black]X[default][default-bg]", diff --git a/libraries/terminal/src/test/createColorGrid.ts b/libraries/terminal/src/test/createColorGrid.ts index 3585e910372..a2dca2e2be3 100644 --- a/libraries/terminal/src/test/createColorGrid.ts +++ b/libraries/terminal/src/test/createColorGrid.ts @@ -5,33 +5,33 @@ * This file is a little program that prints all of the colors to the console */ -import { Colors } from '../index'; +import { Colorize } from '../index'; export function createColorGrid(attributeFunction?: (text: string) => string): string[][] { const foregroundFunctions: ((text: string) => string)[] = [ (text) => text, - Colors.black, - Colors.white, - Colors.gray, - Colors.magenta, - Colors.red, - Colors.yellow, - Colors.green, - Colors.cyan, - Colors.blue + Colorize.black, + Colorize.white, + Colorize.gray, + Colorize.magenta, + Colorize.red, + Colorize.yellow, + Colorize.green, + Colorize.cyan, + Colorize.blue ]; const backgroundFunctions: ((text: string) => string)[] = [ (text) => text, - Colors.blackBackground, - Colors.whiteBackground, - Colors.grayBackground, - Colors.magentaBackground, - Colors.redBackground, - Colors.yellowBackground, - Colors.greenBackground, - Colors.cyanBackground, - Colors.blueBackground + Colorize.blackBackground, + Colorize.whiteBackground, + Colorize.grayBackground, + Colorize.magentaBackground, + Colorize.redBackground, + Colorize.yellowBackground, + Colorize.greenBackground, + Colorize.cyanBackground, + Colorize.blueBackground ]; const lines: string[][] = []; diff --git a/libraries/terminal/src/test/write-colors.ts b/libraries/terminal/src/test/write-colors.ts index 588994992f0..03a2f74ba07 100644 --- a/libraries/terminal/src/test/write-colors.ts +++ b/libraries/terminal/src/test/write-colors.ts @@ -7,7 +7,7 @@ * Run this program with `node write-colors.js` */ -import { Terminal, ConsoleTerminalProvider, Colors } from '../index'; +import { Terminal, ConsoleTerminalProvider, Colorize } from '../index'; import { createColorGrid } from './createColorGrid'; const terminal: Terminal = new Terminal(new ConsoleTerminalProvider()); @@ -19,24 +19,24 @@ function writeColorGrid(colorGrid: string[][]): void { writeColorGrid(createColorGrid()); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.bold)); +writeColorGrid(createColorGrid(Colorize.bold)); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.dim)); +writeColorGrid(createColorGrid(Colorize.dim)); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.underline)); +writeColorGrid(createColorGrid(Colorize.underline)); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.blink)); +writeColorGrid(createColorGrid(Colorize.blink)); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.invertColor)); +writeColorGrid(createColorGrid(Colorize.invertColor)); terminal.writeLine(); -writeColorGrid(createColorGrid(Colors.hidden)); +writeColorGrid(createColorGrid(Colorize.hidden)); terminal.writeLine(); terminal.write('Normal text...'); -terminal.writeLine(Colors.green('done')); +terminal.writeLine(Colorize.green('done')); terminal.writeError('Error...'); -terminal.writeErrorLine(Colors.green('done')); +terminal.writeErrorLine(Colorize.green('done')); terminal.writeWarning('Warning...'); -terminal.writeWarningLine(Colors.green('done')); +terminal.writeWarningLine(Colorize.green('done')); diff --git a/repo-scripts/repo-toolbox/src/ReadmeAction.ts b/repo-scripts/repo-toolbox/src/ReadmeAction.ts index a73f3cea80d..8f9f0671150 100644 --- a/repo-scripts/repo-toolbox/src/ReadmeAction.ts +++ b/repo-scripts/repo-toolbox/src/ReadmeAction.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { StringBuilder, Sort, FileSystem, Text, AlreadyReportedError } from '@rushstack/node-core-library'; -import { Terminal, ConsoleTerminalProvider, Colors } from '@rushstack/terminal'; +import { Terminal, ConsoleTerminalProvider, Colorize } from '@rushstack/terminal'; import { RushConfiguration, type RushConfigurationProject, LockStepVersionPolicy } from '@microsoft/rush-lib'; import { CommandLineAction, type CommandLineFlagParameter } from '@rushstack/ts-command-line'; import * as Diff from 'diff'; @@ -157,13 +157,13 @@ export class ReadmeAction extends CommandLineAction { let colorizer: (text: string) => string; if (change.added) { linePrefix = '+ '; - colorizer = Colors.green; + colorizer = Colorize.green; } else if (change.removed) { linePrefix = '- '; - colorizer = Colors.red; + colorizer = Colorize.red; } else { linePrefix = ' '; - colorizer = Colors.gray; + colorizer = Colorize.gray; } for (const line of lines) { @@ -182,7 +182,7 @@ export class ReadmeAction extends CommandLineAction { terminal.writeLine(`Writing ${repoReadmePath}`); await FileSystem.writeFileAsync(repoReadmePath, readmeString); terminal.writeLine(); - terminal.writeLine(Colors.green('\nSuccess.')); + terminal.writeLine(Colorize.green('\nSuccess.')); } } else { // eslint-disable-next-line no-console diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts index e005b85f2ba..e3b627df50a 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/src/AmazonS3Client.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { Async } from '@rushstack/node-core-library'; -import { Colors, type ITerminal } from '@rushstack/terminal'; +import { Colorize, type ITerminal } from '@rushstack/terminal'; import * as crypto from 'crypto'; import * as fetch from 'node-fetch'; @@ -204,7 +204,7 @@ export class AmazonS3Client { // the host can be e.g. https://s3.aws.com or http://localhost:9000 const host: string = this._s3Endpoint.replace(protocolRegex, ''); const canonicalUri: string = AmazonS3Client.UriEncode(`/${objectName}`); - this._writeDebugLine(Colors.bold('Canonical URI: '), canonicalUri); + this._writeDebugLine(Colorize.bold('Canonical URI: '), canonicalUri); if (this._credentials) { // Compute the authorization header. See https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html @@ -303,11 +303,11 @@ export class AmazonS3Client { const url: string = `${this._s3Endpoint}${canonicalUri}`; - this._writeDebugLine(Colors.bold(Colors.underline('Sending request to S3'))); - this._writeDebugLine(Colors.bold('HOST: '), url); - this._writeDebugLine(Colors.bold('Headers: ')); + this._writeDebugLine(Colorize.bold(Colorize.underline('Sending request to S3'))); + this._writeDebugLine(Colorize.bold('HOST: '), url); + this._writeDebugLine(Colorize.bold('Headers: ')); headers.forEach((value, name) => { - this._writeDebugLine(Colors.cyan(`\t${name}: ${value}`)); + this._writeDebugLine(Colorize.cyan(`\t${name}: ${value}`)); }); const response: fetch.Response = await this._webClient.fetchAsync(url, webFetchOptions); From a1ee82715d6555d7f786def275de1444c42ab762 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Thu, 12 Oct 2023 01:47:59 -0400 Subject: [PATCH 142/180] Create a write mode where colors aren't overridden. --- common/reviews/api/terminal.api.md | 48 +- .../src/api/CustomTipsConfiguration.ts | 7 +- .../CustomTipsConfiguration.test.ts.snap | 54 +- libraries/terminal/src/ITerminal.ts | 36 +- libraries/terminal/src/Terminal.ts | 84 +- libraries/terminal/src/index.ts | 2 +- libraries/terminal/src/test/Terminal.test.ts | 1549 ++++++++++------- .../test/__snapshots__/Terminal.test.ts.snap | 364 +++- 8 files changed, 1310 insertions(+), 834 deletions(-) diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index 8d0b38b9600..187782b46f0 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -168,16 +168,16 @@ export interface IStringBufferOutputOptions { export interface ITerminal { registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: string[]): void; - writeDebug(...messageParts: string[]): void; - writeDebugLine(...messageParts: string[]): void; - writeError(...messageParts: string[]): void; - writeErrorLine(...messageParts: string[]): void; - writeLine(...messageParts: string[]): void; - writeVerbose(...messageParts: string[]): void; - writeVerboseLine(...messageParts: string[]): void; - writeWarning(...messageParts: string[]): void; - writeWarningLine(...messageParts: string[]): void; + write(...messageParts: WriteParameters): void; + writeDebug(...messageParts: WriteParameters): void; + writeDebugLine(...messageParts: WriteParameters): void; + writeError(...messageParts: WriteParameters): void; + writeErrorLine(...messageParts: WriteParameters): void; + writeLine(...messageParts: WriteParameters): void; + writeVerbose(...messageParts: WriteParameters): void; + writeVerboseLine(...messageParts: WriteParameters): void; + writeWarning(...messageParts: WriteParameters): void; + writeWarningLine(...messageParts: WriteParameters): void; } // @public @@ -219,6 +219,11 @@ export interface ITextRewriterTransformOptions extends ITerminalTransformOptions textRewriters?: TextRewriter[]; } +// @beta (undocumented) +export interface IWriteOptions { + doNotOverrideSgrCodes?: boolean; +} + // @beta export class MockWritable extends TerminalWritable { // (undocumented) @@ -337,16 +342,16 @@ export class Terminal implements ITerminal { constructor(provider: ITerminalProvider); registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: string[]): void; - writeDebug(...messageParts: string[]): void; - writeDebugLine(...messageParts: string[]): void; - writeError(...messageParts: string[]): void; - writeErrorLine(...messageParts: string[]): void; - writeLine(...messageParts: string[]): void; - writeVerbose(...messageParts: string[]): void; - writeVerboseLine(...messageParts: string[]): void; - writeWarning(...messageParts: string[]): void; - writeWarningLine(...messageParts: string[]): void; + write(...messageParts: WriteParameters): void; + writeDebug(...messageParts: WriteParameters): void; + writeDebugLine(...messageParts: WriteParameters): void; + writeError(...messageParts: WriteParameters): void; + writeErrorLine(...messageParts: WriteParameters): void; + writeLine(...messageParts: WriteParameters): void; + writeVerbose(...messageParts: WriteParameters): void; + writeVerboseLine(...messageParts: WriteParameters): void; + writeWarning(...messageParts: WriteParameters): void; + writeWarningLine(...messageParts: WriteParameters): void; } // @public @@ -424,4 +429,7 @@ export class TextRewriterTransform extends TerminalTransform { readonly textRewriters: ReadonlyArray; } +// @beta (undocumented) +export type WriteParameters = string[] | [...string[], IWriteOptions]; + ``` diff --git a/libraries/rush-lib/src/api/CustomTipsConfiguration.ts b/libraries/rush-lib/src/api/CustomTipsConfiguration.ts index ba7daa5d5f0..baf2c793712 100644 --- a/libraries/rush-lib/src/api/CustomTipsConfiguration.ts +++ b/libraries/rush-lib/src/api/CustomTipsConfiguration.ts @@ -328,7 +328,10 @@ export class CustomTipsConfiguration { private _writeMessageWithPipes(terminal: ITerminal, severity: CustomTipSeverity, tipId: CustomTipId): void { const customTipJsonItem: ICustomTipItemJson | undefined = this.providedCustomTipsByTipId.get(tipId); if (customTipJsonItem) { - let writeFunction: (message: string) => void; + let writeFunction: + | typeof terminal.writeErrorLine + | typeof terminal.writeWarningLine + | typeof terminal.writeLine; let prefix: string; switch (severity) { case CustomTipSeverity.Error: @@ -350,7 +353,7 @@ export class CustomTipsConfiguration { const message: string = customTipJsonItem.message; const wrappedAndIndentedMessage: string = PrintUtilities.wrapWords(message, undefined, prefix); - writeFunction(wrappedAndIndentedMessage); + writeFunction(...wrappedAndIndentedMessage, { doNotOverrideSgrCodes: true }); terminal.writeLine(); } } diff --git a/libraries/rush-lib/src/api/test/__snapshots__/CustomTipsConfiguration.test.ts.snap b/libraries/rush-lib/src/api/test/__snapshots__/CustomTipsConfiguration.test.ts.snap index b91d7aaeb3d..3aa0dc6648d 100644 --- a/libraries/rush-lib/src/api/test/__snapshots__/CustomTipsConfiguration.test.ts.snap +++ b/libraries/rush-lib/src/api/test/__snapshots__/CustomTipsConfiguration.test.ts.snap @@ -9,7 +9,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]Lorem ipsum dolor sit amet, consectetur", + "[red]| [default]Lorem ipsum dolor sit amet, consectetur", "[red]| [default]adipiscing elit, sed do eiusmod tempor", "[red]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[red]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -28,7 +28,7 @@ Array [ "[red]| [default] reprehenderit in voluptate velit esse cillum", "[red]| [default] dolore eu fugiat nulla pariatur. Excepteur sint", "[red]| [default] occaecat cupidatat non proident, sunt in culpa", - "[red]| [default] qui officia deserunt mollit anim id est laborum.[default]", + "[red]| [default] qui officia deserunt mollit anim id est laborum.", "", "--------------------", "--- warning output ---", @@ -91,7 +91,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]Lorem ipsum dolor sit amet, consectetur", + "[red]| [default]Lorem ipsum dolor sit amet, consectetur", "[red]| [default]adipiscing elit, sed do eiusmod tempor", "[red]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[red]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -110,7 +110,7 @@ Array [ "[red]| [default] reprehenderit in voluptate velit esse cillum", "[red]| [default] dolore eu fugiat nulla pariatur. Excepteur sint", "[red]| [default] occaecat cupidatat non proident, sunt in culpa", - "[red]| [default] qui officia deserunt mollit anim id est laborum.[default]", + "[red]| [default] qui officia deserunt mollit anim id est laborum.", "", "--------------------", "--- warning output ---", @@ -137,7 +137,7 @@ Array [ "--- warning output ---", "[yellow]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[yellow]|[default]", - "[yellow][yellow]| [default]Lorem ipsum dolor sit amet, consectetur", + "[yellow]| [default]Lorem ipsum dolor sit amet, consectetur", "[yellow]| [default]adipiscing elit, sed do eiusmod tempor", "[yellow]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[yellow]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -156,7 +156,7 @@ Array [ "[yellow]| [default] reprehenderit in voluptate velit esse cillum", "[yellow]| [default] dolore eu fugiat nulla pariatur. Excepteur sint", "[yellow]| [default] occaecat cupidatat non proident, sunt in culpa", - "[yellow]| [default] qui officia deserunt mollit anim id est laborum.[default]", + "[yellow]| [default] qui officia deserunt mollit anim id est laborum.", "", "----------------------", "--- verbose output ---", @@ -177,7 +177,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]Lorem ipsum dolor sit amet, consectetur", + "[red]| [default]Lorem ipsum dolor sit amet, consectetur", "[red]| [default]adipiscing elit, sed do eiusmod tempor", "[red]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[red]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -186,7 +186,7 @@ Array [ "[red]| [default]reprehenderit in voluptate velit esse cillum", "[red]| [default]dolore eu fugiat nulla pariatur. Excepteur sint", "[red]| [default]occaecat cupidatat non proident, sunt in culpa", - "[red]| [default]qui officia deserunt mollit anim id est laborum.[default]", + "[red]| [default]qui officia deserunt mollit anim id est laborum.", "", "--------------------", "--- warning output ---", @@ -241,7 +241,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]Lorem ipsum dolor sit amet, consectetur", + "[red]| [default]Lorem ipsum dolor sit amet, consectetur", "[red]| [default]adipiscing elit, sed do eiusmod tempor", "[red]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[red]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -250,7 +250,7 @@ Array [ "[red]| [default]reprehenderit in voluptate velit esse cillum", "[red]| [default]dolore eu fugiat nulla pariatur. Excepteur sint", "[red]| [default]occaecat cupidatat non proident, sunt in culpa", - "[red]| [default]qui officia deserunt mollit anim id est laborum.[default]", + "[red]| [default]qui officia deserunt mollit anim id est laborum.", "", "--------------------", "--- warning output ---", @@ -277,7 +277,7 @@ Array [ "--- warning output ---", "[yellow]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[yellow]|[default]", - "[yellow][yellow]| [default]Lorem ipsum dolor sit amet, consectetur", + "[yellow]| [default]Lorem ipsum dolor sit amet, consectetur", "[yellow]| [default]adipiscing elit, sed do eiusmod tempor", "[yellow]| [default]incididunt ut labore et dolore magna aliqua. Ut", "[yellow]| [default]enim ad minim veniam, quis nostrud exercitation", @@ -286,7 +286,7 @@ Array [ "[yellow]| [default]reprehenderit in voluptate velit esse cillum", "[yellow]| [default]dolore eu fugiat nulla pariatur. Excepteur sint", "[yellow]| [default]occaecat cupidatat non proident, sunt in culpa", - "[yellow]| [default]qui officia deserunt mollit anim id est laborum.[default]", + "[yellow]| [default]qui officia deserunt mollit anim id est laborum.", "", "----------------------", "--- verbose output ---", @@ -307,8 +307,8 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test", - "[red]| [default] This is a test[default]", + "[red]| [default]This is a test", + "[red]| [default] This is a test", "", "--------------------", "--- warning output ---", @@ -357,8 +357,8 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test", - "[red]| [default] This is a test[default]", + "[red]| [default]This is a test", + "[red]| [default] This is a test", "", "--------------------", "--- warning output ---", @@ -385,8 +385,8 @@ Array [ "--- warning output ---", "[yellow]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[yellow]|[default]", - "[yellow][yellow]| [default]This is a test", - "[yellow]| [default] This is a test[default]", + "[yellow]| [default]This is a test", + "[yellow]| [default] This is a test", "", "----------------------", "--- verbose output ---", @@ -407,8 +407,8 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test", - "[red]| [default]This is a test[default]", + "[red]| [default]This is a test", + "[red]| [default]This is a test", "", "--------------------", "--- warning output ---", @@ -457,8 +457,8 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test", - "[red]| [default]This is a test[default]", + "[red]| [default]This is a test", + "[red]| [default]This is a test", "", "--------------------", "--- warning output ---", @@ -485,8 +485,8 @@ Array [ "--- warning output ---", "[yellow]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[yellow]|[default]", - "[yellow][yellow]| [default]This is a test", - "[yellow]| [default]This is a test[default]", + "[yellow]| [default]This is a test", + "[yellow]| [default]This is a test", "", "----------------------", "--- verbose output ---", @@ -507,7 +507,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test[default]", + "[red]| [default]This is a test", "", "--------------------", "--- warning output ---", @@ -555,7 +555,7 @@ Array [ "--- error output ---", "[red]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[red]|[default]", - "[red][red]| [default]This is a test[default]", + "[red]| [default]This is a test", "", "--------------------", "--- warning output ---", @@ -582,7 +582,7 @@ Array [ "--- warning output ---", "[yellow]| Custom Tip (TIP_PNPM_INVALID_NODE_VERSION)[default]", "[yellow]|[default]", - "[yellow][yellow]| [default]This is a test[default]", + "[yellow]| [default]This is a test", "", "----------------------", "--- verbose output ---", diff --git a/libraries/terminal/src/ITerminal.ts b/libraries/terminal/src/ITerminal.ts index 333e2ab7ec7..95cabe85ade 100644 --- a/libraries/terminal/src/ITerminal.ts +++ b/libraries/terminal/src/ITerminal.ts @@ -3,6 +3,22 @@ import type { ITerminalProvider } from './ITerminalProvider'; +/** + * @beta + */ +export interface IWriteOptions { + /** + * If set to true, SGR parameters will not be replaced by the terminal + * standard (i.e. - red for errors, yellow for warnings). + */ + doNotOverrideSgrCodes?: boolean; +} + +/** + * @beta + */ +export type WriteParameters = string[] | [...string[], IWriteOptions]; + /** * @beta */ @@ -20,12 +36,12 @@ export interface ITerminal { /** * Write a generic message to the terminal */ - write(...messageParts: string[]): void; + write(...messageParts: WriteParameters): void; /** * Write a generic message to the terminal, followed by a newline */ - writeLine(...messageParts: string[]): void; + writeLine(...messageParts: WriteParameters): void; /** * Write a warning message to the console with yellow text. @@ -33,7 +49,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarning(...messageParts: string[]): void; + writeWarning(...messageParts: WriteParameters): void; /** * Write a warning message to the console with yellow text, followed by a newline. @@ -41,7 +57,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarningLine(...messageParts: string[]): void; + writeWarningLine(...messageParts: WriteParameters): void; /** * Write an error message to the console with red text. @@ -49,7 +65,7 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeError(...messageParts: string[]): void; + writeError(...messageParts: WriteParameters): void; /** * Write an error message to the console with red text, followed by a newline. @@ -57,25 +73,25 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeErrorLine(...messageParts: string[]): void; + writeErrorLine(...messageParts: WriteParameters): void; /** * Write a verbose-level message. */ - writeVerbose(...messageParts: string[]): void; + writeVerbose(...messageParts: WriteParameters): void; /** * Write a verbose-level message followed by a newline. */ - writeVerboseLine(...messageParts: string[]): void; + writeVerboseLine(...messageParts: WriteParameters): void; /** * Write a debug-level message. */ - writeDebug(...messageParts: string[]): void; + writeDebug(...messageParts: WriteParameters): void; /** * Write a debug-level message followed by a newline. */ - writeDebugLine(...messageParts: string[]): void; + writeDebugLine(...messageParts: WriteParameters): void; } diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 3d92241c574..056457bd16f 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -3,7 +3,7 @@ import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; import { Colorize, ConsoleColorCodes } from './Colorize'; -import type { ITerminal } from './ITerminal'; +import type { ITerminal, IWriteOptions, WriteParameters } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; /** @@ -73,23 +73,31 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.write} */ - public write(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.log, false); + public write(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.log, false); } /** * {@inheritdoc ITerminal.writeLine} */ - public writeLine(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.log, true); + public writeLine(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.log, true); } /** * {@inheritdoc ITerminal.writeWarning} */ - public writeWarning(...messageParts: string[]): void { + public writeWarning(...messageParts: WriteParameters): void { + const { + parts, + options: { doNotOverrideSgrCodes } + } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders( - messageParts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), + doNotOverrideSgrCodes + ? parts + : parts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.warning, false ); @@ -98,9 +106,15 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeWarningLine} */ - public writeWarningLine(...messageParts: string[]): void { + public writeWarningLine(...messageParts: WriteParameters): void { + const { + parts, + options: { doNotOverrideSgrCodes } + } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders( - messageParts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), + doNotOverrideSgrCodes + ? parts + : parts.map((part): string => Colorize.yellow(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.warning, true ); @@ -109,9 +123,13 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeError} */ - public writeError(...messageParts: string[]): void { + public writeError(...messageParts: WriteParameters): void { + const { + parts, + options: { doNotOverrideSgrCodes } + } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders( - messageParts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), + doNotOverrideSgrCodes ? parts : parts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.error, false ); @@ -120,9 +138,13 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeErrorLine} */ - public writeErrorLine(...messageParts: string[]): void { + public writeErrorLine(...messageParts: WriteParameters): void { + const { + parts, + options: { doNotOverrideSgrCodes } + } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders( - messageParts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), + doNotOverrideSgrCodes ? parts : parts.map((part): string => Colorize.red(AnsiEscape.removeCodes(part))), TerminalProviderSeverity.error, true ); @@ -131,29 +153,33 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeVerbose} */ - public writeVerbose(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.verbose, false); + public writeVerbose(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.verbose, false); } /** * {@inheritdoc ITerminal.writeVerboseLine} */ - public writeVerboseLine(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.verbose, true); + public writeVerboseLine(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.verbose, true); } /** * {@inheritdoc ITerminal.writeDebug} */ - public writeDebug(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.debug, false); + public writeDebug(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.debug, false); } /** * {@inheritdoc ITerminal.writeDebugLine} */ - public writeDebugLine(...messageParts: string[]): void { - this._writeSegmentsToProviders(messageParts, TerminalProviderSeverity.debug, true); + public writeDebugLine(...messageParts: WriteParameters): void { + const { parts } = this._normalizeWriteParameters(messageParts); + this._writeSegmentsToProviders(parts, TerminalProviderSeverity.debug, true); } private _writeSegmentsToProviders( @@ -389,4 +415,20 @@ export class Terminal implements ITerminal { return resultSegments.join(''); } + + private _normalizeWriteParameters(parameters: WriteParameters): { + parts: string[]; + options: IWriteOptions; + } { + if (parameters.length === 0) { + return { parts: [], options: {} }; + } else { + const lastParameter: string | IWriteOptions = parameters[parameters.length - 1]; + if (typeof lastParameter === 'string') { + return { parts: parameters as string[], options: {} }; + } else { + return { parts: parameters.slice(0, -1) as string[], options: lastParameter }; + } + } + } } diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index 82d56dafb72..f2f3237baf0 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -30,7 +30,7 @@ export { ITerminalWritableOptions, TerminalWritable } from './TerminalWritable'; export { TextRewriterState, TextRewriter } from './TextRewriter'; export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewriterTransform'; export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; -export { ITerminal } from './ITerminal'; +export { ITerminal, WriteParameters, IWriteOptions } from './ITerminal'; export { Terminal } from './Terminal'; export { Colorize } from './Colorize'; export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; diff --git a/libraries/terminal/src/test/Terminal.test.ts b/libraries/terminal/src/test/Terminal.test.ts index 3c04a33bcaf..9e1eaf9b07d 100644 --- a/libraries/terminal/src/test/Terminal.test.ts +++ b/libraries/terminal/src/test/Terminal.test.ts @@ -5,680 +5,907 @@ import { Terminal } from '../Terminal'; import { StringBufferTerminalProvider } from '../StringBufferTerminalProvider'; import { Colorize } from '../Colorize'; -let terminal: Terminal; -let provider: StringBufferTerminalProvider; - -function verifyProvider(): void { - expect({ - log: provider.getOutput(), - warning: provider.getWarningOutput(), - error: provider.getErrorOutput(), - verbose: provider.getVerbose(), - debug: provider.getDebugOutput() - }).toMatchSnapshot(); -} - -describe('01 color enabled', () => { - beforeEach(() => { - provider = new StringBufferTerminalProvider(true); - terminal = new Terminal(provider); - }); - - describe('01 basic terminal functions', () => { - describe('01 write', () => { - it('01 writes a single message', () => { - terminal.write('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.write('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.write(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); - }); +describe(Terminal.name, () => { + let terminal: Terminal; + let provider: StringBufferTerminalProvider; + + function verifyProvider(): void { + expect({ + log: provider.getOutput(), + warning: provider.getWarningOutput(), + error: provider.getErrorOutput(), + verbose: provider.getVerbose(), + debug: provider.getDebugOutput() + }).toMatchSnapshot(); + } + + describe('01 color enabled', () => { + beforeEach(() => { + provider = new StringBufferTerminalProvider(true); + terminal = new Terminal(provider); }); - describe('02 writeLine', () => { - it('01 writes a single message', () => { - terminal.writeLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); + describe('01 basic terminal functions', () => { + describe('01 write', () => { + it('01 writes a single message', () => { + terminal.write('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.write('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.write(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4'), { + doNotOverrideSgrCodes: true + }); + verifyProvider(); + }); + }); + + describe('02 writeLine', () => { + it('01 writes a single message', () => { + terminal.writeLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('03 writeWarning', () => { + it('01 writes a single message', () => { + terminal.writeWarning('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeWarning('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeWarning(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('04 writeWarningLine', () => { + it('01 writes a single message', () => { + terminal.writeWarningLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeWarningLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeWarningLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('05 writeError', () => { + it('01 writes a single message', () => { + terminal.writeError('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeError('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeError(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeError( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeError( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('06 writeErrorLine', () => { + it('01 writes a single message', () => { + terminal.writeErrorLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeErrorLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeErrorLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('07 writeVerbose', () => { + it('01 writes a single message', () => { + terminal.writeVerbose('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeVerbose('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeVerbose(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('08 writeVerboseLine', () => { + it('01 writes a single message', () => { + terminal.writeVerboseLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeVerboseLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeVerboseLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); }); }); - describe('03 writeWarning', () => { - it('01 writes a single message', () => { - terminal.writeWarning('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeWarning('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeWarning(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarning( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('04 writeWarningLine', () => { - it('01 writes a single message', () => { - terminal.writeWarningLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeWarningLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeWarningLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarningLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); + it('05 writes to multiple streams', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeWarningLine('message 1', 'message 2'); + terminal.writeVerbose('test message'); + terminal.writeVerbose(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeErrorLine('test message'); + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.writeVerboseLine('test message'); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeError('message 1', 'message 2'); + terminal.write(Colorize.green('message 1')); + terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeErrorLine('message 1', 'message 2'); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeVerbose('message 1', 'message 2'); + terminal.writeVerboseLine(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1')); + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.write('test message'); + terminal.writeWarningLine('test message'); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeVerboseLine('message 1', 'message 2'); + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeWarning('message 1', 'message 2'); + terminal.writeErrorLine(Colorize.green('message 1')); + terminal.write('message 1', 'message 2'); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning(Colorize.green('message 1')); + terminal.writeLine('test message'); + terminal.writeError('test message'); + terminal.writeLine('message 1', 'message 2'); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1')); + verifyProvider(); }); - - describe('05 writeError', () => { - it('01 writes a single message', () => { - terminal.writeError('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeError('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeError(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); - }); - }); - - describe('06 writeErrorLine', () => { - it('01 writes a single message', () => { - terminal.writeErrorLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeErrorLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeErrorLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeErrorLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('07 writeVerbose', () => { - it('01 writes a single message', () => { - terminal.writeVerbose('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeVerbose('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeVerbose(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerbose( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('08 writeVerboseLine', () => { - it('01 writes a single message', () => { - terminal.writeVerboseLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeVerboseLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeVerboseLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerboseLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - }); - - it('05 writes to multiple streams', () => { - terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeWarningLine('message 1', 'message 2'); - terminal.writeVerbose('test message'); - terminal.writeVerbose(Colorize.green('message 1')); - terminal.writeLine(Colorize.green('message 1')); - terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeErrorLine('test message'); - terminal.writeVerboseLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - terminal.writeVerboseLine('test message'); - terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeError('message 1', 'message 2'); - terminal.write(Colorize.green('message 1')); - terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeErrorLine('message 1', 'message 2'); - terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeVerbose('message 1', 'message 2'); - terminal.writeVerboseLine(Colorize.green('message 1')); - terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeError(Colorize.green('message 1')); - terminal.writeWarningLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - terminal.write('test message'); - terminal.writeWarningLine('test message'); - terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeVerboseLine('message 1', 'message 2'); - terminal.writeErrorLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeWarning('message 1', 'message 2'); - terminal.writeErrorLine(Colorize.green('message 1')); - terminal.write('message 1', 'message 2'); - terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarning(Colorize.green('message 1')); - terminal.writeLine('test message'); - terminal.writeError('test message'); - terminal.writeLine('message 1', 'message 2'); - terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarningLine(Colorize.green('message 1')); - verifyProvider(); }); -}); - -describe('02 color disabled', () => { - beforeEach(() => { - provider = new StringBufferTerminalProvider(false); - terminal = new Terminal(provider); - }); - - describe('01 basic terminal functions', () => { - describe('01 write', () => { - it('01 writes a single message', () => { - terminal.write('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.write('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.write(Colorize.green('message 1')); - verifyProvider(); - }); - it('04 writes a multiple messages with colors', () => { - terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); - }); + describe('02 color disabled', () => { + beforeEach(() => { + provider = new StringBufferTerminalProvider(false); + terminal = new Terminal(provider); }); - describe('02 writeLine', () => { - it('01 writes a single message', () => { - terminal.writeLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); - }); - }); - - describe('03 writeWarning', () => { - it('01 writes a single message', () => { - terminal.writeWarning('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeWarning('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeWarning(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarning( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('04 writeWarningLine', () => { - it('01 writes a single message', () => { - terminal.writeWarningLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeWarningLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeWarningLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeWarningLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('05 writeError', () => { - it('01 writes a single message', () => { - terminal.writeError('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeError('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeError(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); - }); - }); - - describe('06 writeErrorLine', () => { - it('01 writes a single message', () => { - terminal.writeErrorLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeErrorLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeErrorLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeErrorLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('07 writeVerbose', () => { - it('01 writes a single message', () => { - terminal.writeVerbose('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeVerbose('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeVerbose(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerbose( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('08 writeVerboseLine', () => { - it('01 writes a single message', () => { - terminal.writeVerboseLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeVerboseLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeVerboseLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeVerboseLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); - }); - - describe('09 writeDebug', () => { - it('01 writes a single message', () => { - terminal.writeDebug('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeDebug('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeDebug(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeDebug(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeDebug('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - verifyProvider(); + describe('01 basic terminal functions', () => { + describe('01 write', () => { + it('01 writes a single message', () => { + terminal.write('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.write('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.write(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4'), { + doNotOverrideSgrCodes: true + }); + verifyProvider(); + }); + }); + + describe('02 writeLine', () => { + it('01 writes a single message', () => { + terminal.writeLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('03 writeWarning', () => { + it('01 writes a single message', () => { + terminal.writeWarning('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeWarning('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeWarning(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeWarning( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('04 writeWarningLine', () => { + it('01 writes a single message', () => { + terminal.writeWarningLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeWarningLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeWarningLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('05 writeError', () => { + it('01 writes a single message', () => { + terminal.writeError('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeError('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeError(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeError( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeError( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('06 writeErrorLine', () => { + it('01 writes a single message', () => { + terminal.writeErrorLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeErrorLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeErrorLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('07 writeVerbose', () => { + it('01 writes a single message', () => { + terminal.writeVerbose('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeVerbose('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeVerbose(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeVerbose( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('08 writeVerboseLine', () => { + it('01 writes a single message', () => { + terminal.writeVerboseLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeVerboseLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeVerboseLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('09 writeDebug', () => { + it('01 writes a single message', () => { + terminal.writeDebug('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeDebug('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeDebug(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeDebug(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeDebug( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeDebug( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); + }); + + describe('10 writeDebugLine', () => { + it('01 writes a single message', () => { + terminal.writeDebugLine('test message'); + verifyProvider(); + }); + + it('02 writes multiple messages', () => { + terminal.writeDebugLine('message 1', 'message 2'); + verifyProvider(); + }); + + it('03 writes a message with colors', () => { + terminal.writeDebugLine(Colorize.green('message 1')); + verifyProvider(); + }); + + it('04 writes a multiple messages with colors', () => { + terminal.writeDebugLine(Colorize.green('message 1'), Colorize.red('message 2')); + verifyProvider(); + }); + + it('05 writes a messages with colors interspersed with non-colored messages', () => { + terminal.writeDebugLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + verifyProvider(); + }); + + it('06 writes a messages with colors interspersed with non-colored messages with color overriding disabled', () => { + terminal.writeDebugLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4'), + { doNotOverrideSgrCodes: true } + ); + verifyProvider(); + }); }); }); - describe('10 writeDebugLine', () => { - it('01 writes a single message', () => { - terminal.writeDebugLine('test message'); - verifyProvider(); - }); - - it('02 writes multiple messages', () => { - terminal.writeDebugLine('message 1', 'message 2'); - verifyProvider(); - }); - - it('03 writes a message with colors', () => { - terminal.writeDebugLine(Colorize.green('message 1')); - verifyProvider(); - }); - - it('04 writes a multiple messages with colors', () => { - terminal.writeDebugLine(Colorize.green('message 1'), Colorize.red('message 2')); - verifyProvider(); - }); - - it('05 writes a messages with colors interspersed with non-colored messages', () => { - terminal.writeDebugLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - verifyProvider(); - }); + it('05 writes to multiple streams', () => { + terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeWarningLine('message 1', 'message 2'); + terminal.writeVerbose('test message'); + terminal.writeVerbose(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1')); + terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeErrorLine('test message'); + terminal.writeVerboseLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.writeVerboseLine('test message'); + terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeError('message 1', 'message 2'); + terminal.write(Colorize.green('message 1')); + terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeErrorLine('message 1', 'message 2'); + terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeVerbose('message 1', 'message 2'); + terminal.writeVerboseLine(Colorize.green('message 1')); + terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1')); + terminal.writeWarningLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.write('test message'); + terminal.writeWarningLine('test message'); + terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeVerboseLine('message 1', 'message 2'); + terminal.writeErrorLine( + 'message 1', + Colorize.green('message 2'), + 'message 3', + Colorize.red('message 4') + ); + terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); + terminal.writeWarning('message 1', 'message 2'); + terminal.writeErrorLine(Colorize.green('message 1')); + terminal.write('message 1', 'message 2'); + terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarning(Colorize.green('message 1')); + terminal.writeLine('test message'); + terminal.writeError('test message'); + terminal.writeLine('message 1', 'message 2'); + terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); + terminal.writeWarningLine(Colorize.green('message 1')); + verifyProvider(); }); }); - - it('05 writes to multiple streams', () => { - terminal.write('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeWarningLine('message 1', 'message 2'); - terminal.writeVerbose('test message'); - terminal.writeVerbose(Colorize.green('message 1')); - terminal.writeLine(Colorize.green('message 1')); - terminal.writeError('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeErrorLine('test message'); - terminal.writeVerboseLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - terminal.writeVerboseLine('test message'); - terminal.writeWarning(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarning('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeError('message 1', 'message 2'); - terminal.write(Colorize.green('message 1')); - terminal.writeVerbose('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeErrorLine('message 1', 'message 2'); - terminal.write(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeVerbose('message 1', 'message 2'); - terminal.writeVerboseLine(Colorize.green('message 1')); - terminal.writeLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeError(Colorize.green('message 1')); - terminal.writeWarningLine( - 'message 1', - Colorize.green('message 2'), - 'message 3', - Colorize.red('message 4') - ); - terminal.write('test message'); - terminal.writeWarningLine('test message'); - terminal.writeVerboseLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeVerboseLine('message 1', 'message 2'); - terminal.writeErrorLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeLine('message 1', Colorize.green('message 2'), 'message 3', Colorize.red('message 4')); - terminal.writeWarning('message 1', 'message 2'); - terminal.writeErrorLine(Colorize.green('message 1')); - terminal.write('message 1', 'message 2'); - terminal.writeVerbose(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarning(Colorize.green('message 1')); - terminal.writeLine('test message'); - terminal.writeError('test message'); - terminal.writeLine('message 1', 'message 2'); - terminal.writeErrorLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeError(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarningLine(Colorize.green('message 1'), Colorize.red('message 2')); - terminal.writeWarningLine(Colorize.green('message 1')); - verifyProvider(); - }); }); diff --git a/libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap b/libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap index f22a28ef5ff..6ba14641d27 100644 --- a/libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap +++ b/libraries/terminal/src/test/__snapshots__/Terminal.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`01 color enabled 01 basic terminal functions 01 write 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -10,7 +10,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 01 write 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -20,7 +20,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 01 write 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -30,7 +30,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 01 write 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -40,7 +40,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 01 write 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -50,7 +50,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 02 writeLine 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 01 write 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "message 1[green]message 2[default]message 3[red]message 4[default]", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -60,7 +70,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 02 writeLine 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -70,7 +80,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 02 writeLine 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -80,7 +90,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 02 writeLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -90,7 +100,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 02 writeLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "", + "log": "message 1[green]message 2[default]message 3[red]message 4[default][n]", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 02 writeLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "", @@ -100,7 +120,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 03 writeWarning 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -110,7 +130,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 03 writeWarning 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -120,7 +140,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 03 writeWarning 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -130,7 +150,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 03 writeWarning 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -140,7 +160,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 03 writeWarning 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -150,7 +170,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 04 writeWarningLine 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 03 writeWarning 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "", + "warning": "message 1[green]message 2[default]message 3[red]message 4[default]", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -160,7 +190,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 04 writeWarningLine 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -170,7 +200,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 04 writeWarningLine 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -180,7 +210,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 04 writeWarningLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -190,7 +220,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 04 writeWarningLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -200,7 +230,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 05 writeError 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 04 writeWarningLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "", + "warning": "message 1[green]message 2[default]message 3[red]message 4[default][n]", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 01 writes a single message 1`] = ` Object { "debug": "", "error": "[red]test message[default]", @@ -210,7 +250,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 05 writeError 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default]", @@ -220,7 +260,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 05 writeError 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "[red]message 1[default]", @@ -230,7 +270,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 05 writeError 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default]", @@ -240,7 +280,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 05 writeError 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default][red]message 3[default][red]message 4[default]", @@ -250,7 +290,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 06 writeErrorLine 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 05 writeError 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "message 1[green]message 2[default]message 3[red]message 4[default]", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "[red]test message[default][n]", @@ -260,7 +310,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 06 writeErrorLine 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default][n]", @@ -270,7 +320,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 06 writeErrorLine 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "[red]message 1[default][n]", @@ -280,7 +330,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 06 writeErrorLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default][n]", @@ -290,7 +340,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 06 writeErrorLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default][red]message 3[default][red]message 4[default][n]", @@ -300,7 +350,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 07 writeVerbose 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 06 writeErrorLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "message 1[green]message 2[default]message 3[red]message 4[default][n]", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -310,7 +370,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 07 writeVerbose 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -320,7 +380,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 07 writeVerbose 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -330,7 +390,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 07 writeVerbose 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -340,7 +400,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 07 writeVerbose 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -350,7 +410,17 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 08 writeVerboseLine 01 writes a single message 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 07 writeVerbose 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "message 1[green]message 2[default]message 3[red]message 4[default]", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -360,7 +430,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 08 writeVerboseLine 02 writes multiple messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -370,7 +440,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 08 writeVerboseLine 03 writes a message with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -380,7 +450,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 08 writeVerboseLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -390,7 +460,7 @@ Object { } `; -exports[`01 color enabled 01 basic terminal functions 08 writeVerboseLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -400,7 +470,17 @@ Object { } `; -exports[`01 color enabled 05 writes to multiple streams 1`] = ` +exports[`Terminal 01 color enabled 01 basic terminal functions 08 writeVerboseLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "message 1[green]message 2[default]message 3[red]message 4[default][n]", + "warning": "", +} +`; + +exports[`Terminal 01 color enabled 05 writes to multiple streams 1`] = ` Object { "debug": "", "error": "[red]message 1[default][red]message 2[default][red]message 3[default][red]message 4[default][red]test message[default][n][red]message 1[default][red]message 2[default][red]message 1[default][red]message 2[default][n][red]message 1[default][red]message 1[default][red]message 2[default][red]message 3[default][red]message 4[default][n][red]message 1[default][n][red]test message[default][red]message 1[default][red]message 2[default][n][red]message 1[default][red]message 2[default]", @@ -410,7 +490,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 01 write 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -420,7 +500,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 01 write 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -430,7 +510,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 01 write 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -440,7 +520,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 01 write 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -450,7 +530,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 01 write 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -460,7 +540,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 02 writeLine 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 01 write 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "message 1message 2message 3message 4", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -470,7 +560,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 02 writeLine 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -480,7 +570,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 02 writeLine 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -490,7 +580,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 02 writeLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -500,7 +590,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 02 writeLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "", + "log": "message 1message 2message 3message 4[n]", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 02 writeLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "", @@ -510,7 +610,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 03 writeWarning 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -520,7 +620,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 03 writeWarning 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -530,7 +630,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 03 writeWarning 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -540,7 +640,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 03 writeWarning 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -550,7 +650,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 03 writeWarning 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "", + "warning": "message 1message 2message 3message 4", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 03 writeWarning 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "", @@ -560,7 +670,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 04 writeWarningLine 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -570,7 +680,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 04 writeWarningLine 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -580,7 +690,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 04 writeWarningLine 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -590,7 +700,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 04 writeWarningLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -600,7 +710,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 04 writeWarningLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "", + "warning": "message 1message 2message 3message 4[n]", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 04 writeWarningLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "", @@ -610,7 +730,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 05 writeError 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 01 writes a single message 1`] = ` Object { "debug": "", "error": "test message", @@ -620,7 +740,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 05 writeError 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "message 1message 2", @@ -630,7 +750,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 05 writeError 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "message 1", @@ -640,7 +760,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 05 writeError 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "message 1message 2", @@ -650,7 +770,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 05 writeError 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "message 1message 2message 3message 4", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 05 writeError 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "message 1message 2message 3message 4", @@ -660,7 +790,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 06 writeErrorLine 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "test message[n]", @@ -670,7 +800,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 06 writeErrorLine 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "message 1message 2[n]", @@ -680,7 +810,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 06 writeErrorLine 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "message 1[n]", @@ -690,7 +820,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 06 writeErrorLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "message 1message 2[n]", @@ -700,7 +830,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 06 writeErrorLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "message 1message 2message 3message 4[n]", @@ -710,7 +840,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 07 writeVerbose 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 06 writeErrorLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "message 1message 2message 3message 4[n]", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -720,7 +860,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 07 writeVerbose 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -730,7 +870,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 07 writeVerbose 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -740,7 +880,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 07 writeVerbose 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -750,7 +890,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 07 writeVerbose 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "message 1message 2message 3message 4", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 07 writeVerbose 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "", "error": "", @@ -760,7 +910,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 08 writeVerboseLine 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 01 writes a single message 1`] = ` Object { "debug": "", "error": "", @@ -770,7 +920,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 08 writeVerboseLine 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 02 writes multiple messages 1`] = ` Object { "debug": "", "error": "", @@ -780,7 +930,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 08 writeVerboseLine 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 03 writes a message with colors 1`] = ` Object { "debug": "", "error": "", @@ -790,7 +940,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 08 writeVerboseLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "", "error": "", @@ -800,7 +950,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 08 writeVerboseLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` Object { "debug": "", "error": "", @@ -810,7 +960,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 09 writeDebug 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 08 writeVerboseLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` +Object { + "debug": "", + "error": "", + "log": "", + "verbose": "message 1message 2message 3message 4[n]", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 01 writes a single message 1`] = ` Object { "debug": "test message", "error": "", @@ -820,7 +980,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 09 writeDebug 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 02 writes multiple messages 1`] = ` Object { "debug": "message 1message 2", "error": "", @@ -830,7 +990,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 09 writeDebug 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 03 writes a message with colors 1`] = ` Object { "debug": "message 1", "error": "", @@ -840,7 +1000,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 09 writeDebug 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 04 writes a multiple messages with colors 1`] = ` Object { "debug": "message 1message 2", "error": "", @@ -850,7 +1010,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 09 writeDebug 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "message 1message 2message 3message 4", + "error": "", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 09 writeDebug 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "message 1message 2message 3message 4", "error": "", @@ -860,7 +1030,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 10 writeDebugLine 01 writes a single message 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 01 writes a single message 1`] = ` Object { "debug": "test message[n]", "error": "", @@ -870,7 +1040,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 10 writeDebugLine 02 writes multiple messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 02 writes multiple messages 1`] = ` Object { "debug": "message 1message 2[n]", "error": "", @@ -880,7 +1050,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 10 writeDebugLine 03 writes a message with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 03 writes a message with colors 1`] = ` Object { "debug": "message 1[n]", "error": "", @@ -890,7 +1060,7 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 10 writeDebugLine 04 writes a multiple messages with colors 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 04 writes a multiple messages with colors 1`] = ` Object { "debug": "message 1message 2[n]", "error": "", @@ -900,7 +1070,17 @@ Object { } `; -exports[`02 color disabled 01 basic terminal functions 10 writeDebugLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 05 writes a messages with colors interspersed with non-colored messages 1`] = ` +Object { + "debug": "message 1message 2message 3message 4[n]", + "error": "", + "log": "", + "verbose": "", + "warning": "", +} +`; + +exports[`Terminal 02 color disabled 01 basic terminal functions 10 writeDebugLine 06 writes a messages with colors interspersed with non-colored messages with color overriding disabled 1`] = ` Object { "debug": "message 1message 2message 3message 4[n]", "error": "", @@ -910,7 +1090,7 @@ Object { } `; -exports[`02 color disabled 05 writes to multiple streams 1`] = ` +exports[`Terminal 02 color disabled 05 writes to multiple streams 1`] = ` Object { "debug": "", "error": "message 1message 2message 3message 4test message[n]message 1message 2message 1message 2[n]message 1message 1message 2message 3message 4[n]message 1[n]test messagemessage 1message 2[n]message 1message 2", From a658198ad894c93b49212a3a3c4a676bf9c02c22 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Thu, 12 Oct 2023 01:49:15 -0400 Subject: [PATCH 143/180] Rename ConsoleColorCodes to SgrParameter. --- common/reviews/api/terminal.api.md | 2 +- libraries/terminal/src/AnsiEscape.ts | 64 ++++++------ libraries/terminal/src/Colorize.ts | 108 +++++++++------------ libraries/terminal/src/Terminal.ts | 96 +++++++++--------- libraries/terminal/src/TerminalWritable.ts | 2 +- 5 files changed, 129 insertions(+), 143 deletions(-) diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index 187782b46f0..297893f616b 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -26,7 +26,7 @@ export class CallbackWritable extends TerminalWritable { protected onWriteChunk(chunk: ITerminalChunk): void; } -// @beta +// @public export class Colorize { // (undocumented) static black(text: string): string; diff --git a/libraries/terminal/src/AnsiEscape.ts b/libraries/terminal/src/AnsiEscape.ts index 5fedab00a55..211b1bb8622 100644 --- a/libraries/terminal/src/AnsiEscape.ts +++ b/libraries/terminal/src/AnsiEscape.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { ConsoleColorCodes } from './Colorize'; +import { SgrParameter } from './Colorize'; /** * Options for {@link AnsiEscape.formatForTests}. @@ -84,69 +84,69 @@ export class AnsiEscape { // https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters private static _tryGetSgrFriendlyName(sgiParameter: number): string | undefined { switch (sgiParameter) { - case ConsoleColorCodes.BlackForeground: + case SgrParameter.BlackForeground: return 'black'; - case ConsoleColorCodes.RedForeground: + case SgrParameter.RedForeground: return 'red'; - case ConsoleColorCodes.GreenForeground: + case SgrParameter.GreenForeground: return 'green'; - case ConsoleColorCodes.YellowForeground: + case SgrParameter.YellowForeground: return 'yellow'; - case ConsoleColorCodes.BlueForeground: + case SgrParameter.BlueForeground: return 'blue'; - case ConsoleColorCodes.MagentaForeground: + case SgrParameter.MagentaForeground: return 'magenta'; - case ConsoleColorCodes.CyanForeground: + case SgrParameter.CyanForeground: return 'cyan'; - case ConsoleColorCodes.WhiteForeground: + case SgrParameter.WhiteForeground: return 'white'; - case ConsoleColorCodes.GrayForeground: + case SgrParameter.GrayForeground: return 'gray'; - case ConsoleColorCodes.DefaultForeground: + case SgrParameter.DefaultForeground: return 'default'; - case ConsoleColorCodes.BlackBackground: + case SgrParameter.BlackBackground: return 'black-bg'; - case ConsoleColorCodes.RedBackground: + case SgrParameter.RedBackground: return 'red-bg'; - case ConsoleColorCodes.GreenBackground: + case SgrParameter.GreenBackground: return 'green-bg'; - case ConsoleColorCodes.YellowBackground: + case SgrParameter.YellowBackground: return 'yellow-bg'; - case ConsoleColorCodes.BlueBackground: + case SgrParameter.BlueBackground: return 'blue-bg'; - case ConsoleColorCodes.MagentaBackground: + case SgrParameter.MagentaBackground: return 'magenta-bg'; - case ConsoleColorCodes.CyanBackground: + case SgrParameter.CyanBackground: return 'cyan-bg'; - case ConsoleColorCodes.WhiteBackground: + case SgrParameter.WhiteBackground: return 'white-bg'; - case ConsoleColorCodes.GrayBackground: + case SgrParameter.GrayBackground: return 'gray-bg'; - case ConsoleColorCodes.DefaultBackground: + case SgrParameter.DefaultBackground: return 'default-bg'; - case ConsoleColorCodes.Bold: + case SgrParameter.Bold: return 'bold'; - case ConsoleColorCodes.Dim: + case SgrParameter.Dim: return 'dim'; - case ConsoleColorCodes.NormalColorOrIntensity: + case SgrParameter.NormalColorOrIntensity: return 'normal'; - case ConsoleColorCodes.Underline: + case SgrParameter.Underline: return 'underline'; - case ConsoleColorCodes.UnderlineOff: + case SgrParameter.UnderlineOff: return 'underline-off'; - case ConsoleColorCodes.Blink: + case SgrParameter.Blink: return 'blink'; - case ConsoleColorCodes.BlinkOff: + case SgrParameter.BlinkOff: return 'blink-off'; - case ConsoleColorCodes.InvertColor: + case SgrParameter.InvertColor: return 'invert'; - case ConsoleColorCodes.InvertColorOff: + case SgrParameter.InvertColorOff: return 'invert-off'; - case ConsoleColorCodes.Hidden: + case SgrParameter.Hidden: return 'hidden'; - case ConsoleColorCodes.HiddenOff: + case SgrParameter.HiddenOff: return 'hidden-off'; default: return undefined; diff --git a/libraries/terminal/src/Colorize.ts b/libraries/terminal/src/Colorize.ts index 3c7e8955caa..1ddd38e6123 100644 --- a/libraries/terminal/src/Colorize.ts +++ b/libraries/terminal/src/Colorize.ts @@ -3,7 +3,7 @@ import { AnsiEscape } from './AnsiEscape'; -export enum ConsoleColorCodes { +export enum SgrParameter { BlackForeground = 30, RedForeground = 31, GreenForeground = 32, @@ -47,196 +47,182 @@ export enum ConsoleColorCodes { /** * The static functions on this class are used to produce colored text - * for use with the node-core-library terminal. + * for use with a terminal that supports ANSI escape codes. * * @example + * ```ts * terminal.writeLine(Colorize.green('Green Text!'), ' ', Colorize.blue('Blue Text!')); + *``` * - * @beta + * @public */ export class Colorize { public static black(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.BlackForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.BlackForeground, + SgrParameter.DefaultForeground, text ); } public static red(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.RedForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.RedForeground, + SgrParameter.DefaultForeground, text ); } public static green(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.GreenForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.GreenForeground, + SgrParameter.DefaultForeground, text ); } public static yellow(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.YellowForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.YellowForeground, + SgrParameter.DefaultForeground, text ); } public static blue(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.BlueForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.BlueForeground, + SgrParameter.DefaultForeground, text ); } public static magenta(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.MagentaForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.MagentaForeground, + SgrParameter.DefaultForeground, text ); } public static cyan(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.CyanForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.CyanForeground, + SgrParameter.DefaultForeground, text ); } public static white(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.WhiteForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.WhiteForeground, + SgrParameter.DefaultForeground, text ); } public static gray(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.GrayForeground, - ConsoleColorCodes.DefaultForeground, + SgrParameter.GrayForeground, + SgrParameter.DefaultForeground, text ); } public static blackBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.BlackBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.BlackBackground, + SgrParameter.DefaultBackground, text ); } public static redBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.RedBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.RedBackground, + SgrParameter.DefaultBackground, text ); } public static greenBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.GreenBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.GreenBackground, + SgrParameter.DefaultBackground, text ); } public static yellowBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.YellowBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.YellowBackground, + SgrParameter.DefaultBackground, text ); } public static blueBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.BlueBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.BlueBackground, + SgrParameter.DefaultBackground, text ); } public static magentaBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.MagentaBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.MagentaBackground, + SgrParameter.DefaultBackground, text ); } public static cyanBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.CyanBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.CyanBackground, + SgrParameter.DefaultBackground, text ); } public static whiteBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.WhiteBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.WhiteBackground, + SgrParameter.DefaultBackground, text ); } public static grayBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.GrayBackground, - ConsoleColorCodes.DefaultBackground, + SgrParameter.GrayBackground, + SgrParameter.DefaultBackground, text ); } public static bold(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.Bold, - ConsoleColorCodes.NormalColorOrIntensity, - text - ); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Bold, SgrParameter.NormalColorOrIntensity, text); } public static dim(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.Dim, - ConsoleColorCodes.NormalColorOrIntensity, - text - ); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Dim, SgrParameter.NormalColorOrIntensity, text); } public static underline(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.Underline, - ConsoleColorCodes.UnderlineOff, - text - ); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Underline, SgrParameter.UnderlineOff, text); } public static blink(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Blink, ConsoleColorCodes.BlinkOff, text); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Blink, SgrParameter.BlinkOff, text); } public static invertColor(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes( - ConsoleColorCodes.InvertColor, - ConsoleColorCodes.InvertColorOff, - text - ); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.InvertColor, SgrParameter.InvertColorOff, text); } public static hidden(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(ConsoleColorCodes.Hidden, ConsoleColorCodes.HiddenOff, text); + return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Hidden, SgrParameter.HiddenOff, text); } private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string { diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 056457bd16f..1e92acf5875 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { Colorize, ConsoleColorCodes } from './Colorize'; +import { Colorize, SgrParameter } from './Colorize'; import type { ITerminal, IWriteOptions, WriteParameters } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; @@ -248,111 +248,111 @@ export class Terminal implements ITerminal { const endColorCodes: number[] = []; switch (segment.foregroundColor) { case ColorValue.Black: { - startColorCodes.push(ConsoleColorCodes.BlackForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.BlackForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Red: { - startColorCodes.push(ConsoleColorCodes.RedForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.RedForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Green: { - startColorCodes.push(ConsoleColorCodes.GreenForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.GreenForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Yellow: { - startColorCodes.push(ConsoleColorCodes.YellowForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.YellowForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Blue: { - startColorCodes.push(ConsoleColorCodes.BlueForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.BlueForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Magenta: { - startColorCodes.push(ConsoleColorCodes.MagentaForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.MagentaForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Cyan: { - startColorCodes.push(ConsoleColorCodes.CyanForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.CyanForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.White: { - startColorCodes.push(ConsoleColorCodes.WhiteForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.WhiteForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } case ColorValue.Gray: { - startColorCodes.push(ConsoleColorCodes.GrayForeground); - endColorCodes.push(ConsoleColorCodes.DefaultForeground); + startColorCodes.push(SgrParameter.GrayForeground); + endColorCodes.push(SgrParameter.DefaultForeground); break; } } switch (segment.backgroundColor) { case ColorValue.Black: { - startColorCodes.push(ConsoleColorCodes.BlackBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.BlackBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Red: { - startColorCodes.push(ConsoleColorCodes.RedBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.RedBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Green: { - startColorCodes.push(ConsoleColorCodes.GreenBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.GreenBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Yellow: { - startColorCodes.push(ConsoleColorCodes.YellowBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.YellowBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Blue: { - startColorCodes.push(ConsoleColorCodes.BlueBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.BlueBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Magenta: { - startColorCodes.push(ConsoleColorCodes.MagentaBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.MagentaBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Cyan: { - startColorCodes.push(ConsoleColorCodes.CyanBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.CyanBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.White: { - startColorCodes.push(ConsoleColorCodes.WhiteBackground); - endColorCodes.push(ConsoleColorCodes.DefaultBackground); + startColorCodes.push(SgrParameter.WhiteBackground); + endColorCodes.push(SgrParameter.DefaultBackground); break; } case ColorValue.Gray: { - startColorCodes.push(ConsoleColorCodes.GrayBackground); + startColorCodes.push(SgrParameter.GrayBackground); endColorCodes.push(49); break; } @@ -362,38 +362,38 @@ export class Terminal implements ITerminal { for (const textAttribute of segment.textAttributes) { switch (textAttribute) { case TextAttribute.Bold: { - startColorCodes.push(ConsoleColorCodes.Bold); - endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); + startColorCodes.push(SgrParameter.Bold); + endColorCodes.push(SgrParameter.NormalColorOrIntensity); break; } case TextAttribute.Dim: { - startColorCodes.push(ConsoleColorCodes.Dim); - endColorCodes.push(ConsoleColorCodes.NormalColorOrIntensity); + startColorCodes.push(SgrParameter.Dim); + endColorCodes.push(SgrParameter.NormalColorOrIntensity); break; } case TextAttribute.Underline: { - startColorCodes.push(ConsoleColorCodes.Underline); - endColorCodes.push(ConsoleColorCodes.UnderlineOff); + startColorCodes.push(SgrParameter.Underline); + endColorCodes.push(SgrParameter.UnderlineOff); break; } case TextAttribute.Blink: { - startColorCodes.push(ConsoleColorCodes.Blink); - endColorCodes.push(ConsoleColorCodes.BlinkOff); + startColorCodes.push(SgrParameter.Blink); + endColorCodes.push(SgrParameter.BlinkOff); break; } case TextAttribute.InvertColor: { - startColorCodes.push(ConsoleColorCodes.InvertColor); - endColorCodes.push(ConsoleColorCodes.InvertColorOff); + startColorCodes.push(SgrParameter.InvertColor); + endColorCodes.push(SgrParameter.InvertColorOff); break; } case TextAttribute.Hidden: { - startColorCodes.push(ConsoleColorCodes.Hidden); - endColorCodes.push(ConsoleColorCodes.HiddenOff); + startColorCodes.push(SgrParameter.Hidden); + endColorCodes.push(SgrParameter.HiddenOff); break; } } diff --git a/libraries/terminal/src/TerminalWritable.ts b/libraries/terminal/src/TerminalWritable.ts index f7b61b742df..22f20f72263 100644 --- a/libraries/terminal/src/TerminalWritable.ts +++ b/libraries/terminal/src/TerminalWritable.ts @@ -26,7 +26,7 @@ export interface ITerminalWritableOptions { /** * The abstract base class for objects that can present, route, or process text output for * a console application. This output is typically prepared using - * the {@link @rushstack/node-core-library#Terminal} API. + * the {@link Terminal} API. * * @remarks * From 0282a1a25930dd93be3fcb7aa986fe0bf4a6d0da Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Thu, 12 Oct 2023 03:06:51 -0400 Subject: [PATCH 144/180] Include a missing config file. --- libraries/terminal/config/rush-project.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 libraries/terminal/config/rush-project.json diff --git a/libraries/terminal/config/rush-project.json b/libraries/terminal/config/rush-project.json new file mode 100644 index 00000000000..4e090849eeb --- /dev/null +++ b/libraries/terminal/config/rush-project.json @@ -0,0 +1,14 @@ +{ + "extends": "@rushstack/heft-node-rig/profiles/default/config/rush-project.json", + + "operationSettings": [ + { + "operationName": "_phase:build", + "outputFolderNames": [".heft"] + }, + { + "operationName": "_phase:test", + "outputFolderNames": ["coverage"] + } + ] +} From 8b931651a48a92a9d6a5695d32d653eb38d5654e Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 25 Oct 2023 01:02:32 -0700 Subject: [PATCH 145/180] Add more documentation to Colorize. --- libraries/terminal/src/Colorize.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/terminal/src/Colorize.ts b/libraries/terminal/src/Colorize.ts index 1ddd38e6123..8c84bc71f62 100644 --- a/libraries/terminal/src/Colorize.ts +++ b/libraries/terminal/src/Colorize.ts @@ -49,8 +49,15 @@ export enum SgrParameter { * The static functions on this class are used to produce colored text * for use with a terminal that supports ANSI escape codes. * + * Note that this API always generates color codes, regardless of whether + * the process's stdout is a TTY. The reason is that, in a complex program, the + * code that is generating strings often does not know were those strings will end + * up. In some cases, the same log message may get printed both to a shell + * that supports color AND to a log file that does not. + * * @example * ```ts + * console.log(Colorize.red('Red Text!')) * terminal.writeLine(Colorize.green('Green Text!'), ' ', Colorize.blue('Blue Text!')); *``` * From a100033c8dbec52467674705f1239687ddcf638b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 25 Oct 2023 01:07:19 -0700 Subject: [PATCH 146/180] Rename SgrParameter to SgrParameterAttribute. --- libraries/terminal/src/AnsiEscape.ts | 64 ++++++++-------- libraries/terminal/src/Colorize.ts | 110 ++++++++++++++++----------- libraries/terminal/src/Terminal.ts | 96 +++++++++++------------ 3 files changed, 147 insertions(+), 123 deletions(-) diff --git a/libraries/terminal/src/AnsiEscape.ts b/libraries/terminal/src/AnsiEscape.ts index 211b1bb8622..c209718cd70 100644 --- a/libraries/terminal/src/AnsiEscape.ts +++ b/libraries/terminal/src/AnsiEscape.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { SgrParameter } from './Colorize'; +import { SgrParameterAttribute } from './Colorize'; /** * Options for {@link AnsiEscape.formatForTests}. @@ -84,69 +84,69 @@ export class AnsiEscape { // https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters private static _tryGetSgrFriendlyName(sgiParameter: number): string | undefined { switch (sgiParameter) { - case SgrParameter.BlackForeground: + case SgrParameterAttribute.BlackForeground: return 'black'; - case SgrParameter.RedForeground: + case SgrParameterAttribute.RedForeground: return 'red'; - case SgrParameter.GreenForeground: + case SgrParameterAttribute.GreenForeground: return 'green'; - case SgrParameter.YellowForeground: + case SgrParameterAttribute.YellowForeground: return 'yellow'; - case SgrParameter.BlueForeground: + case SgrParameterAttribute.BlueForeground: return 'blue'; - case SgrParameter.MagentaForeground: + case SgrParameterAttribute.MagentaForeground: return 'magenta'; - case SgrParameter.CyanForeground: + case SgrParameterAttribute.CyanForeground: return 'cyan'; - case SgrParameter.WhiteForeground: + case SgrParameterAttribute.WhiteForeground: return 'white'; - case SgrParameter.GrayForeground: + case SgrParameterAttribute.GrayForeground: return 'gray'; - case SgrParameter.DefaultForeground: + case SgrParameterAttribute.DefaultForeground: return 'default'; - case SgrParameter.BlackBackground: + case SgrParameterAttribute.BlackBackground: return 'black-bg'; - case SgrParameter.RedBackground: + case SgrParameterAttribute.RedBackground: return 'red-bg'; - case SgrParameter.GreenBackground: + case SgrParameterAttribute.GreenBackground: return 'green-bg'; - case SgrParameter.YellowBackground: + case SgrParameterAttribute.YellowBackground: return 'yellow-bg'; - case SgrParameter.BlueBackground: + case SgrParameterAttribute.BlueBackground: return 'blue-bg'; - case SgrParameter.MagentaBackground: + case SgrParameterAttribute.MagentaBackground: return 'magenta-bg'; - case SgrParameter.CyanBackground: + case SgrParameterAttribute.CyanBackground: return 'cyan-bg'; - case SgrParameter.WhiteBackground: + case SgrParameterAttribute.WhiteBackground: return 'white-bg'; - case SgrParameter.GrayBackground: + case SgrParameterAttribute.GrayBackground: return 'gray-bg'; - case SgrParameter.DefaultBackground: + case SgrParameterAttribute.DefaultBackground: return 'default-bg'; - case SgrParameter.Bold: + case SgrParameterAttribute.Bold: return 'bold'; - case SgrParameter.Dim: + case SgrParameterAttribute.Dim: return 'dim'; - case SgrParameter.NormalColorOrIntensity: + case SgrParameterAttribute.NormalColorOrIntensity: return 'normal'; - case SgrParameter.Underline: + case SgrParameterAttribute.Underline: return 'underline'; - case SgrParameter.UnderlineOff: + case SgrParameterAttribute.UnderlineOff: return 'underline-off'; - case SgrParameter.Blink: + case SgrParameterAttribute.Blink: return 'blink'; - case SgrParameter.BlinkOff: + case SgrParameterAttribute.BlinkOff: return 'blink-off'; - case SgrParameter.InvertColor: + case SgrParameterAttribute.InvertColor: return 'invert'; - case SgrParameter.InvertColorOff: + case SgrParameterAttribute.InvertColorOff: return 'invert-off'; - case SgrParameter.Hidden: + case SgrParameterAttribute.Hidden: return 'hidden'; - case SgrParameter.HiddenOff: + case SgrParameterAttribute.HiddenOff: return 'hidden-off'; default: return undefined; diff --git a/libraries/terminal/src/Colorize.ts b/libraries/terminal/src/Colorize.ts index 8c84bc71f62..666ebe0cecb 100644 --- a/libraries/terminal/src/Colorize.ts +++ b/libraries/terminal/src/Colorize.ts @@ -3,7 +3,7 @@ import { AnsiEscape } from './AnsiEscape'; -export enum SgrParameter { +export enum SgrParameterAttribute { BlackForeground = 30, RedForeground = 31, GreenForeground = 32, @@ -66,170 +66,194 @@ export enum SgrParameter { export class Colorize { public static black(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.BlackForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.BlackForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static red(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.RedForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.RedForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static green(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.GreenForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.GreenForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static yellow(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.YellowForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.YellowForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static blue(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.BlueForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.BlueForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static magenta(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.MagentaForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.MagentaForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static cyan(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.CyanForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.CyanForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static white(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.WhiteForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.WhiteForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static gray(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.GrayForeground, - SgrParameter.DefaultForeground, + SgrParameterAttribute.GrayForeground, + SgrParameterAttribute.DefaultForeground, text ); } public static blackBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.BlackBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.BlackBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static redBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.RedBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.RedBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static greenBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.GreenBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.GreenBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static yellowBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.YellowBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.YellowBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static blueBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.BlueBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.BlueBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static magentaBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.MagentaBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.MagentaBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static cyanBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.CyanBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.CyanBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static whiteBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.WhiteBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.WhiteBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static grayBackground(text: string): string { return Colorize._wrapTextInAnsiEscapeCodes( - SgrParameter.GrayBackground, - SgrParameter.DefaultBackground, + SgrParameterAttribute.GrayBackground, + SgrParameterAttribute.DefaultBackground, text ); } public static bold(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Bold, SgrParameter.NormalColorOrIntensity, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.Bold, + SgrParameterAttribute.NormalColorOrIntensity, + text + ); } public static dim(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Dim, SgrParameter.NormalColorOrIntensity, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.Dim, + SgrParameterAttribute.NormalColorOrIntensity, + text + ); } public static underline(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Underline, SgrParameter.UnderlineOff, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.Underline, + SgrParameterAttribute.UnderlineOff, + text + ); } public static blink(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Blink, SgrParameter.BlinkOff, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.Blink, + SgrParameterAttribute.BlinkOff, + text + ); } public static invertColor(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.InvertColor, SgrParameter.InvertColorOff, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.InvertColor, + SgrParameterAttribute.InvertColorOff, + text + ); } public static hidden(text: string): string { - return Colorize._wrapTextInAnsiEscapeCodes(SgrParameter.Hidden, SgrParameter.HiddenOff, text); + return Colorize._wrapTextInAnsiEscapeCodes( + SgrParameterAttribute.Hidden, + SgrParameterAttribute.HiddenOff, + text + ); } private static _wrapTextInAnsiEscapeCodes(startCode: number, endCode: number, text: string): string { diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 1e92acf5875..5a8e29971ee 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; -import { Colorize, SgrParameter } from './Colorize'; +import { Colorize, SgrParameterAttribute } from './Colorize'; import type { ITerminal, IWriteOptions, WriteParameters } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; @@ -248,111 +248,111 @@ export class Terminal implements ITerminal { const endColorCodes: number[] = []; switch (segment.foregroundColor) { case ColorValue.Black: { - startColorCodes.push(SgrParameter.BlackForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.BlackForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Red: { - startColorCodes.push(SgrParameter.RedForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.RedForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Green: { - startColorCodes.push(SgrParameter.GreenForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.GreenForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Yellow: { - startColorCodes.push(SgrParameter.YellowForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.YellowForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Blue: { - startColorCodes.push(SgrParameter.BlueForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.BlueForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Magenta: { - startColorCodes.push(SgrParameter.MagentaForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.MagentaForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Cyan: { - startColorCodes.push(SgrParameter.CyanForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.CyanForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.White: { - startColorCodes.push(SgrParameter.WhiteForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.WhiteForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } case ColorValue.Gray: { - startColorCodes.push(SgrParameter.GrayForeground); - endColorCodes.push(SgrParameter.DefaultForeground); + startColorCodes.push(SgrParameterAttribute.GrayForeground); + endColorCodes.push(SgrParameterAttribute.DefaultForeground); break; } } switch (segment.backgroundColor) { case ColorValue.Black: { - startColorCodes.push(SgrParameter.BlackBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.BlackBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Red: { - startColorCodes.push(SgrParameter.RedBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.RedBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Green: { - startColorCodes.push(SgrParameter.GreenBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.GreenBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Yellow: { - startColorCodes.push(SgrParameter.YellowBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.YellowBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Blue: { - startColorCodes.push(SgrParameter.BlueBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.BlueBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Magenta: { - startColorCodes.push(SgrParameter.MagentaBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.MagentaBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Cyan: { - startColorCodes.push(SgrParameter.CyanBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.CyanBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.White: { - startColorCodes.push(SgrParameter.WhiteBackground); - endColorCodes.push(SgrParameter.DefaultBackground); + startColorCodes.push(SgrParameterAttribute.WhiteBackground); + endColorCodes.push(SgrParameterAttribute.DefaultBackground); break; } case ColorValue.Gray: { - startColorCodes.push(SgrParameter.GrayBackground); + startColorCodes.push(SgrParameterAttribute.GrayBackground); endColorCodes.push(49); break; } @@ -362,38 +362,38 @@ export class Terminal implements ITerminal { for (const textAttribute of segment.textAttributes) { switch (textAttribute) { case TextAttribute.Bold: { - startColorCodes.push(SgrParameter.Bold); - endColorCodes.push(SgrParameter.NormalColorOrIntensity); + startColorCodes.push(SgrParameterAttribute.Bold); + endColorCodes.push(SgrParameterAttribute.NormalColorOrIntensity); break; } case TextAttribute.Dim: { - startColorCodes.push(SgrParameter.Dim); - endColorCodes.push(SgrParameter.NormalColorOrIntensity); + startColorCodes.push(SgrParameterAttribute.Dim); + endColorCodes.push(SgrParameterAttribute.NormalColorOrIntensity); break; } case TextAttribute.Underline: { - startColorCodes.push(SgrParameter.Underline); - endColorCodes.push(SgrParameter.UnderlineOff); + startColorCodes.push(SgrParameterAttribute.Underline); + endColorCodes.push(SgrParameterAttribute.UnderlineOff); break; } case TextAttribute.Blink: { - startColorCodes.push(SgrParameter.Blink); - endColorCodes.push(SgrParameter.BlinkOff); + startColorCodes.push(SgrParameterAttribute.Blink); + endColorCodes.push(SgrParameterAttribute.BlinkOff); break; } case TextAttribute.InvertColor: { - startColorCodes.push(SgrParameter.InvertColor); - endColorCodes.push(SgrParameter.InvertColorOff); + startColorCodes.push(SgrParameterAttribute.InvertColor); + endColorCodes.push(SgrParameterAttribute.InvertColorOff); break; } case TextAttribute.Hidden: { - startColorCodes.push(SgrParameter.Hidden); - endColorCodes.push(SgrParameter.HiddenOff); + startColorCodes.push(SgrParameterAttribute.Hidden); + endColorCodes.push(SgrParameterAttribute.HiddenOff); break; } } From e6c4045df692174ecc1c70e5cd57f9dbf0926c9d Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Thu, 20 Jan 2022 11:34:11 -0800 Subject: [PATCH 147/180] Rush change. --- .../rush/move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../heft/move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../rig-package/move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../terminal/move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2022-01-20-19-34.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ .../move-terminal_2023-10-08-18-30.json | 10 ++++++++++ 20 files changed, 200 insertions(+) create mode 100644 common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/localization-plugin/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json create mode 100644 common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json diff --git a/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json b/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..bd7ff97cb34 --- /dev/null +++ b/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..bdf32c7b09d --- /dev/null +++ b/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/debug-certificate-manager", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/debug-certificate-manager" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..95128aed453 --- /dev/null +++ b/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-api-extractor-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-api-extractor-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..9b24a4fdcca --- /dev/null +++ b/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-config-file", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-config-file" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..8453696f39b --- /dev/null +++ b/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-jest-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-jest-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..a259901b76f --- /dev/null +++ b/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-lint-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-lint-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..cb6f98ca14f --- /dev/null +++ b/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-typescript-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-typescript-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..e6a91323381 --- /dev/null +++ b/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-webpack4-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-webpack4-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..e62ded6bf1b --- /dev/null +++ b/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-webpack5-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-webpack5-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..4da3f257a2d --- /dev/null +++ b/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft" +} \ No newline at end of file diff --git a/common/changes/@rushstack/localization-plugin/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/localization-plugin/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..c44c0f04e57 --- /dev/null +++ b/common/changes/@rushstack/localization-plugin/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/localization-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/localization-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..3830d7f42e0 --- /dev/null +++ b/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/localization-utilities", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/localization-utilities" +} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..3a369bbae21 --- /dev/null +++ b/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "(BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package.", + "type": "major" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..eabefe94ed8 --- /dev/null +++ b/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/operation-graph", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/operation-graph" +} \ No newline at end of file diff --git a/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..672fa0fcb35 --- /dev/null +++ b/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/package-extractor", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/package-extractor" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..a46619d0a73 --- /dev/null +++ b/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-storybook-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/heft-storybook-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..4ba89332f41 --- /dev/null +++ b/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/terminal", + "comment": "Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package.", + "type": "minor" + } + ], + "packageName": "@rushstack/terminal" +} \ No newline at end of file diff --git a/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json new file mode 100644 index 00000000000..8f04a7afc26 --- /dev/null +++ b/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/typings-generator", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/typings-generator" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..c14ade57098 --- /dev/null +++ b/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack4-localization-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/webpack4-localization-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json new file mode 100644 index 00000000000..4d848c3d7d8 --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file From 19fe73c5b7b709ec2576733de7ea1e6749360731 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 31 Jan 2024 15:34:57 -0500 Subject: [PATCH 148/180] Rush update. --- .../workspace/common/pnpm-lock.yaml | 149 +++++++++--------- common/config/rush/pnpm-lock.yaml | 106 +++++++++++-- common/config/rush/repo-state.json | 2 +- 3 files changed, 174 insertions(+), 83 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index c697615db87..393e45bdc76 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -55,14 +55,14 @@ importers: specifier: file:rushstack-eslint-config-3.6.2.tgz version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.3.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.3.tgz + specifier: file:rushstack-heft-0.64.4.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.4.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.3.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) + specifier: file:rushstack-heft-lint-plugin-0.3.4.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.3.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) + specifier: file:rushstack-heft-typescript-plugin-0.3.4.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -79,14 +79,14 @@ importers: specifier: file:rushstack-eslint-config-3.6.2.tgz version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.3.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.3.tgz + specifier: file:rushstack-heft-0.64.4.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.4.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.3.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) + specifier: file:rushstack-heft-lint-plugin-0.3.4.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.3.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3) + specifier: file:rushstack-heft-typescript-plugin-0.3.4.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -4247,13 +4247,13 @@ packages: dependencies: '@pnpm/dependency-path': 2.1.2 '@pnpm/link-bins': 5.3.25 - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) - '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz(@types/node@18.17.15) - '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz(@types/node@18.17.15) + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz(@types/node@18.17.15) + '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz - '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) + '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz '@types/node-fetch': 2.6.2 '@yarnpkg/lockfile': 1.0.2 @@ -4440,17 +4440,18 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.64.3.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.3.tgz} + file:../temp/tarballs/rushstack-heft-0.64.4.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.4.tgz} name: '@rushstack/heft' - version: 0.64.3 + version: 0.64.4 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) - '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz '@types/tapable': 1.0.6 chokidar: 3.4.3 @@ -4464,45 +4465,46 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz} - id: file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz + file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz} + id: file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz name: '@rushstack/heft-config-file' - version: 0.14.7 + version: 0.14.8 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) jsonpath-plus: 4.0.0 transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz(@rushstack/heft@0.64.3): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz} - id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.3.tgz + file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz} + id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz name: '@rushstack/heft-lint-plugin' - version: 0.3.3 + version: 0.3.4 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.3.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.4.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) semver: 7.5.4 transitivePeerDependencies: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz(@rushstack/heft@0.64.3): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz} - id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.3.tgz + file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz} + id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz name: '@rushstack/heft-typescript-plugin' - version: 0.3.3 + version: 0.3.4 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.3.tgz - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.7.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.4.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) '@types/tapable': 1.0.6 semver: 7.5.4 tapable: 1.1.3 @@ -4510,11 +4512,11 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz} - id: file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz + file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz} + id: file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz name: '@rushstack/node-core-library' - version: 3.64.2 + version: 3.65.0 peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -4530,38 +4532,39 @@ packages: semver: 7.5.4 z-schema: 5.0.3 - file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.6.tgz} + file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz} name: '@rushstack/operation-graph' - version: 0.2.6 + version: 0.2.7 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) dev: true - file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz} - id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.21.tgz + file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz} + id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz name: '@rushstack/package-deps-hash' - version: 4.1.21 + version: 4.1.22 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz} - id: file:../temp/tarballs/rushstack-package-extractor-0.6.23.tgz + file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz} + id: file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz name: '@rushstack/package-extractor' - version: 0.6.23 + version: 0.6.24 dependencies: '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) ignore: 5.1.9 jszip: 3.8.0 minimatch: 3.0.8 @@ -4584,36 +4587,36 @@ packages: name: '@rushstack/rush-sdk' version: 5.113.4 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 tapable: 2.2.1 transitivePeerDependencies: - '@types/node' dev: false - file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz} - id: file:../temp/tarballs/rushstack-stream-collator-4.1.21.tgz + file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz} + id: file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz name: '@rushstack/stream-collator' - version: 4.1.21 + version: 4.1.22 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-terminal-0.7.20.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.20.tgz} - id: file:../temp/tarballs/rushstack-terminal-0.7.20.tgz + file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.21.tgz} + id: file:../temp/tarballs/rushstack-terminal-0.7.21.tgz name: '@rushstack/terminal' - version: 0.7.20 + version: 0.7.21 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.64.2.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) '@types/node': 18.17.15 file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz: diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dc62b49920d..d6e8fdfb810 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -128,6 +128,9 @@ importers: '@rushstack/rig-package': specifier: workspace:* version: link:../../libraries/rig-package + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@rushstack/ts-command-line': specifier: workspace:* version: link:../../libraries/ts-command-line @@ -297,6 +300,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal colors: specifier: ~1.2.1 version: 1.2.5 @@ -1777,7 +1783,7 @@ importers: version: 29.5.11 '@types/node': specifier: ts4.9 - version: 20.11.5 + version: 20.11.14 eslint: specifier: ~8.7.0 version: 8.7.0 @@ -1913,6 +1919,9 @@ importers: '@rushstack/rush-sdk': specifier: workspace:* version: link:../../libraries/rush-sdk + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal ../../build-tests/localization-plugin-test-01: dependencies: @@ -2069,6 +2078,10 @@ importers: version: link:../../libraries/node-core-library ../../build-tests/rush-amazon-s3-build-cache-plugin-integration-test: + dependencies: + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal devDependencies: '@rushstack/heft': specifier: workspace:* @@ -2122,9 +2135,9 @@ importers: '@microsoft/rush-lib': specifier: workspace:* version: link:../../libraries/rush-lib - '@rushstack/node-core-library': + '@rushstack/terminal': specifier: workspace:* - version: link:../../libraries/node-core-library + version: link:../../libraries/terminal devDependencies: '@rushstack/heft': specifier: workspace:* @@ -2150,6 +2163,9 @@ importers: '@rushstack/rush-redis-cobuild-plugin': specifier: workspace:* version: link:../../rush-plugins/rush-redis-cobuild-plugin + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/http-proxy': specifier: ~1.17.8 version: 1.17.11 @@ -2483,6 +2499,9 @@ importers: '@rushstack/heft-node-rig': specifier: 2.4.0 version: 2.4.0(@rushstack/heft@..+apps+heft)(@types/node@18.17.15)(jest-environment-jsdom@29.5.0) + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/heft-jest': specifier: 1.0.1 version: 1.0.1 @@ -2560,6 +2579,9 @@ importers: '@rushstack/heft-node-rig': specifier: 2.4.0 version: 2.4.0(@rushstack/heft@..+apps+heft)(@types/node@18.17.15)(jest-environment-jsdom@29.5.0) + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/heft-jest': specifier: 1.0.1 version: 1.0.1 @@ -2606,6 +2628,9 @@ importers: '@rushstack/heft-typescript-plugin': specifier: workspace:* version: link:../heft-typescript-plugin + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/eslint': specifier: 8.2.0 version: 8.2.0 @@ -2689,6 +2714,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal devDependencies: '@rushstack/heft': specifier: workspace:* @@ -2727,6 +2755,9 @@ importers: '@rushstack/heft-node-rig': specifier: 2.4.0 version: 2.4.0(@rushstack/heft@..+apps+heft)(@types/node@18.17.15)(jest-environment-jsdom@29.5.0) + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -2764,6 +2795,9 @@ importers: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/watchpack': specifier: 2.4.0 version: 2.4.0 @@ -2801,6 +2835,9 @@ importers: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/watchpack': specifier: 2.4.0 version: 2.4.0 @@ -2844,6 +2881,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../terminal node-forge: specifier: ~1.3.1 version: 1.3.1 @@ -2869,6 +2909,9 @@ importers: '@rushstack/rig-package': specifier: workspace:* version: link:../rig-package + '@rushstack/terminal': + specifier: workspace:* + version: link:../terminal jsonpath-plus: specifier: ~4.0.0 version: 4.0.0 @@ -2903,6 +2946,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../terminal '@rushstack/typings-generator': specifier: workspace:* version: link:../typings-generator @@ -3005,6 +3051,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../terminal devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -3400,14 +3449,23 @@ importers: version: link:../node-core-library devDependencies: '@rushstack/heft': - specifier: workspace:* - version: link:../../apps/heft + specifier: 0.64.0 + version: 0.64.0(@types/node@18.17.15) + '@rushstack/heft-node-rig': + specifier: 2.4.0 + version: 2.4.0(@rushstack/heft@0.64.0)(@types/node@18.17.15) + '@types/heft-jest': + specifier: 1.0.1 + version: 1.0.1 + '@types/node': + specifier: 18.17.15 + version: 18.17.15 colors: specifier: ~1.2.1 version: 1.2.5 - local-node-rig: + local-eslint-config: specifier: workspace:* - version: link:../../rigs/local-node-rig + version: link:../../eslint/local-eslint-config ../../libraries/tree-pattern: devDependencies: @@ -3469,6 +3527,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../terminal chokidar: specifier: ~3.4.0 version: 3.4.3 @@ -3540,6 +3601,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@rushstack/ts-command-line': specifier: workspace:* version: link:../../libraries/ts-command-line @@ -3753,6 +3817,9 @@ importers: '@rushstack/rush-sdk': specifier: workspace:* version: link:../../libraries/rush-sdk + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal https-proxy-agent: specifier: ~5.0.0 version: 5.0.1 @@ -3822,6 +3889,9 @@ importers: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/node-fetch': specifier: 2.6.2 version: 2.6.2 @@ -3837,6 +3907,9 @@ importers: '@rushstack/rush-sdk': specifier: workspace:* version: link:../../libraries/rush-sdk + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal devDependencies: '@rushstack/heft': specifier: workspace:* @@ -3863,6 +3936,9 @@ importers: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal local-node-rig: specifier: workspace:* version: link:../../rigs/local-node-rig @@ -3906,6 +3982,9 @@ importers: '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/compression': specifier: ~1.7.2 version: 1.7.2(@types/express@4.17.13) @@ -4000,6 +4079,9 @@ importers: '@rushstack/rush-vscode-command-webview': specifier: workspace:* version: link:../rush-vscode-command-webview + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@rushstack/ts-command-line': specifier: workspace:* version: link:../../libraries/ts-command-line @@ -4209,6 +4291,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal '@types/tapable': specifier: 1.0.6 version: 1.0.6 @@ -4310,6 +4395,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../../libraries/node-core-library + '@rushstack/terminal': + specifier: workspace:* + version: link:../../libraries/terminal devDependencies: '@rushstack/heft': specifier: workspace:* @@ -11538,8 +11626,8 @@ packages: /@types/node@18.17.15: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} - /@types/node@20.11.5: - resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + /@types/node@20.11.14: + resolution: {integrity: sha512-w3yWCcwULefjP9DmDDsgUskrMoOy5Z8MiwKHr1FvqGPtx7CvJzQvxD7eKpxNtklQxLruxSXWddyeRtyud0RcXQ==} dependencies: undici-types: 5.26.5 dev: true diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 2f5157a3cab..c69624d642c 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "4c17c55360a1f1c707f1aa08e0089c7563d471c0", + "pnpmShrinkwrapHash": "4405c3fd6daeaae9e8e28b2d2bffaf8b7d8689d8", "preferredVersionsHash": "40d4640a94cff77f7808a2f1960cc76231eb6f86" } From c7b4950db700deb5276d3bd995f4b4a8f9a2e3b4 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Fri, 16 Feb 2024 21:19:37 -0500 Subject: [PATCH 149/180] Rename lWriteOptions to ITerminalWriteOptions. --- common/reviews/api/terminal.api.md | 12 ++++++------ libraries/terminal/src/ITerminal.ts | 4 ++-- libraries/terminal/src/Terminal.ts | 6 +++--- libraries/terminal/src/index.ts | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index 297893f616b..5c4a2e49777 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -211,6 +211,11 @@ export interface ITerminalWritableOptions { preventAutoclose?: boolean; } +// @beta (undocumented) +export interface ITerminalWriteOptions { + doNotOverrideSgrCodes?: boolean; +} + // @public export interface ITextRewriterTransformOptions extends ITerminalTransformOptions { ensureNewlineAtEnd?: boolean; @@ -219,11 +224,6 @@ export interface ITextRewriterTransformOptions extends ITerminalTransformOptions textRewriters?: TextRewriter[]; } -// @beta (undocumented) -export interface IWriteOptions { - doNotOverrideSgrCodes?: boolean; -} - // @beta export class MockWritable extends TerminalWritable { // (undocumented) @@ -430,6 +430,6 @@ export class TextRewriterTransform extends TerminalTransform { } // @beta (undocumented) -export type WriteParameters = string[] | [...string[], IWriteOptions]; +export type WriteParameters = string[] | [...string[], ITerminalWriteOptions]; ``` diff --git a/libraries/terminal/src/ITerminal.ts b/libraries/terminal/src/ITerminal.ts index 95cabe85ade..80686c43218 100644 --- a/libraries/terminal/src/ITerminal.ts +++ b/libraries/terminal/src/ITerminal.ts @@ -6,7 +6,7 @@ import type { ITerminalProvider } from './ITerminalProvider'; /** * @beta */ -export interface IWriteOptions { +export interface ITerminalWriteOptions { /** * If set to true, SGR parameters will not be replaced by the terminal * standard (i.e. - red for errors, yellow for warnings). @@ -17,7 +17,7 @@ export interface IWriteOptions { /** * @beta */ -export type WriteParameters = string[] | [...string[], IWriteOptions]; +export type WriteParameters = string[] | [...string[], ITerminalWriteOptions]; /** * @beta diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 5a8e29971ee..9e3085dd79b 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -3,7 +3,7 @@ import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; import { Colorize, SgrParameterAttribute } from './Colorize'; -import type { ITerminal, IWriteOptions, WriteParameters } from './ITerminal'; +import type { ITerminal, ITerminalWriteOptions, WriteParameters } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; /** @@ -418,12 +418,12 @@ export class Terminal implements ITerminal { private _normalizeWriteParameters(parameters: WriteParameters): { parts: string[]; - options: IWriteOptions; + options: ITerminalWriteOptions; } { if (parameters.length === 0) { return { parts: [], options: {} }; } else { - const lastParameter: string | IWriteOptions = parameters[parameters.length - 1]; + const lastParameter: string | ITerminalWriteOptions = parameters[parameters.length - 1]; if (typeof lastParameter === 'string') { return { parts: parameters as string[], options: {} }; } else { diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index f2f3237baf0..c9c8903e5ba 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -30,7 +30,7 @@ export { ITerminalWritableOptions, TerminalWritable } from './TerminalWritable'; export { TextRewriterState, TextRewriter } from './TextRewriter'; export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewriterTransform'; export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; -export { ITerminal, WriteParameters, IWriteOptions } from './ITerminal'; +export { ITerminal, WriteParameters, ITerminalWriteOptions } from './ITerminal'; export { Terminal } from './Terminal'; export { Colorize } from './Colorize'; export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; From 5474234353738ee6513069fd7225b2da698d9945 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 01:11:17 -0500 Subject: [PATCH 150/180] Rename WriteParameters to TerminalWriteParameters. --- common/reviews/api/terminal.api.md | 46 ++++++++++++++--------------- libraries/terminal/src/ITerminal.ts | 22 +++++++------- libraries/terminal/src/Terminal.ts | 24 +++++++-------- libraries/terminal/src/index.ts | 2 +- 4 files changed, 47 insertions(+), 47 deletions(-) diff --git a/common/reviews/api/terminal.api.md b/common/reviews/api/terminal.api.md index 5c4a2e49777..6827400e8fe 100644 --- a/common/reviews/api/terminal.api.md +++ b/common/reviews/api/terminal.api.md @@ -168,16 +168,16 @@ export interface IStringBufferOutputOptions { export interface ITerminal { registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: WriteParameters): void; - writeDebug(...messageParts: WriteParameters): void; - writeDebugLine(...messageParts: WriteParameters): void; - writeError(...messageParts: WriteParameters): void; - writeErrorLine(...messageParts: WriteParameters): void; - writeLine(...messageParts: WriteParameters): void; - writeVerbose(...messageParts: WriteParameters): void; - writeVerboseLine(...messageParts: WriteParameters): void; - writeWarning(...messageParts: WriteParameters): void; - writeWarningLine(...messageParts: WriteParameters): void; + write(...messageParts: TerminalWriteParameters): void; + writeDebug(...messageParts: TerminalWriteParameters): void; + writeDebugLine(...messageParts: TerminalWriteParameters): void; + writeError(...messageParts: TerminalWriteParameters): void; + writeErrorLine(...messageParts: TerminalWriteParameters): void; + writeLine(...messageParts: TerminalWriteParameters): void; + writeVerbose(...messageParts: TerminalWriteParameters): void; + writeVerboseLine(...messageParts: TerminalWriteParameters): void; + writeWarning(...messageParts: TerminalWriteParameters): void; + writeWarningLine(...messageParts: TerminalWriteParameters): void; } // @public @@ -342,16 +342,16 @@ export class Terminal implements ITerminal { constructor(provider: ITerminalProvider); registerProvider(provider: ITerminalProvider): void; unregisterProvider(provider: ITerminalProvider): void; - write(...messageParts: WriteParameters): void; - writeDebug(...messageParts: WriteParameters): void; - writeDebugLine(...messageParts: WriteParameters): void; - writeError(...messageParts: WriteParameters): void; - writeErrorLine(...messageParts: WriteParameters): void; - writeLine(...messageParts: WriteParameters): void; - writeVerbose(...messageParts: WriteParameters): void; - writeVerboseLine(...messageParts: WriteParameters): void; - writeWarning(...messageParts: WriteParameters): void; - writeWarningLine(...messageParts: WriteParameters): void; + write(...messageParts: TerminalWriteParameters): void; + writeDebug(...messageParts: TerminalWriteParameters): void; + writeDebugLine(...messageParts: TerminalWriteParameters): void; + writeError(...messageParts: TerminalWriteParameters): void; + writeErrorLine(...messageParts: TerminalWriteParameters): void; + writeLine(...messageParts: TerminalWriteParameters): void; + writeVerbose(...messageParts: TerminalWriteParameters): void; + writeVerboseLine(...messageParts: TerminalWriteParameters): void; + writeWarning(...messageParts: TerminalWriteParameters): void; + writeWarningLine(...messageParts: TerminalWriteParameters): void; } // @public @@ -408,6 +408,9 @@ export abstract class TerminalWritable { writeChunk(chunk: ITerminalChunk): void; } +// @beta (undocumented) +export type TerminalWriteParameters = string[] | [...string[], ITerminalWriteOptions]; + // @public export abstract class TextRewriter { abstract close(state: TextRewriterState): string; @@ -429,7 +432,4 @@ export class TextRewriterTransform extends TerminalTransform { readonly textRewriters: ReadonlyArray; } -// @beta (undocumented) -export type WriteParameters = string[] | [...string[], ITerminalWriteOptions]; - ``` diff --git a/libraries/terminal/src/ITerminal.ts b/libraries/terminal/src/ITerminal.ts index 80686c43218..2d3e3b94dab 100644 --- a/libraries/terminal/src/ITerminal.ts +++ b/libraries/terminal/src/ITerminal.ts @@ -17,7 +17,7 @@ export interface ITerminalWriteOptions { /** * @beta */ -export type WriteParameters = string[] | [...string[], ITerminalWriteOptions]; +export type TerminalWriteParameters = string[] | [...string[], ITerminalWriteOptions]; /** * @beta @@ -36,12 +36,12 @@ export interface ITerminal { /** * Write a generic message to the terminal */ - write(...messageParts: WriteParameters): void; + write(...messageParts: TerminalWriteParameters): void; /** * Write a generic message to the terminal, followed by a newline */ - writeLine(...messageParts: WriteParameters): void; + writeLine(...messageParts: TerminalWriteParameters): void; /** * Write a warning message to the console with yellow text. @@ -49,7 +49,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarning(...messageParts: WriteParameters): void; + writeWarning(...messageParts: TerminalWriteParameters): void; /** * Write a warning message to the console with yellow text, followed by a newline. @@ -57,7 +57,7 @@ export interface ITerminal { * @remarks * The yellow color takes precedence over any other foreground colors set. */ - writeWarningLine(...messageParts: WriteParameters): void; + writeWarningLine(...messageParts: TerminalWriteParameters): void; /** * Write an error message to the console with red text. @@ -65,7 +65,7 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeError(...messageParts: WriteParameters): void; + writeError(...messageParts: TerminalWriteParameters): void; /** * Write an error message to the console with red text, followed by a newline. @@ -73,25 +73,25 @@ export interface ITerminal { * @remarks * The red color takes precedence over any other foreground colors set. */ - writeErrorLine(...messageParts: WriteParameters): void; + writeErrorLine(...messageParts: TerminalWriteParameters): void; /** * Write a verbose-level message. */ - writeVerbose(...messageParts: WriteParameters): void; + writeVerbose(...messageParts: TerminalWriteParameters): void; /** * Write a verbose-level message followed by a newline. */ - writeVerboseLine(...messageParts: WriteParameters): void; + writeVerboseLine(...messageParts: TerminalWriteParameters): void; /** * Write a debug-level message. */ - writeDebug(...messageParts: WriteParameters): void; + writeDebug(...messageParts: TerminalWriteParameters): void; /** * Write a debug-level message followed by a newline. */ - writeDebugLine(...messageParts: WriteParameters): void; + writeDebugLine(...messageParts: TerminalWriteParameters): void; } diff --git a/libraries/terminal/src/Terminal.ts b/libraries/terminal/src/Terminal.ts index 9e3085dd79b..cf346a8101f 100644 --- a/libraries/terminal/src/Terminal.ts +++ b/libraries/terminal/src/Terminal.ts @@ -3,7 +3,7 @@ import { type ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; import { Colorize, SgrParameterAttribute } from './Colorize'; -import type { ITerminal, ITerminalWriteOptions, WriteParameters } from './ITerminal'; +import type { ITerminal, ITerminalWriteOptions, TerminalWriteParameters } from './ITerminal'; import { AnsiEscape } from './AnsiEscape'; /** @@ -73,7 +73,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.write} */ - public write(...messageParts: WriteParameters): void { + public write(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.log, false); } @@ -81,7 +81,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeLine} */ - public writeLine(...messageParts: WriteParameters): void { + public writeLine(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.log, true); } @@ -89,7 +89,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeWarning} */ - public writeWarning(...messageParts: WriteParameters): void { + public writeWarning(...messageParts: TerminalWriteParameters): void { const { parts, options: { doNotOverrideSgrCodes } @@ -106,7 +106,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeWarningLine} */ - public writeWarningLine(...messageParts: WriteParameters): void { + public writeWarningLine(...messageParts: TerminalWriteParameters): void { const { parts, options: { doNotOverrideSgrCodes } @@ -123,7 +123,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeError} */ - public writeError(...messageParts: WriteParameters): void { + public writeError(...messageParts: TerminalWriteParameters): void { const { parts, options: { doNotOverrideSgrCodes } @@ -138,7 +138,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeErrorLine} */ - public writeErrorLine(...messageParts: WriteParameters): void { + public writeErrorLine(...messageParts: TerminalWriteParameters): void { const { parts, options: { doNotOverrideSgrCodes } @@ -153,7 +153,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeVerbose} */ - public writeVerbose(...messageParts: WriteParameters): void { + public writeVerbose(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.verbose, false); } @@ -161,7 +161,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeVerboseLine} */ - public writeVerboseLine(...messageParts: WriteParameters): void { + public writeVerboseLine(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.verbose, true); } @@ -169,7 +169,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeDebug} */ - public writeDebug(...messageParts: WriteParameters): void { + public writeDebug(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.debug, false); } @@ -177,7 +177,7 @@ export class Terminal implements ITerminal { /** * {@inheritdoc ITerminal.writeDebugLine} */ - public writeDebugLine(...messageParts: WriteParameters): void { + public writeDebugLine(...messageParts: TerminalWriteParameters): void { const { parts } = this._normalizeWriteParameters(messageParts); this._writeSegmentsToProviders(parts, TerminalProviderSeverity.debug, true); } @@ -416,7 +416,7 @@ export class Terminal implements ITerminal { return resultSegments.join(''); } - private _normalizeWriteParameters(parameters: WriteParameters): { + private _normalizeWriteParameters(parameters: TerminalWriteParameters): { parts: string[]; options: ITerminalWriteOptions; } { diff --git a/libraries/terminal/src/index.ts b/libraries/terminal/src/index.ts index c9c8903e5ba..c2c3c7dc0ff 100644 --- a/libraries/terminal/src/index.ts +++ b/libraries/terminal/src/index.ts @@ -30,7 +30,7 @@ export { ITerminalWritableOptions, TerminalWritable } from './TerminalWritable'; export { TextRewriterState, TextRewriter } from './TextRewriter'; export { ITextRewriterTransformOptions, TextRewriterTransform } from './TextRewriterTransform'; export { AnsiEscape, IAnsiEscapeConvertForTestsOptions } from './AnsiEscape'; -export { ITerminal, WriteParameters, ITerminalWriteOptions } from './ITerminal'; +export { ITerminal, TerminalWriteParameters, ITerminalWriteOptions } from './ITerminal'; export { Terminal } from './Terminal'; export { Colorize } from './Colorize'; export { ITerminalProvider, TerminalProviderSeverity } from './ITerminalProvider'; From ebbc9eabff7713d2ece49d82723b6a21ddef8347 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 01:16:24 -0500 Subject: [PATCH 151/180] Update changefiles. --- .../node-core-library/move-terminal_2022-01-20-19-34.json | 2 +- .../@rushstack/terminal/move-terminal_2022-01-20-19-34.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json index 3a369bbae21..7d03342fc47 100644 --- a/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json +++ b/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/node-core-library", - "comment": "(BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package.", + "comment": "(BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package. See https://github.com/microsoft/rushstack/pull/3176 for details.", "type": "major" } ], diff --git a/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json index 4ba89332f41..5f3c6b37153 100644 --- a/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json +++ b/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/terminal", - "comment": "Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package.", + "comment": "Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package. See https://github.com/microsoft/rushstack/pull/3176 for details.", "type": "minor" } ], From 3707ab0a873383e7fff6b28ef70981e373ab2fee Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 01:43:50 -0500 Subject: [PATCH 152/180] Update remaining references to Terminal. --- .../workspace/common/pnpm-lock.yaml | 276 +++++++++--------- .../src/logic/ProjectImpactGraphGenerator.ts | 5 +- .../test/ProjectImpactGraphGenerator.test.ts | 3 +- 3 files changed, 143 insertions(+), 141 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 393e45bdc76..1c53f7b572f 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -52,17 +52,17 @@ importers: typescript-newest-test: devDependencies: '@rushstack/eslint-config': - specifier: file:rushstack-eslint-config-3.6.2.tgz - version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@5.3.3) + specifier: file:rushstack-eslint-config-3.6.4.tgz + version: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.4.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.4.tgz + specifier: file:rushstack-heft-0.64.7.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.7.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.4.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) + specifier: file:rushstack-heft-lint-plugin-0.3.7.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.4.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) + specifier: file:rushstack-heft-typescript-plugin-0.3.7.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -76,17 +76,17 @@ importers: typescript-v4-test: devDependencies: '@rushstack/eslint-config': - specifier: file:rushstack-eslint-config-3.6.2.tgz - version: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@4.7.4) + specifier: file:rushstack-eslint-config-3.6.4.tgz + version: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.4.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.4.tgz + specifier: file:rushstack-heft-0.64.7.tgz + version: file:../temp/tarballs/rushstack-heft-0.64.7.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.4.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) + specifier: file:rushstack-heft-lint-plugin-0.3.7.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.4.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4) + specifier: file:rushstack-heft-typescript-plugin-0.3.7.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -4247,14 +4247,14 @@ packages: dependencies: '@pnpm/dependency-path': 2.1.2 '@pnpm/link-bins': 5.3.25 - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz(@types/node@18.17.15) - '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz(@types/node@18.17.15) - '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz - '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) - '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz(@types/node@18.17.15) + '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz(@types/node@18.17.15) + '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz + '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz '@types/node-fetch': 2.6.2 '@yarnpkg/lockfile': 1.0.2 builtin-modules: 3.1.0 @@ -4286,19 +4286,19 @@ packages: - encoding - supports-color - file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@4.7.4): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz} - id: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz + file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@4.7.4): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz} + id: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz name: '@rushstack/eslint-config' - version: 3.6.2 + version: 3.6.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '>=4.7.0' dependencies: '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz - '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@4.7.4) - '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@4.7.4) - '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@4.7.4) + '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz(eslint@8.7.0)(typescript@4.7.4) + '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz(eslint@8.7.0)(typescript@4.7.4) + '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz(eslint@8.7.0)(typescript@4.7.4) '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@4.7.4) '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@4.7.4) '@typescript-eslint/typescript-estree': 6.19.0(typescript@4.7.4) @@ -4312,19 +4312,19 @@ packages: - supports-color dev: true - file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz(eslint@8.7.0)(typescript@5.3.3): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz} - id: file:../temp/tarballs/rushstack-eslint-config-3.6.2.tgz + file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@5.3.3): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz} + id: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz name: '@rushstack/eslint-config' - version: 3.6.2 + version: 3.6.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '>=4.7.0' dependencies: '@rushstack/eslint-patch': file:../temp/tarballs/rushstack-eslint-patch-1.7.2.tgz - '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@5.3.3) - '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@5.3.3) - '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@5.3.3) + '@rushstack/eslint-plugin': file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz(eslint@8.7.0)(typescript@5.3.3) + '@rushstack/eslint-plugin-packlets': file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz(eslint@8.7.0)(typescript@5.3.3) + '@rushstack/eslint-plugin-security': file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.19.0(eslint@8.7.0)(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) @@ -4344,15 +4344,15 @@ packages: version: 1.7.2 dev: true - file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@4.7.4): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz(eslint@8.7.0)(typescript@4.7.4): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz name: '@rushstack/eslint-plugin' - version: 0.14.0 + version: 0.15.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.7.4) eslint: 8.7.0 transitivePeerDependencies: @@ -4360,15 +4360,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz(eslint@8.7.0)(typescript@5.3.3): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-0.14.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz(eslint@8.7.0)(typescript@5.3.3): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-0.15.1.tgz name: '@rushstack/eslint-plugin' - version: 0.14.0 + version: 0.15.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: @@ -4376,15 +4376,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@4.7.4): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz(eslint@8.7.0)(typescript@4.7.4): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz name: '@rushstack/eslint-plugin-packlets' - version: 0.9.0 + version: 0.9.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.7.4) eslint: 8.7.0 transitivePeerDependencies: @@ -4392,15 +4392,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz(eslint@8.7.0)(typescript@5.3.3): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz(eslint@8.7.0)(typescript@5.3.3): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-packlets-0.9.1.tgz name: '@rushstack/eslint-plugin-packlets' - version: 0.9.0 + version: 0.9.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: @@ -4408,15 +4408,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@4.7.4): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz(eslint@8.7.0)(typescript@4.7.4): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz name: '@rushstack/eslint-plugin-security' - version: 0.8.0 + version: 0.8.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@4.7.4) eslint: 8.7.0 transitivePeerDependencies: @@ -4424,15 +4424,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz(eslint@8.7.0)(typescript@5.3.3): - resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz} - id: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.0.tgz + file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz(eslint@8.7.0)(typescript@5.3.3): + resolution: {tarball: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz} + id: file:../temp/tarballs/rushstack-eslint-plugin-security-0.8.1.tgz name: '@rushstack/eslint-plugin-security' - version: 0.8.0 + version: 0.8.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz + '@rushstack/tree-pattern': file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz '@typescript-eslint/utils': 6.19.0(eslint@8.7.0)(typescript@5.3.3) eslint: 8.7.0 transitivePeerDependencies: @@ -4440,19 +4440,19 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.64.4.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.4.tgz} + file:../temp/tarballs/rushstack-heft-0.64.7.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.7.tgz} name: '@rushstack/heft' - version: 0.64.4 + version: 0.64.7 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz - '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) - '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz + '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz '@types/tapable': 1.0.6 chokidar: 3.4.3 fast-glob: 3.3.1 @@ -4465,46 +4465,46 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz} - id: file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz + file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz} + id: file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz name: '@rushstack/heft-config-file' - version: 0.14.8 + version: 0.14.10 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) jsonpath-plus: 4.0.0 transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz(@rushstack/heft@0.64.4): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz} - id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.4.tgz + file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz} + id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz name: '@rushstack/heft-lint-plugin' - version: 0.3.4 + version: 0.3.7 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.4.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.7.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) semver: 7.5.4 transitivePeerDependencies: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz(@rushstack/heft@0.64.4): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz} - id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.4.tgz + file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz} + id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz name: '@rushstack/heft-typescript-plugin' - version: 0.3.4 + version: 0.3.7 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.4.tgz - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.8.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.7.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) '@types/tapable': 1.0.6 semver: 7.5.4 tapable: 1.1.3 @@ -4512,11 +4512,11 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz} - id: file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz + file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz} + id: file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz name: '@rushstack/node-core-library' - version: 3.65.0 + version: 3.66.1 peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -4532,39 +4532,39 @@ packages: semver: 7.5.4 z-schema: 5.0.3 - file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.7.tgz} + file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz} name: '@rushstack/operation-graph' - version: 0.2.7 + version: 0.2.9 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) dev: true - file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz} - id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.22.tgz + file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz} + id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz name: '@rushstack/package-deps-hash' - version: 4.1.22 + version: 4.1.25 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz} - id: file:../temp/tarballs/rushstack-package-extractor-0.6.24.tgz + file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz} + id: file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz name: '@rushstack/package-extractor' - version: 0.6.24 + version: 0.6.27 dependencies: '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) ignore: 5.1.9 jszip: 3.8.0 minimatch: 3.0.8 @@ -4573,10 +4573,10 @@ packages: transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-rig-package-0.5.1.tgz} + file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz} name: '@rushstack/rig-package' - version: 0.5.1 + version: 0.5.2 dependencies: resolve: 1.22.1 strip-json-comments: 3.1.1 @@ -4587,48 +4587,48 @@ packages: name: '@rushstack/rush-sdk' version: 5.113.4 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 tapable: 2.2.1 transitivePeerDependencies: - '@types/node' dev: false - file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz} - id: file:../temp/tarballs/rushstack-stream-collator-4.1.22.tgz + file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz} + id: file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz name: '@rushstack/stream-collator' - version: 4.1.22 + version: 4.1.25 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-terminal-0.7.21.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.21.tgz} - id: file:../temp/tarballs/rushstack-terminal-0.7.21.tgz + file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.24.tgz} + id: file:../temp/tarballs/rushstack-terminal-0.7.24.tgz name: '@rushstack/terminal' - version: 0.7.21 + version: 0.7.24 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.65.0.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) '@types/node': 18.17.15 - file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-tree-pattern-0.3.2.tgz} + file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz} name: '@rushstack/tree-pattern' - version: 0.3.2 + version: 0.3.3 dev: true - file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-ts-command-line-4.17.1.tgz} + file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz} name: '@rushstack/ts-command-line' - version: 4.17.1 + version: 4.17.2 dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 diff --git a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts index ddbabb34116..560147f96a1 100644 --- a/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts +++ b/libraries/rush-lib/src/logic/ProjectImpactGraphGenerator.ts @@ -1,13 +1,14 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { Colors, FileSystem, Text, type ITerminal, Async } from '@rushstack/node-core-library'; +import { FileSystem, Text, Async } from '@rushstack/node-core-library'; import yaml from 'js-yaml'; import type { RushConfiguration } from '../api/RushConfiguration'; import type { RushConfigurationProject } from '../api/RushConfigurationProject'; import { Stopwatch } from '../utilities/Stopwatch'; import { RushConstants } from './RushConstants'; +import { Colorize, type ITerminal } from '@rushstack/terminal'; /** * Project property configuration @@ -146,7 +147,7 @@ export class ProjectImpactGraphGenerator { stopwatch.stop(); this._terminal.writeLine(); this._terminal.writeLine( - Colors.green(`Generate project impact graph successfully. (${stopwatch.toString()})`) + Colorize.green(`Generate project impact graph successfully. (${stopwatch.toString()})`) ); } diff --git a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts index b0d807950a4..89213fdb03b 100644 --- a/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts +++ b/libraries/rush-lib/src/logic/test/ProjectImpactGraphGenerator.test.ts @@ -1,10 +1,11 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { FileSystem, Path, StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; +import { FileSystem, Path } from '@rushstack/node-core-library'; import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; import { RushConfiguration } from '../../api/RushConfiguration'; import { Stopwatch } from '../../utilities/Stopwatch'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; const NORMALIZED_DIRNAME: string = Path.convertToSlashes(__dirname); From 35ce726b084c4297dd00902f29ede456e7080c4b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 02:11:24 -0500 Subject: [PATCH 153/180] Prettify the repo. --- apps/heft/src/pluginFramework/HeftPluginHost.ts | 2 +- .../@microsoft/rush/prettify_2024-02-17-07-11.json | 11 +++++++++++ .../heft-config-file/prettify_2024-02-17-07-11.json | 11 +++++++++++ .../@rushstack/heft/prettify_2024-02-17-07-11.json | 11 +++++++++++ .../terminal/prettify_2024-02-17-07-11.json | 11 +++++++++++ .../src/test/ConfigurationFile.test.ts | 11 ++--------- .../logic/buildCache/FileSystemBuildCacheProvider.ts | 2 +- libraries/rush-lib/src/logic/test/Telemetry.test.ts | 4 ++-- libraries/rush-lib/src/pluginFramework/RushSession.ts | 2 +- .../src/utilities/CollatedTerminalProvider.ts | 2 +- libraries/terminal/src/test/Colorize.test.ts | 2 +- 11 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json create mode 100644 common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json create mode 100644 common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json create mode 100644 common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json diff --git a/apps/heft/src/pluginFramework/HeftPluginHost.ts b/apps/heft/src/pluginFramework/HeftPluginHost.ts index 814a76578fc..a6dc607feb1 100644 --- a/apps/heft/src/pluginFramework/HeftPluginHost.ts +++ b/apps/heft/src/pluginFramework/HeftPluginHost.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import { SyncHook } from 'tapable'; -import { InternalError, } from '@rushstack/node-core-library'; +import { InternalError } from '@rushstack/node-core-library'; import type { ITerminal } from '@rushstack/terminal'; import type { HeftPluginDefinitionBase } from '../configuration/HeftPluginDefinition'; diff --git a/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json b/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json new file mode 100644 index 00000000000..efcd84c45fb --- /dev/null +++ b/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@microsoft/rush" + } + ], + "packageName": "@microsoft/rush", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json new file mode 100644 index 00000000000..ebc8dd79c07 --- /dev/null +++ b/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/heft-config-file" + } + ], + "packageName": "@rushstack/heft-config-file", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json new file mode 100644 index 00000000000..ef525830e37 --- /dev/null +++ b/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/heft" + } + ], + "packageName": "@rushstack/heft", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json new file mode 100644 index 00000000000..13894830365 --- /dev/null +++ b/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/terminal" + } + ], + "packageName": "@rushstack/terminal", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/libraries/heft-config-file/src/test/ConfigurationFile.test.ts b/libraries/heft-config-file/src/test/ConfigurationFile.test.ts index 744a3f1db3e..d0247d6da55 100644 --- a/libraries/heft-config-file/src/test/ConfigurationFile.test.ts +++ b/libraries/heft-config-file/src/test/ConfigurationFile.test.ts @@ -2,15 +2,8 @@ // See LICENSE in the project root for license information. import * as nodeJsPath from 'path'; -import { - FileSystem, - JsonFile, - Path, - Text -} from '@rushstack/node-core-library'; -import { -StringBufferTerminalProvider, -Terminal } from '@rushstack/terminal' +import { FileSystem, JsonFile, Path, Text } from '@rushstack/node-core-library'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/terminal'; import { RigConfig } from '@rushstack/rig-package'; import { ConfigurationFile, PathResolutionMethod, InheritanceType } from '../ConfigurationFile'; diff --git a/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts b/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts index b60e34748f1..240dc6477e0 100644 --- a/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts +++ b/libraries/rush-lib/src/logic/buildCache/FileSystemBuildCacheProvider.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import * as path from 'path'; -import { FileSystem, } from '@rushstack/node-core-library'; +import { FileSystem } from '@rushstack/node-core-library'; import type { ITerminal } from '@rushstack/terminal'; import type { RushConfiguration } from '../../api/RushConfiguration'; diff --git a/libraries/rush-lib/src/logic/test/Telemetry.test.ts b/libraries/rush-lib/src/logic/test/Telemetry.test.ts index 25af26294ca..d98795c26de 100644 --- a/libraries/rush-lib/src/logic/test/Telemetry.test.ts +++ b/libraries/rush-lib/src/logic/test/Telemetry.test.ts @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { JsonFile } from '@rushstack/node-core-library'; -import { ConsoleTerminalProvider } from '@rushstack/terminal' +import { JsonFile } from '@rushstack/node-core-library'; +import { ConsoleTerminalProvider } from '@rushstack/terminal'; import { RushConfiguration } from '../../api/RushConfiguration'; import { Rush } from '../../api/Rush'; diff --git a/libraries/rush-lib/src/pluginFramework/RushSession.ts b/libraries/rush-lib/src/pluginFramework/RushSession.ts index 5e1369ab7d4..221a23133f8 100644 --- a/libraries/rush-lib/src/pluginFramework/RushSession.ts +++ b/libraries/rush-lib/src/pluginFramework/RushSession.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import { InternalError, } from '@rushstack/node-core-library'; +import { InternalError } from '@rushstack/node-core-library'; import type { ITerminalProvider } from '@rushstack/terminal'; import { type ILogger, type ILoggerOptions, Logger } from './logging/Logger'; import { RushLifecycleHooks } from './RushLifeCycle'; diff --git a/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts b/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts index e6a6a6f99ea..d83701011c3 100644 --- a/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts +++ b/libraries/rush-lib/src/utilities/CollatedTerminalProvider.ts @@ -2,7 +2,7 @@ // See LICENSE in the project root for license information. import type { CollatedTerminal } from '@rushstack/stream-collator'; -import { type ITerminalProvider, TerminalProviderSeverity,TerminalChunkKind } from '@rushstack/terminal'; +import { type ITerminalProvider, TerminalProviderSeverity, TerminalChunkKind } from '@rushstack/terminal'; export interface ICollatedTerminalProviderOptions { debugEnabled: boolean; diff --git a/libraries/terminal/src/test/Colorize.test.ts b/libraries/terminal/src/test/Colorize.test.ts index f617b0817fc..ffa0d5ce513 100644 --- a/libraries/terminal/src/test/Colorize.test.ts +++ b/libraries/terminal/src/test/Colorize.test.ts @@ -19,7 +19,7 @@ describe(Colorize.name, () => { it('generates codes as expected', () => { type ColorsFunctionNames = { - [K in keyof typeof Colorize]: (typeof Colorize)[K] extends (str: string) => string ? K : never; + [K in keyof typeof Colorize]: typeof Colorize[K] extends (str: string) => string ? K : never; }[keyof typeof Colorize]; function testColorFunction(functionName: ColorsFunctionNames): void { expect(Colorize[functionName]('x')).toMatchSnapshot(functionName); From ac46313fb016f098627449e0505743ca9f8d93ea Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 13:37:25 -0500 Subject: [PATCH 154/180] Graduate a few @beta APIs. --- .../ncl-major-bump_2024-02-17-18-39.json | 10 ++++++++++ common/reviews/api/node-core-library.api.md | 8 ++++---- libraries/node-core-library/src/Async.ts | 6 +++--- libraries/node-core-library/src/MinimumHeap.ts | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json diff --git a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json new file mode 100644 index 00000000000..5676a02cc5c --- /dev/null +++ b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Graduate `Async` and `MinimumHeap` APIs from beta to public.", + "type": "minor" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 14141d5a4d8..78ee062f9e8 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -23,7 +23,7 @@ export class AlreadyReportedError extends Error { constructor(); } -// @beta +// @public export class Async { static forEachAsync(iterable: Iterable | AsyncIterable, callback: (entry: TEntry, arrayIndex: number) => Promise, options?: IAsyncParallelismOptions | undefined): Promise; static getSignal(): [Promise, () => void, (err: Error) => void]; @@ -224,7 +224,7 @@ export enum FolderConstants { // @public export type FolderItem = fs.Dirent; -// @beta +// @public export interface IAsyncParallelismOptions { concurrency?: number; } @@ -556,7 +556,7 @@ export interface IReadLinesFromIterableOptions { ignoreEmptyLines?: boolean; } -// @beta (undocumented) +// @public (undocumented) export interface IRunWithRetriesOptions { // (undocumented) action: () => Promise | TResult; @@ -679,7 +679,7 @@ export class MapExtensions { }; } -// @beta +// @public export class MinimumHeap { constructor(comparator: (a: T, b: T) => number); peek(): T | undefined; diff --git a/libraries/node-core-library/src/Async.ts b/libraries/node-core-library/src/Async.ts index 1b3620e7082..c68f22240bb 100644 --- a/libraries/node-core-library/src/Async.ts +++ b/libraries/node-core-library/src/Async.ts @@ -7,7 +7,7 @@ * @remarks * Used with {@link Async.mapAsync} and {@link Async.forEachAsync}. * - * @beta + * @public */ export interface IAsyncParallelismOptions { /** @@ -21,7 +21,7 @@ export interface IAsyncParallelismOptions { * @remarks * Used with {@link Async.runWithRetriesAsync}. * - * @beta + * @public */ export interface IRunWithRetriesOptions { action: () => Promise | TResult; @@ -32,7 +32,7 @@ export interface IRunWithRetriesOptions { /** * Utilities for parallel asynchronous operations, for use with the system `Promise` APIs. * - * @beta + * @public */ export class Async { /** diff --git a/libraries/node-core-library/src/MinimumHeap.ts b/libraries/node-core-library/src/MinimumHeap.ts index 587d5ddcb70..e7406619d65 100644 --- a/libraries/node-core-library/src/MinimumHeap.ts +++ b/libraries/node-core-library/src/MinimumHeap.ts @@ -5,7 +5,7 @@ * Implements a standard heap data structure for items of type T and a custom comparator. * The root will always be the minimum value as determined by the comparator. * - * @beta + * @public */ export class MinimumHeap { private readonly _items: T[] = []; From dd1a917982f04bc45d5837809de2b7133ff83676 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 13:43:26 -0500 Subject: [PATCH 155/180] Remove deprecated APIs. --- .../ncl-major-bump_2024-02-17-18-40.json | 10 +++++++++ common/reviews/api/node-core-library.api.md | 6 ------ libraries/node-core-library/src/FileSystem.ts | 21 +------------------ .../node-core-library/src/LegacyAdapters.ts | 13 ------------ 4 files changed, 11 insertions(+), 39 deletions(-) create mode 100644 common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json diff --git a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json new file mode 100644 index 00000000000..4abcdcd6327 --- /dev/null +++ b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Remove deprecated `FileSystem.readFolder`, `FileSystem.readFolderAsync`, and `LegacyAdapters.sortStable` APIs.", + "type": "major" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 78ee062f9e8..18639622a0b 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -181,10 +181,6 @@ export class FileSystem { static readFileAsync(filePath: string, options?: IFileSystemReadFileOptions): Promise; static readFileToBuffer(filePath: string): Buffer; static readFileToBufferAsync(filePath: string): Promise; - // @deprecated (undocumented) - static readFolder(folderPath: string, options?: IFileSystemReadFolderOptions): string[]; - // @deprecated (undocumented) - static readFolderAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise; static readFolderItemNames(folderPath: string, options?: IFileSystemReadFolderOptions): string[]; static readFolderItemNamesAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise; static readFolderItems(folderPath: string, options?: IFileSystemReadFolderOptions): FolderItem[]; @@ -653,8 +649,6 @@ export class LegacyAdapters { // (undocumented) static convertCallbackToPromise(fn: (arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4, cb: LegacyCallback) => void, arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4): Promise; static scrubError(error: Error | string | any): Error; - // @deprecated - static sortStable(array: T[], compare?: (a: T, b: T) => number): void; } // @public diff --git a/libraries/node-core-library/src/FileSystem.ts b/libraries/node-core-library/src/FileSystem.ts index 1fd59ecf3ff..a35f746718b 100644 --- a/libraries/node-core-library/src/FileSystem.ts +++ b/libraries/node-core-library/src/FileSystem.ts @@ -31,7 +31,7 @@ export type FolderItem = fs.Dirent; /* eslint-disable no-bitwise */ /** - * The options for {@link FileSystem.readFolder} + * The options for {@link FileSystem.readFolderItems} and {@link FileSystem.readFolderItemNames}. * @public */ export interface IFileSystemReadFolderOptions { @@ -595,25 +595,6 @@ export class FileSystem { }); } - /** - * @deprecated - * Use {@link FileSystem.readFolderItemNames} instead. - */ - public static readFolder(folderPath: string, options?: IFileSystemReadFolderOptions): string[] { - return FileSystem.readFolderItemNames(folderPath, options); - } - - /** - * @deprecated - * Use {@link FileSystem.readFolderItemNamesAsync} instead. - */ - public static async readFolderAsync( - folderPath: string, - options?: IFileSystemReadFolderOptions - ): Promise { - return await FileSystem.readFolderItemNamesAsync(folderPath, options); - } - /** * Reads the names of folder entries, not including "." or "..". * Behind the scenes it uses `fs.readdirSync()`. diff --git a/libraries/node-core-library/src/LegacyAdapters.ts b/libraries/node-core-library/src/LegacyAdapters.ts index d5edf1a3cec..ab9a4cd276b 100644 --- a/libraries/node-core-library/src/LegacyAdapters.ts +++ b/libraries/node-core-library/src/LegacyAdapters.ts @@ -96,17 +96,4 @@ export class LegacyAdapters { return errorObject; } } - - /** - * Prior to Node 11.x, the `Array.sort()` algorithm is not guaranteed to be stable. - * If you need a stable sort, you can use `sortStable()` as a workaround. - * - * @deprecated - * Use native Array.sort(), since Node < 14 is no longer supported - * @remarks - * On NodeJS 11.x and later, this method simply calls the native `Array.sort()`. - */ - public static sortStable(array: T[], compare?: (a: T, b: T) => number): void { - Array.prototype.sort.call(array, compare); - } } From 1bfb923177120040fe8c87e0a0629cff847e0776 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sat, 17 Feb 2024 20:25:55 -0500 Subject: [PATCH 156/180] Fix license headings. --- .../license-first-lines_2024-02-18-01-28.json | 11 +++++ .../license-first-lines_2024-02-18-01-28.json | 11 +++++ .../license-first-lines_2024-02-18-01-28.json | 11 +++++ .../license-first-lines_2024-02-18-01-28.json | 11 +++++ libraries/api-extractor-model/LICENSE | 2 +- libraries/package-deps-hash/LICENSE | 46 +++++++++--------- rush-plugins/rush-serve-plugin/LICENSE | 2 +- webpack/loader-raw-script/LICENSE | 48 +++++++++---------- 8 files changed, 93 insertions(+), 49 deletions(-) create mode 100644 common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json create mode 100644 common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json create mode 100644 common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json create mode 100644 common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json diff --git a/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json b/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json new file mode 100644 index 00000000000..d8715f119ee --- /dev/null +++ b/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix a formatting issue with the LICENSE.", + "type": "patch", + "packageName": "@microsoft/api-extractor-model" + } + ], + "packageName": "@microsoft/api-extractor-model", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json b/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json new file mode 100644 index 00000000000..0e464ae5dc1 --- /dev/null +++ b/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix a formatting issue with the LICENSE.", + "type": "none", + "packageName": "@microsoft/rush" + } + ], + "packageName": "@microsoft/rush", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json b/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json new file mode 100644 index 00000000000..79b1e28f518 --- /dev/null +++ b/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix a formatting issue with the LICENSE.", + "type": "patch", + "packageName": "@rushstack/loader-raw-script" + } + ], + "packageName": "@rushstack/loader-raw-script", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json b/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json new file mode 100644 index 00000000000..10ad14271f5 --- /dev/null +++ b/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix a formatting issue with the LICENSE.", + "type": "patch", + "packageName": "@rushstack/package-deps-hash" + } + ], + "packageName": "@rushstack/package-deps-hash", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/libraries/api-extractor-model/LICENSE b/libraries/api-extractor-model/LICENSE index d9cfa3eb077..71a5411091a 100644 --- a/libraries/api-extractor-model/LICENSE +++ b/libraries/api-extractor-model/LICENSE @@ -1,4 +1,4 @@ -@microsoft/api-extractor +@microsoft/api-extractor-model Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/libraries/package-deps-hash/LICENSE b/libraries/package-deps-hash/LICENSE index 93142aec687..c47fca6439f 100644 --- a/libraries/package-deps-hash/LICENSE +++ b/libraries/package-deps-hash/LICENSE @@ -1,24 +1,24 @@ -@rushstack/package-deps-hash - -Copyright (c) Microsoft Corporation. All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +@rushstack/package-deps-hash + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/rush-plugins/rush-serve-plugin/LICENSE b/rush-plugins/rush-serve-plugin/LICENSE index a30e22afb98..3d9be20289b 100644 --- a/rush-plugins/rush-serve-plugin/LICENSE +++ b/rush-plugins/rush-serve-plugin/LICENSE @@ -1,4 +1,4 @@ -@rushstack/rush-litewatch-plugin +@rushstack/rush-serve-plugin Copyright (c) Microsoft Corporation. All rights reserved. diff --git a/webpack/loader-raw-script/LICENSE b/webpack/loader-raw-script/LICENSE index d5923df9eb4..efdea4ef4ce 100644 --- a/webpack/loader-raw-script/LICENSE +++ b/webpack/loader-raw-script/LICENSE @@ -1,24 +1,24 @@ -@rushstack/loader-raw-script - -Copyright (c) Microsoft Corporation. All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +@rushstack/loader-raw-script + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From 422763567614959fb71c5b92c244f969ca6d5c7e Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:39:54 -0800 Subject: [PATCH 157/180] Fix a minor issue found during prerelease testing of Rush --- .../assets/rush-init/common/config/rush/experiments.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json index 6ec6837d3dd..b831bc32a32 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/experiments.json @@ -82,8 +82,8 @@ * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies * by invoking "pnpm-sync" during the build. */ - /*[LINE "HYPOTHETICAL"]*/ "usePnpmSyncForInjectedDependencies": false, - + /*[LINE "HYPOTHETICAL"]*/ "usePnpmSyncForInjectedDependencies": true, + /** * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. */ From 864eeee929997981c05d47fa66774677f8bb8975 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:40:21 -0800 Subject: [PATCH 158/180] rush change --- .../rush/octogonz-rush-init_2024-02-19-21-40.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json diff --git a/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json b/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json new file mode 100644 index 00000000000..bd7ff97cb34 --- /dev/null +++ b/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From a7f4f671d5e02f6cb42b693b63dae91a9e1b5e22 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 19 Feb 2024 21:54:27 +0000 Subject: [PATCH 159/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 18 ++++++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/api-extractor/CHANGELOG.json | 15 ++++++++ apps/api-extractor/CHANGELOG.md | 7 +++- apps/heft/CHANGELOG.json | 24 +++++++++++++ apps/heft/CHANGELOG.md | 7 +++- apps/lockfile-explorer/CHANGELOG.json | 15 ++++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 15 ++++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 15 ++++++++ apps/trace-import/CHANGELOG.md | 7 +++- .../license-first-lines_2024-02-18-01-28.json | 11 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../prettify_2024-02-17-07-11.json | 11 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../heft/move-terminal_2022-01-20-19-34.json | 10 ------ .../heft/prettify_2024-02-17-07-11.json | 11 ------ .../license-first-lines_2024-02-18-01-28.json | 11 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../ncl-major-bump_2024-02-17-18-39.json | 10 ------ .../ncl-major-bump_2024-02-17-18-40.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../license-first-lines_2024-02-18-01-28.json | 11 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../terminal/prettify_2024-02-17-07-11.json | 11 ------ .../move-terminal_2022-01-20-19-34.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ .../move-terminal_2023-10-08-18-30.json | 10 ------ ...tricter-js-detection_2024-02-10-07-30.json | 10 ------ eslint/eslint-bulk/CHANGELOG.json | 12 +++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- .../heft-api-extractor-plugin/CHANGELOG.json | 27 ++++++++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 24 +++++++++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 24 +++++++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 27 ++++++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 24 +++++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 27 ++++++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- libraries/api-extractor-model/CHANGELOG.json | 17 +++++++++ libraries/api-extractor-model/CHANGELOG.md | 9 ++++- .../debug-certificate-manager/CHANGELOG.json | 18 ++++++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/heft-config-file/CHANGELOG.json | 15 ++++++++ libraries/heft-config-file/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 +++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 21 +++++++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 ++++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/node-core-library/CHANGELOG.json | 20 +++++++++++ libraries/node-core-library/CHANGELOG.md | 14 +++++++- libraries/operation-graph/CHANGELOG.json | 15 ++++++++ libraries/operation-graph/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 20 +++++++++++ libraries/package-deps-hash/CHANGELOG.md | 9 ++++- libraries/package-extractor/CHANGELOG.json | 24 +++++++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 18 ++++++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/terminal/CHANGELOG.json | 17 +++++++++ libraries/terminal/CHANGELOG.md | 9 ++++- libraries/typings-generator/CHANGELOG.json | 18 ++++++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 +++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 30 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 36 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 ++++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 ++++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 17 +++++++++ webpack/loader-raw-script/CHANGELOG.md | 9 ++++- .../CHANGELOG.json | 12 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 +++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 26 ++++++++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 9 ++++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- 117 files changed, 1172 insertions(+), 321 deletions(-) delete mode 100644 common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json delete mode 100644 common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json delete mode 100644 common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json delete mode 100644 common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json delete mode 100644 common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json delete mode 100644 common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json delete mode 100644 common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json delete mode 100644 common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json delete mode 100644 common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index 920d990e319..7eb5cff4ace 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.25", + "tag": "@microsoft/api-documenter_v7.23.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "7.23.24", "tag": "@microsoft/api-documenter_v7.23.24", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index b8247a38198..381a088dacd 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 7.23.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 7.23.24 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index 00cafe694cb..97a49f3dff8 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.40.3", + "tag": "@microsoft/api-extractor_v7.40.3", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + } + ] + } + }, { "version": "7.40.2", "tag": "@microsoft/api-extractor_v7.40.2", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index 8ff56b30366..72437db7a7c 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 7.40.3 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 7.40.2 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 6b792c6544f..09031dcd109 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.64.8", + "tag": "@rushstack/heft_v0.64.8", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/operation-graph\" to `0.2.10`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + } + ] + } + }, { "version": "0.64.7", "tag": "@rushstack/heft_v0.64.7", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index e10f41c0493..0bfea194c89 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.64.8 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.64.7 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 59ef66b2504..0751897205d 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.25", + "tag": "@rushstack/lockfile-explorer_v1.2.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "1.2.24", "tag": "@rushstack/lockfile-explorer_v1.2.24", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index b64b7a57a68..04c023438de 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 1.2.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 1.2.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index 7d2ed5ef254..7b20f0f4715 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.25", + "tag": "@rushstack/rundown_v1.1.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "1.1.24", "tag": "@rushstack/rundown_v1.1.24", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index 7e5451bdbed..ae6f95c3b4a 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 1.1.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 1.1.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index 552859acc66..c656ce98c1b 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.25", + "tag": "@rushstack/trace-import_v0.3.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.3.24", "tag": "@rushstack/trace-import_v0.3.24", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index 0395811f3e1..6f64a056a1a 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.3.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.3.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json b/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json deleted file mode 100644 index d8715f119ee..00000000000 --- a/common/changes/@microsoft/api-extractor-model/license-first-lines_2024-02-18-01-28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix a formatting issue with the LICENSE.", - "type": "patch", - "packageName": "@microsoft/api-extractor-model" - } - ], - "packageName": "@microsoft/api-extractor-model", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index bdf32c7b09d..00000000000 --- a/common/changes/@rushstack/debug-certificate-manager/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/debug-certificate-manager", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/debug-certificate-manager" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index 95128aed453..00000000000 --- a/common/changes/@rushstack/heft-api-extractor-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-api-extractor-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-api-extractor-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 9b24a4fdcca..00000000000 --- a/common/changes/@rushstack/heft-config-file/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-config-file", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-config-file" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json deleted file mode 100644 index ebc8dd79c07..00000000000 --- a/common/changes/@rushstack/heft-config-file/prettify_2024-02-17-07-11.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@rushstack/heft-config-file" - } - ], - "packageName": "@rushstack/heft-config-file", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 8453696f39b..00000000000 --- a/common/changes/@rushstack/heft-jest-plugin/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-jest-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-jest-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index a259901b76f..00000000000 --- a/common/changes/@rushstack/heft-lint-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-lint-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-lint-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index cb6f98ca14f..00000000000 --- a/common/changes/@rushstack/heft-typescript-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-typescript-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-typescript-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index e6a91323381..00000000000 --- a/common/changes/@rushstack/heft-webpack4-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-webpack4-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-webpack4-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index e62ded6bf1b..00000000000 --- a/common/changes/@rushstack/heft-webpack5-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-webpack5-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-webpack5-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 4da3f257a2d..00000000000 --- a/common/changes/@rushstack/heft/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json deleted file mode 100644 index ef525830e37..00000000000 --- a/common/changes/@rushstack/heft/prettify_2024-02-17-07-11.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@rushstack/heft" - } - ], - "packageName": "@rushstack/heft", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json b/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json deleted file mode 100644 index 79b1e28f518..00000000000 --- a/common/changes/@rushstack/loader-raw-script/license-first-lines_2024-02-18-01-28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix a formatting issue with the LICENSE.", - "type": "patch", - "packageName": "@rushstack/loader-raw-script" - } - ], - "packageName": "@rushstack/loader-raw-script", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index 3830d7f42e0..00000000000 --- a/common/changes/@rushstack/localization-utilities/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/localization-utilities", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/localization-utilities" -} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 7d03342fc47..00000000000 --- a/common/changes/@rushstack/node-core-library/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "(BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package. See https://github.com/microsoft/rushstack/pull/3176 for details.", - "type": "major" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json deleted file mode 100644 index 5676a02cc5c..00000000000 --- a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "Graduate `Async` and `MinimumHeap` APIs from beta to public.", - "type": "minor" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json b/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json deleted file mode 100644 index 4abcdcd6327..00000000000 --- a/common/changes/@rushstack/node-core-library/ncl-major-bump_2024-02-17-18-40.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "Remove deprecated `FileSystem.readFolder`, `FileSystem.readFolderAsync`, and `LegacyAdapters.sortStable` APIs.", - "type": "major" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index eabefe94ed8..00000000000 --- a/common/changes/@rushstack/operation-graph/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/operation-graph", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/operation-graph" -} \ No newline at end of file diff --git a/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json b/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json deleted file mode 100644 index 10ad14271f5..00000000000 --- a/common/changes/@rushstack/package-deps-hash/license-first-lines_2024-02-18-01-28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix a formatting issue with the LICENSE.", - "type": "patch", - "packageName": "@rushstack/package-deps-hash" - } - ], - "packageName": "@rushstack/package-deps-hash", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index 672fa0fcb35..00000000000 --- a/common/changes/@rushstack/package-extractor/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/package-extractor", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/package-extractor" -} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index a46619d0a73..00000000000 --- a/common/changes/@rushstack/rig-package/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-storybook-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/heft-storybook-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 5f3c6b37153..00000000000 --- a/common/changes/@rushstack/terminal/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/terminal", - "comment": "Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package. See https://github.com/microsoft/rushstack/pull/3176 for details.", - "type": "minor" - } - ], - "packageName": "@rushstack/terminal" -} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json b/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json deleted file mode 100644 index 13894830365..00000000000 --- a/common/changes/@rushstack/terminal/prettify_2024-02-17-07-11.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@rushstack/terminal" - } - ], - "packageName": "@rushstack/terminal", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json b/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index 8f04a7afc26..00000000000 --- a/common/changes/@rushstack/typings-generator/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/typings-generator", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/typings-generator" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index c14ade57098..00000000000 --- a/common/changes/@rushstack/webpack4-localization-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack4-localization-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/webpack4-localization-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json b/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json deleted file mode 100644 index 4d848c3d7d8..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/move-terminal_2023-10-08-18-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "", - "type": "none" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json b/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json deleted file mode 100644 index 758f761f97f..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/stricter-js-detection_2024-02-10-07-30.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Filter out non-JS chunks.", - "type": "minor" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index 8a9a25394d8..04643682576 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.15", + "tag": "@rushstack/eslint-bulk_v0.1.15", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.1.14", "tag": "@rushstack/eslint-bulk_v0.1.14", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index 65f4222b3ad..85d13e6d60a 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.1.15 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.1.14 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index 0a892a93c74..a185d18dae4 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.8", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.8", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.7` to `0.64.8`" + } + ] + } + }, { "version": "0.3.7", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.7", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index 6d2b0a05ab2..32d906a23c5 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.3.8 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.3.7 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 381a59bc794..f342e940915 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.25", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.25`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.4.24", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.24", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 0573e9a13ec..99593093606 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.4.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.4.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index 2273802c06b..bb129868aa4 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.8", + "tag": "@rushstack/heft-jest-plugin_v0.11.8", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.11.7", "tag": "@rushstack/heft-jest-plugin_v0.11.7", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index 601c325f04c..a19e8487bd7 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.11.8 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.11.7 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index aa19080c6a2..293d0a06d8b 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.8", + "tag": "@rushstack/heft-lint-plugin_v0.3.8", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.7` to `0.64.8`" + } + ] + } + }, { "version": "0.3.7", "tag": "@rushstack/heft-lint-plugin_v0.3.7", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index 9c54181def7..48faa2e1e64 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.3.8 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.3.7 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 98a3712bf56..1af8c528c82 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.11", + "tag": "@rushstack/heft-sass-plugin_v0.13.11", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.11`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.25`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.13.10", "tag": "@rushstack/heft-sass-plugin_v0.13.10", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index f49d334b9a4..ba291846e87 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.13.11 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.13.10 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index 7aab7114414..b144ca5a23e 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.25", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.3.24", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.24", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index 04c7c226c1e..11f89af8930 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.3.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.3.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 27eb24036e3..10a89dfafe7 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.6.2", + "tag": "@rushstack/heft-storybook-plugin_v0.6.2", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.6.1", "tag": "@rushstack/heft-storybook-plugin_v0.6.1", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index d3ed1a5e60e..b6e762d9dbe 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.6.2 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.6.1 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index abb192e8d1d..c1f17f49f90 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.8", + "tag": "@rushstack/heft-typescript-plugin_v0.3.8", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.11`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.7` to `0.64.8`" + } + ] + } + }, { "version": "0.3.7", "tag": "@rushstack/heft-typescript-plugin_v0.3.7", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 7746f11d22f..3422bcae250 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.3.8 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.3.7 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index e72987ed0b4..c5c209bdd7f 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.25", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.25", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.25`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.10.24", "tag": "@rushstack/heft-webpack4-plugin_v0.10.24", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index d80b564ea00..477bc2f5344 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.10.25 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.10.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index 8575cb7d4c1..d3e707b1351 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.25", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.25", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.25`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.9.24", "tag": "@rushstack/heft-webpack5-plugin_v0.9.24", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index 4ae0270da25..405b49c44a9 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.9.25 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.9.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/api-extractor-model/CHANGELOG.json b/libraries/api-extractor-model/CHANGELOG.json index 338e22a94dd..b61b1fa3fe4 100644 --- a/libraries/api-extractor-model/CHANGELOG.json +++ b/libraries/api-extractor-model/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@microsoft/api-extractor-model", "entries": [ + { + "version": "7.28.11", + "tag": "@microsoft/api-extractor-model_v7.28.11", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "patch": [ + { + "comment": "Fix a formatting issue with the LICENSE." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + } + ] + } + }, { "version": "7.28.10", "tag": "@microsoft/api-extractor-model_v7.28.10", diff --git a/libraries/api-extractor-model/CHANGELOG.md b/libraries/api-extractor-model/CHANGELOG.md index 13b61f79845..eda20f753a5 100644 --- a/libraries/api-extractor-model/CHANGELOG.md +++ b/libraries/api-extractor-model/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/api-extractor-model -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 7.28.11 +Mon, 19 Feb 2024 21:54:26 GMT + +### Patches + +- Fix a formatting issue with the LICENSE. ## 7.28.10 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index b612ea03d90..db851689786 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.25", + "tag": "@rushstack/debug-certificate-manager_v1.3.25", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "1.3.24", "tag": "@rushstack/debug-certificate-manager_v1.3.24", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index ce44282fc8c..81b6379fa4c 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 1.3.25 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 1.3.24 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/libraries/heft-config-file/CHANGELOG.json b/libraries/heft-config-file/CHANGELOG.json index 49daa5b61e7..05f9d4c81c4 100644 --- a/libraries/heft-config-file/CHANGELOG.json +++ b/libraries/heft-config-file/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-config-file", "entries": [ + { + "version": "0.14.11", + "tag": "@rushstack/heft-config-file_v0.14.11", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + } + ] + } + }, { "version": "0.14.10", "tag": "@rushstack/heft-config-file_v0.14.10", diff --git a/libraries/heft-config-file/CHANGELOG.md b/libraries/heft-config-file/CHANGELOG.md index 9eb71521a42..1b857ed9378 100644 --- a/libraries/heft-config-file/CHANGELOG.md +++ b/libraries/heft-config-file/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-config-file -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 0.14.11 +Mon, 19 Feb 2024 21:54:26 GMT + +_Version update only_ ## 0.14.10 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 54dd662198e..72715c33b39 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.101", + "tag": "@microsoft/load-themed-styles_v2.0.101", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "2.0.100", "tag": "@microsoft/load-themed-styles_v2.0.100", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index 452b01fcc0d..47d7e10111f 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 2.0.101 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 2.0.100 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index c8fc5fb56da..63be8b3528f 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.25", + "tag": "@rushstack/localization-utilities_v0.9.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.9.24", "tag": "@rushstack/localization-utilities_v0.9.24", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index 9754abc7a40..650d4718207 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.9.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.9.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index 1cb3d031143..4bda86427c3 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.25", + "tag": "@rushstack/module-minifier_v0.4.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.4.24", "tag": "@rushstack/module-minifier_v0.4.24", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index 50da28d51b6..a757851f9f3 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Sat, 17 Feb 2024 06:24:34 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.4.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.4.24 Sat, 17 Feb 2024 06:24:34 GMT diff --git a/libraries/node-core-library/CHANGELOG.json b/libraries/node-core-library/CHANGELOG.json index 3b85615086b..2beb50827d1 100644 --- a/libraries/node-core-library/CHANGELOG.json +++ b/libraries/node-core-library/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/node-core-library", "entries": [ + { + "version": "4.0.0", + "tag": "@rushstack/node-core-library_v4.0.0", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "major": [ + { + "comment": "(BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package. See https://github.com/microsoft/rushstack/pull/3176 for details." + }, + { + "comment": "Remove deprecated `FileSystem.readFolder`, `FileSystem.readFolderAsync`, and `LegacyAdapters.sortStable` APIs." + } + ], + "minor": [ + { + "comment": "Graduate `Async` and `MinimumHeap` APIs from beta to public." + } + ] + } + }, { "version": "3.66.1", "tag": "@rushstack/node-core-library_v3.66.1", diff --git a/libraries/node-core-library/CHANGELOG.md b/libraries/node-core-library/CHANGELOG.md index c9f959ed5df..4698a0a544b 100644 --- a/libraries/node-core-library/CHANGELOG.md +++ b/libraries/node-core-library/CHANGELOG.md @@ -1,6 +1,18 @@ # Change Log - @rushstack/node-core-library -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 4.0.0 +Mon, 19 Feb 2024 21:54:27 GMT + +### Breaking changes + +- (BREAKING CHANGE) Remove the Terminal and related APIs (Colors, AsciEscape, etc). These have been moved into the @rushstack/terminal package. See https://github.com/microsoft/rushstack/pull/3176 for details. +- Remove deprecated `FileSystem.readFolder`, `FileSystem.readFolderAsync`, and `LegacyAdapters.sortStable` APIs. + +### Minor changes + +- Graduate `Async` and `MinimumHeap` APIs from beta to public. ## 3.66.1 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/operation-graph/CHANGELOG.json b/libraries/operation-graph/CHANGELOG.json index 66e2e826b6b..a3541d09afb 100644 --- a/libraries/operation-graph/CHANGELOG.json +++ b/libraries/operation-graph/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/operation-graph", "entries": [ + { + "version": "0.2.10", + "tag": "@rushstack/operation-graph_v0.2.10", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + } + ] + } + }, { "version": "0.2.9", "tag": "@rushstack/operation-graph_v0.2.9", diff --git a/libraries/operation-graph/CHANGELOG.md b/libraries/operation-graph/CHANGELOG.md index e3c95031102..fea0038530f 100644 --- a/libraries/operation-graph/CHANGELOG.md +++ b/libraries/operation-graph/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/operation-graph -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.2.10 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.2.9 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index 8166aad5cbe..05cc3dbcd7f 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.26", + "tag": "@rushstack/package-deps-hash_v4.1.26", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "patch": [ + { + "comment": "Fix a formatting issue with the LICENSE." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "4.1.25", "tag": "@rushstack/package-deps-hash_v4.1.25", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index 8a908374f8e..b4ec2fbf2fc 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 4.1.26 +Mon, 19 Feb 2024 21:54:27 GMT + +### Patches + +- Fix a formatting issue with the LICENSE. ## 4.1.25 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index 6b562f1991e..d1b8a7fa07b 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.28", + "tag": "@rushstack/package-extractor_v0.6.28", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.25`" + } + ] + } + }, { "version": "0.6.27", "tag": "@rushstack/package-extractor_v0.6.27", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index dc8fa737d35..4a09f1180b8 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.6.28 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.6.27 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index f8d187dd9d0..7cae1ceb3e2 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.26", + "tag": "@rushstack/stream-collator_v4.1.26", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "4.1.25", "tag": "@rushstack/stream-collator_v4.1.25", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index 113bd760a4e..0e7b8cdc738 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 4.1.26 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 4.1.25 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index ddc3d40a0b9..528bfce4072 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.8.0", + "tag": "@rushstack/terminal_v0.8.0", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "minor": [ + { + "comment": "Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package. See https://github.com/microsoft/rushstack/pull/3176 for details." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + } + ] + } + }, { "version": "0.7.24", "tag": "@rushstack/terminal_v0.7.24", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index e44efa9d09a..101c5355d23 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/terminal -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.8.0 +Mon, 19 Feb 2024 21:54:27 GMT + +### Minor changes + +- Introduce a Terminal, Colors, AsciEscape, and some related APIs. These APIs were previously in the @rushstack/node-core-library package. See https://github.com/microsoft/rushstack/pull/3176 for details. ## 0.7.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 6ff146f456a..3dea1dbd1c2 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.25", + "tag": "@rushstack/typings-generator_v0.12.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.12.24", "tag": "@rushstack/typings-generator_v0.12.24", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index dce6f8a26e6..691c339afd7 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.12.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.12.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index c483b6e1421..f1badcd9dd6 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.25", + "tag": "@rushstack/worker-pool_v0.4.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.4.24", "tag": "@rushstack/worker-pool_v0.4.24", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index e6118e513aa..05ba745a3bb 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.4.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.4.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 61ce94aac85..9ff114e4a26 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,36 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.10", + "tag": "@rushstack/heft-node-rig_v2.4.10", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "2.4.9", "tag": "@rushstack/heft-node-rig_v2.4.9", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index c86cdbf4fe8..6c47f7d3906 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 2.4.10 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 2.4.9 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index ffec92a84d8..02fa48b1f42 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,42 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.20.10", + "tag": "@rushstack/heft-web-rig_v0.20.10", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.3`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.11`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.7` to `^0.64.8`" + } + ] + } + }, { "version": "0.20.9", "tag": "@rushstack/heft-web-rig_v0.20.9", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 7a5ee27ae03..728f71f7ed0 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.20.10 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.20.9 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index ddf6f34d651..db9efb257fa 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.17", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.17", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "1.0.16", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.16", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index b430bf5e330..5906ef702f2 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 1.0.17 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 1.0.16 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index 8f463cb8f1c..12e767b8dfd 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.25", + "tag": "@microsoft/loader-load-themed-styles_v2.1.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.101`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.100` to `^2.0.101`" + } + ] + } + }, { "version": "2.1.24", "tag": "@microsoft/loader-load-themed-styles_v2.1.24", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index b488f0732ad..146569c6914 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 2.1.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 2.1.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index e45664e5180..e104a2c28cb 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.25", + "tag": "@rushstack/loader-raw-script_v1.4.25", + "date": "Mon, 19 Feb 2024 21:54:26 GMT", + "comments": { + "patch": [ + { + "comment": "Fix a formatting issue with the LICENSE." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "1.4.24", "tag": "@rushstack/loader-raw-script_v1.4.24", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index 38d61817049..6653ecb64c1 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. + +## 1.4.25 +Mon, 19 Feb 2024 21:54:26 GMT + +### Patches + +- Fix a formatting issue with the LICENSE. ## 1.4.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index eec041975dc..86e22303c66 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.25", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.11.24", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.24", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index e125219e09f..f86d5be001c 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.11.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.11.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index 4052a3c6dc5..cf06aee4f0f 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.9", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.9", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "5.1.8", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.8", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 5be3ca966c2..a76dbdb5965 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 5.1.9 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 5.1.8 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index a18af60f7f7..b8f51ecdba1 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.26", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.26", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.2.25", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.25", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index ed0626390de..a090f790fe9 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.2.26 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.2.25 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 373f66ebba1..2ef6023b9b4 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.9", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.9", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.4.8", "tag": "@rushstack/webpack-plugin-utilities_v0.4.8", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index a982c3d8bb4..7b64dbfc1d8 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.4.9 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.4.8 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 67845fb7dc3..8b465ff9043 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.25", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.18.24", "tag": "@rushstack/webpack4-localization-plugin_v0.18.24", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index 6db24ab37fb..d06e5c354d2 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.18.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.18.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index b6eb2482b04..c9cee8f9026 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.25", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.25`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.13.24", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.24", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 3a705760908..159dc797cab 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.13.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.13.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 4101f2483bb..057ceb82065 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.25", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.101`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.100` to `^2.0.101`" + } + ] + } + }, { "version": "0.2.24", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.24", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 43f0d7bf04c..78951bbcdf2 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.2.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 0.2.24 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index f89df721a3b..d3e12188b13 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,32 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.9.0", + "tag": "@rushstack/webpack5-localization-plugin_v0.9.0", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "minor": [ + { + "comment": "Filter out non-JS chunks." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.25`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.0`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + } + ] + } + }, { "version": "0.8.1", "tag": "@rushstack/webpack5-localization-plugin_v0.8.1", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index a0c55ebd740..95b232edb10 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 0.9.0 +Mon, 19 Feb 2024 21:54:27 GMT + +### Minor changes + +- Filter out non-JS chunks. ## 0.8.1 Sat, 17 Feb 2024 06:24:35 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index 29e9cf0fb68..b672b3791d1 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.25", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.25", + "date": "Mon, 19 Feb 2024 21:54:27 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.25`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.64.8`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.25`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.24", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.24", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index 44cb06c4509..814f88ce484 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Sat, 17 Feb 2024 06:24:35 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. + +## 5.5.25 +Mon, 19 Feb 2024 21:54:27 GMT + +_Version update only_ ## 5.5.24 Sat, 17 Feb 2024 06:24:35 GMT From 4682bb225d6404f21b50469c6f699cb99c90a0c8 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 19 Feb 2024 21:54:29 +0000 Subject: [PATCH 160/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/api-extractor-model/package.json | 2 +- libraries/debug-certificate-manager/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 45 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index 417d55aa370..8b7ddeb93cc 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.24", + "version": "7.23.25", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index 19476508b5e..adfbc9d2c79 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.40.2", + "version": "7.40.3", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index 7ebc959d6ae..23743bf69b7 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.7", + "version": "0.64.8", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 9bfc4abf823..1b45f73e29b 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.24", + "version": "1.2.25", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index 018e7e46043..bd59f4d88cc 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.24", + "version": "1.1.25", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index 9f30de48117..be764e834a7 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.24", + "version": "0.3.25", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index 7b07de60543..28ba21347eb 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.14", + "version": "0.1.15", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 24bdca1f4b7..0de26be1ba2 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.7", + "version": "0.3.8", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.7" + "@rushstack/heft": "0.64.8" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 7ef1d2634f6..7dc9d250882 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.24", + "version": "0.4.25", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index 369bac3f025..a0d2e78bca4 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.7", + "version": "0.11.8", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7", + "@rushstack/heft": "^0.64.8", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index 329464f3e61..6de7dc2f514 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.7", + "version": "0.3.8", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.7" + "@rushstack/heft": "0.64.8" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index e7d096aab58..b59fd47b26a 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.10", + "version": "0.13.11", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index d42dfb5f885..7255f4a5b20 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.24", + "version": "0.3.25", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index bb29eaa7bd9..fb6b8f5e3d4 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.6.1", + "version": "0.6.2", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index 8f36a55c116..a2435bf669b 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.7", + "version": "0.3.8", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.7" + "@rushstack/heft": "0.64.8" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index 02ef197bdb1..f9d80679986 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.24", + "version": "0.10.25", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.7", + "@rushstack/heft": "^0.64.8", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 0d2e88e0aec..dca1e443f66 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.24", + "version": "0.9.25", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7", + "@rushstack/heft": "^0.64.8", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index 707af0e268b..94aade86184 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor-model", - "version": "7.28.10", + "version": "7.28.11", "description": "A helper library for loading and saving the .api.json files created by API Extractor", "repository": { "type": "git", diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 07de7c9918d..99ea8217d61 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.24", + "version": "1.3.25", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index 6e61789d749..412a2f54e33 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-config-file", - "version": "0.14.10", + "version": "0.14.11", "description": "Configuration file loader for @rushstack/heft", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 70275620c90..cf2817a9660 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.100", + "version": "2.0.101", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 70f7a6ec35b..0749e444944 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.24", + "version": "0.9.25", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index 23e22023cbf..d1da828a82b 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.24", + "version": "0.4.25", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 88cc4765333..f571da32594 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/node-core-library", - "version": "3.66.1", + "version": "4.0.0", "description": "Core libraries that every NodeJS toolchain project should use", "main": "lib/index.js", "typings": "dist/node-core-library.d.ts", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index f2ddff3df6d..25c73df6e8a 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/operation-graph", - "version": "0.2.9", + "version": "0.2.10", "description": "Library for managing and executing operations in a directed acyclic graph.", "main": "lib/index.js", "typings": "dist/operation-graph.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index fcb67a502f3..e2eeb277830 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.25", + "version": "4.1.26", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index 20c223afd59..e900ddb9876 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.27", + "version": "0.6.28", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index f56c28711c4..447cff5b4eb 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.25", + "version": "4.1.26", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index 73fb23d9393..b296fcf1711 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.7.24", + "version": "0.8.0", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 3124182aec0..81ac91ff09d 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.24", + "version": "0.12.25", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index d85adddebce..49b69dd6c9c 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.24", + "version": "0.4.25", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 2c15edbcbd2..553dce1f002 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.9", + "version": "2.4.10", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index ed377c5a398..5fcb401f3d3 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.9", + "version": "0.20.10", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.7" + "@rushstack/heft": "^0.64.8" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index a71b9599887..43c5ec70f84 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.16", + "version": "1.0.17", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 1b631716888..3f7024c37c4 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.24", + "version": "2.1.25", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.100" + "@microsoft/load-themed-styles": "^2.0.101" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index 851f78e1c5c..814db5f5cea 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.24", + "version": "1.4.25", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index b86dad7b0c8..577b3deca0f 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.24", + "version": "0.11.25", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index d6bca1ee490..03a6e63f7d4 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.8", + "version": "5.1.9", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index be07cda555e..9e7ef8f85bd 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.25", + "version": "0.2.26", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 204e7092228..d01dd50ac56 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.8", + "version": "0.4.9", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index f75e4102284..98688989d3d 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.24", + "version": "0.18.25", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index b08a7061249..ac824dbf801 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.24", + "version": "0.13.25", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index e378cf5665e..aa965253fe3 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.24", + "version": "0.2.25", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.100", + "@microsoft/load-themed-styles": "^2.0.101", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 4185f43255e..416d5ca6198 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.8.1", + "version": "0.9.0", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 9177f83433e..13b1c1b26d7 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.24", + "version": "5.5.25", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From ed239e0bb1100a08a148553a5e807b25857e41ad Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 19 Feb 2024 21:54:44 +0000 Subject: [PATCH 161/180] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 24 +++++++++++++++++++ apps/rush/CHANGELOG.md | 13 +++++++++- ...hao-enable-pnpm-sync_2024-01-22-21-34.json | 10 -------- ...hao-enable-pnpm-sync_2024-02-16-23-54.json | 10 -------- ...t-graph-after-update_2024-02-04-11-38.json | 10 -------- .../license-first-lines_2024-02-18-01-28.json | 11 --------- .../rush/move-terminal_2022-01-20-19-34.json | 10 -------- .../octogonz-rush-init_2024-02-19-21-40.json | 10 -------- .../rush/prettify_2024-02-17-07-11.json | 11 --------- ...ill-subspace-patch-3_2024-02-05-05-20.json | 10 -------- 10 files changed, 36 insertions(+), 83 deletions(-) delete mode 100644 common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json delete mode 100644 common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json delete mode 100644 common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json delete mode 100644 common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json delete mode 100644 common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json delete mode 100644 common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json delete mode 100644 common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json delete mode 100644 common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 9bf1e9a57f0..1b3e6afdd12 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.114.0", + "tag": "@microsoft/rush_v5.114.0", + "date": "Mon, 19 Feb 2024 21:54:44 GMT", + "comments": { + "none": [ + { + "comment": "(EXPERIMENTAL) Add `enablePnpmSyncForInjectedDependenciesMeta` to experiments.json; it is part of an upcoming feature for managing PNPM \"injected\" dependencies: https://www.npmjs.com/package/pnpm-sync" + }, + { + "comment": "Include a `pnpmPatchesCommonFolderName` constant for the folder name \"pnpm-patches\" that gets placed under \"common\"." + }, + { + "comment": "Add a feature to generate a `project-impact-graph.yaml` file in the repo root. This feature is gated under the new `generateProjectImpactGraphDuringRushUpdate` experiment." + }, + { + "comment": "Fix a formatting issue with the LICENSE." + }, + { + "comment": "Fix an issue with filtered installs when the experimental subspaces feature is enabled" + } + ] + } + }, { "version": "5.113.4", "tag": "@microsoft/rush_v5.113.4", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index 25c0a6e75a1..7456d79be82 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,17 @@ # Change Log - @microsoft/rush -This log was last generated on Wed, 31 Jan 2024 22:49:17 GMT and should not be manually modified. +This log was last generated on Mon, 19 Feb 2024 21:54:44 GMT and should not be manually modified. + +## 5.114.0 +Mon, 19 Feb 2024 21:54:44 GMT + +### Updates + +- (EXPERIMENTAL) Add `enablePnpmSyncForInjectedDependenciesMeta` to experiments.json; it is part of an upcoming feature for managing PNPM "injected" dependencies: https://www.npmjs.com/package/pnpm-sync +- Include a `pnpmPatchesCommonFolderName` constant for the folder name "pnpm-patches" that gets placed under "common". +- Add a feature to generate a `project-impact-graph.yaml` file in the repo root. This feature is gated under the new `generateProjectImpactGraphDuringRushUpdate` experiment. +- Fix a formatting issue with the LICENSE. +- Fix an issue with filtered installs when the experimental subspaces feature is enabled ## 5.113.4 Wed, 31 Jan 2024 22:49:17 GMT diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json deleted file mode 100644 index 8d9956f391f..00000000000 --- a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-01-22-21-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "(EXPERIMENTAL) Add `enablePnpmSyncForInjectedDependenciesMeta` to experiments.json; it is part of an upcoming feature for managing PNPM \"injected\" dependencies: https://www.npmjs.com/package/pnpm-sync", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json b/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json deleted file mode 100644 index b2a27246fdf..00000000000 --- a/common/changes/@microsoft/rush/chao-enable-pnpm-sync_2024-02-16-23-54.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Include a `pnpmPatchesCommonFolderName` constant for the folder name \"pnpm-patches\" that gets placed under \"common\".", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json b/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json deleted file mode 100644 index 8842b19306d..00000000000 --- a/common/changes/@microsoft/rush/feat-generate-impact-graph-after-update_2024-02-04-11-38.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Add a feature to generate a `project-impact-graph.yaml` file in the repo root. This feature is gated under the new `generateProjectImpactGraphDuringRushUpdate` experiment.", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} diff --git a/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json b/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json deleted file mode 100644 index 0e464ae5dc1..00000000000 --- a/common/changes/@microsoft/rush/license-first-lines_2024-02-18-01-28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "Fix a formatting issue with the LICENSE.", - "type": "none", - "packageName": "@microsoft/rush" - } - ], - "packageName": "@microsoft/rush", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json b/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json deleted file mode 100644 index bd7ff97cb34..00000000000 --- a/common/changes/@microsoft/rush/move-terminal_2022-01-20-19-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json b/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json deleted file mode 100644 index bd7ff97cb34..00000000000 --- a/common/changes/@microsoft/rush/octogonz-rush-init_2024-02-19-21-40.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json b/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json deleted file mode 100644 index efcd84c45fb..00000000000 --- a/common/changes/@microsoft/rush/prettify_2024-02-17-07-11.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "comment": "", - "type": "none", - "packageName": "@microsoft/rush" - } - ], - "packageName": "@microsoft/rush", - "email": "iclanton@users.noreply.github.com" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json b/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json deleted file mode 100644 index f21dc2712ad..00000000000 --- a/common/changes/@microsoft/rush/will-subspace-patch-3_2024-02-05-05-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Fix an issue with filtered installs when the experimental subspaces feature is enabled", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From 6672b93a01ed9d27339c0f8481a1f3a88ba45340 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Mon, 19 Feb 2024 21:54:45 +0000 Subject: [PATCH 162/180] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- rush-plugins/rush-http-build-cache-plugin/package.json | 2 +- rush-plugins/rush-redis-cobuild-plugin/package.json | 2 +- rush-plugins/rush-serve-plugin/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 2097a491047..68d43c42ec3 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.113.4", + "version": "5.114.0", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index bedaa70a250..8e70fb46184 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.113.4", + "version": "5.114.0", "nextBump": "minor", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 37a93643b45..64429a1685f 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.113.4", + "version": "5.114.0", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index bcd3ce497a3..fe2f6ec47de 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.113.4", + "version": "5.114.0", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index 798ef6a7984..0e817555c3b 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.113.4", + "version": "5.114.0", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index ed40f17a1fc..d2b6580d0bf 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.113.4", + "version": "5.114.0", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json index d0840b14f35..6b3710b5939 100644 --- a/rush-plugins/rush-http-build-cache-plugin/package.json +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-http-build-cache-plugin", - "version": "5.113.4", + "version": "5.114.0", "description": "Rush plugin for generic HTTP cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-redis-cobuild-plugin/package.json b/rush-plugins/rush-redis-cobuild-plugin/package.json index d7b631d68ff..174b659a880 100644 --- a/rush-plugins/rush-redis-cobuild-plugin/package.json +++ b/rush-plugins/rush-redis-cobuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-redis-cobuild-plugin", - "version": "5.113.4", + "version": "5.114.0", "description": "Rush plugin for Redis cobuild lock", "repository": { "type": "git", diff --git a/rush-plugins/rush-serve-plugin/package.json b/rush-plugins/rush-serve-plugin/package.json index 0b705ea2dd1..f54aff1f0b9 100644 --- a/rush-plugins/rush-serve-plugin/package.json +++ b/rush-plugins/rush-serve-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-serve-plugin", - "version": "5.113.4", + "version": "5.114.0", "description": "A Rush plugin that hooks into a rush action and serves output folders from all projects in the repository.", "license": "MIT", "repository": { From 1757ffc803870f2fe2605c045abc3b0117671fe4 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Sun, 25 Dec 2022 18:04:38 -0800 Subject: [PATCH 163/180] Introduce heft-suppress-browserslist-warning-plugin. --- .github/workflows/ci.yml | 8 ----- build-tests/heft-sass-test/config/heft.json | 6 ++++ build-tests/heft-sass-test/package.json | 3 +- .../workspace/common/pnpm-lock.yaml | 4 +++ ...slist-warning-plugin_2022-12-26-02-04.json | 10 ++++++ ...slist-warning-plugin_2022-12-26-02-04.json | 10 ++++++ .../azure-pipelines/templates/build.yaml | 8 ----- .../rush/nonbrowser-approved-packages.json | 4 +++ common/config/rush/pnpm-lock.yaml | 15 +++++++++ ...uppress-browserslist-warning-plugin.api.md | 15 +++++++++ .../.eslintrc.js | 12 +++++++ .../.npmignore | 31 +++++++++++++++++++ .../LICENSE | 24 ++++++++++++++ .../README.md | 12 +++++++ .../config/rig.json | 7 +++++ .../heft-plugin.json | 10 ++++++ .../package.json | 26 ++++++++++++++++ .../src/SuppressBrowserslistWarningPlugin.ts | 24 ++++++++++++++ .../tsconfig.json | 3 ++ rigs/heft-web-rig/package.json | 1 + .../profiles/app/config/heft.json | 6 ++++ .../profiles/library/config/heft.json | 6 ++++ rush.json | 6 ++++ 23 files changed, 234 insertions(+), 17 deletions(-) create mode 100644 common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json create mode 100644 common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json create mode 100644 common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/README.md create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/package.json create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts create mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8761fb0e6ab..c13a7f38b30 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,17 +51,9 @@ jobs: - name: Rush retest (install-run-rush) run: node common/scripts/install-run-rush.js retest --verbose --production - env: - # Prevent time-based browserslist update warning - # See https://github.com/microsoft/rushstack/issues/2981 - BROWSERSLIST_IGNORE_OLD_DATA: 1 - name: Ensure repo README is up-to-date run: node repo-scripts/repo-toolbox/lib/start.js readme --verify - name: Rush test (rush-lib) run: node apps/rush/lib/start-dev.js test --verbose --production --timeline - env: - # Prevent time-based browserslist update warning - # See https://github.com/microsoft/rushstack/issues/2981 - BROWSERSLIST_IGNORE_OLD_DATA: 1 diff --git a/build-tests/heft-sass-test/config/heft.json b/build-tests/heft-sass-test/config/heft.json index 309c903d475..96cb355c8f6 100644 --- a/build-tests/heft-sass-test/config/heft.json +++ b/build-tests/heft-sass-test/config/heft.json @@ -4,6 +4,12 @@ { "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json", + "heftPlugins": [ + { + "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + } + ], + // TODO: Add comments "phasesByName": { "build": { diff --git a/build-tests/heft-sass-test/package.json b/build-tests/heft-sass-test/package.json index 7046eb87283..5798706e75e 100644 --- a/build-tests/heft-sass-test/package.json +++ b/build-tests/heft-sass-test/package.json @@ -10,10 +10,10 @@ "_phase:test": "heft run --only test -- --clean" }, "devDependencies": { - "local-eslint-config": "workspace:*", "@rushstack/heft-jest-plugin": "workspace:*", "@rushstack/heft-lint-plugin": "workspace:*", "@rushstack/heft-sass-plugin": "workspace:*", + "@rushstack/heft-suppress-browserslist-warning-plugin": "workspace:*", "@rushstack/heft-typescript-plugin": "workspace:*", "@rushstack/heft-webpack4-plugin": "workspace:*", "@rushstack/heft": "workspace:*", @@ -26,6 +26,7 @@ "css-loader": "~5.2.7", "eslint": "~8.7.0", "html-webpack-plugin": "~4.5.2", + "local-eslint-config": "workspace:*", "postcss-loader": "~4.1.0", "postcss": "~8.4.6", "react-dom": "~17.0.2", diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 1c53f7b572f..3402c77aa02 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -3176,6 +3176,9 @@ packages: dependencies: semver-compare: 1.0.0 + /pnpm-sync-lib@0.1.3: + resolution: {integrity: sha512-bNGuQmEnlIUSxrdtHTZHFt9JKEBqN39nU1QgTdMWjBeXIxCV7M99ylOoE4uH7KutHHacKlW7PD4+2ktApPUzog==} + /postcss@8.4.24: resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} engines: {node: ^10 || ^12 || >=14} @@ -4272,6 +4275,7 @@ packages: node-fetch: 2.6.7 npm-check: 6.0.1 npm-package-arg: 6.1.1 + pnpm-sync-lib: 0.1.3 read-package-tree: 5.1.6 rxjs: 6.6.7 semver: 7.5.4 diff --git a/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json new file mode 100644 index 00000000000..e4f2f16c40c --- /dev/null +++ b/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin", + "comment": "Inital project creation.", + "type": "minor" + } + ], + "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json new file mode 100644 index 00000000000..e9f9c5c2f78 --- /dev/null +++ b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-web-rig", + "comment": "Include @rushstack/heft-suppress-browserslist-warning-plugin to suppress the warning printed when the `browserslist` package decides it's out of date.", + "type": "minor" + } + ], + "packageName": "@rushstack/heft-web-rig" +} \ No newline at end of file diff --git a/common/config/azure-pipelines/templates/build.yaml b/common/config/azure-pipelines/templates/build.yaml index 843199f5832..cad6a034c82 100644 --- a/common/config/azure-pipelines/templates/build.yaml +++ b/common/config/azure-pipelines/templates/build.yaml @@ -27,18 +27,10 @@ steps: - script: 'node common/scripts/install-run-rush.js retest --verbose --production ${{ parameters.BuildParameters }}' displayName: 'Rush retest (install-run-rush)' - env: - # Prevent time-based browserslist update warning - # See https://github.com/microsoft/rushstack/issues/2981 - BROWSERSLIST_IGNORE_OLD_DATA: 1 - ${{ if eq(parameters.PerformValidation, true) }}: - script: 'node apps/rush/lib/start-dev.js test --verbose --production --timeline ${{ parameters.BuildParameters }}' displayName: 'Rush test (rush-lib)' - env: - # Prevent time-based browserslist update warning - # See https://github.com/microsoft/rushstack/issues/2981 - BROWSERSLIST_IGNORE_OLD_DATA: 1 - script: 'node repo-scripts/repo-toolbox/lib/start.js readme --verify' displayName: 'Ensure repo README is up-to-date' diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index f6224e04b79..2762a556119 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -162,6 +162,10 @@ "name": "@rushstack/heft-storybook-plugin", "allowedCategories": [ "tests" ] }, + { + "name": "@rushstack/heft-suppress-browserslist-warning-plugin", + "allowedCategories": [ "libraries", "tests" ] + }, { "name": "@rushstack/heft-typescript-plugin", "allowedCategories": [ "libraries", "tests", "vscode-extensions" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dab07f0e72c..de3b7aada93 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1561,6 +1561,9 @@ importers: ../../build-tests/heft-sass-test: dependencies: + '@rushstack/heft-suppress-browserslist-warning-plugin': + specifier: workspace:* + version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin buttono: specifier: ~1.0.2 version: 1.0.4 @@ -2731,6 +2734,15 @@ importers: specifier: workspace:* version: link:../../rigs/local-node-rig + ../../heft-plugins/heft-suppress-browserslist-warning-plugin: + devDependencies: + '@rushstack/heft': + specifier: workspace:* + version: link:../../apps/heft + local-node-rig: + specifier: workspace:* + version: link:../../rigs/local-node-rig + ../../heft-plugins/heft-typescript-plugin: dependencies: '@rushstack/heft-config-file': @@ -3681,6 +3693,9 @@ importers: '@rushstack/heft-sass-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-sass-plugin + '@rushstack/heft-suppress-browserslist-warning-plugin': + specifier: workspace:* + version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin '@rushstack/heft-typescript-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-typescript-plugin diff --git a/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md b/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md new file mode 100644 index 00000000000..42432a61e62 --- /dev/null +++ b/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md @@ -0,0 +1,15 @@ +## API Report File for "@rushstack/heft-suppress-browserslist-warning-plugin" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { IHeftPlugin } from '@rushstack/heft'; + +// @public (undocumented) +const _default: IHeftPlugin; +export default _default; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js b/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js new file mode 100644 index 00000000000..27dc0bdff95 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js @@ -0,0 +1,12 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); +// This is a workaround for https://github.com/microsoft/rushstack/issues/3021 +require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); + +module.exports = { + extends: [ + 'local-node-rig/profiles/default/includes/eslint/profile/node-trusted-tool', + 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals' + ], + parserOptions: { tsconfigRootDir: __dirname } +}; diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore b/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore new file mode 100644 index 00000000000..8515ab19dc6 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore @@ -0,0 +1,31 @@ +# THIS IS A STANDARD TEMPLATE FOR .npmignore FILES IN THIS REPO. + +# Ignore all files by default, to avoid accidentally publishing unintended files. +* + +# Use negative patterns to bring back the specific things we want to publish. +!/bin/** +!/lib/** +!/lib-*/** +!/dist/** +!ThirdPartyNotice.txt +!heft-plugin.json + +# Ignore certain patterns that should not get published. +/dist/*.stats.* +/lib/**/test/ +/lib-*/**/test/ +*.test.js + +# NOTE: These don't need to be specified, because NPM includes them automatically. +# +# package.json +# README (and its variants) +# CHANGELOG (and its variants) +# LICENSE / LICENCE + +#-------------------------------------------- +# DO NOT MODIFY THE TEMPLATE ABOVE THIS LINE +#-------------------------------------------- + +# (Add your project-specific overrides here) diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE b/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE new file mode 100644 index 00000000000..427973fba38 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE @@ -0,0 +1,24 @@ +@rushstack/heft-suppress-browserslist-warning-plugin + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md b/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md new file mode 100644 index 00000000000..8c9b0a56fc3 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md @@ -0,0 +1,12 @@ +# @rushstack/heft-suppress-browserslist-warning-plugin + +A Heft plugin to set the `BROWSERSLIST_IGNORE_OLD_DATA` env variable to `1` during execution. + +## Links + +- [CHANGELOG.md]( + https://github.com/microsoft/rushstack/blob/main/heft-plugins/heft-suppress-browserslist-warning-plugin/CHANGELOG.md) - Find + out what's new in the latest version +- [@rushstack/heft](https://www.npmjs.com/package/@rushstack/heft) - Heft is a config-driven toolchain that invokes popular tools such as TypeScript, ESLint, Jest, Webpack, and API Extractor. + +Heft is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json new file mode 100644 index 00000000000..165ffb001f5 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "local-node-rig" +} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json new file mode 100644 index 00000000000..f778378c417 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-plugin.schema.json", + + "lifecyclePlugins": [ + { + "entryPoint": "./lib/SuppressBrowserslistWarningPlugin", + "pluginName": "suppress-browserslist-warning-plugin" + } + ] +} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json new file mode 100644 index 00000000000..0c18284a3a5 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json @@ -0,0 +1,26 @@ +{ + "name": "@rushstack/heft-suppress-browserslist-warning-plugin", + "version": "0.0.0", + "description": "A Heft plugin to set the \"BROWSERSLIST_IGNORE_OLD_DATA\" env variable to \"1\" during build.", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/rushstack.git", + "directory": "heft-plugins/heft-suppress-browserslist-warning-plugin" + }, + "homepage": "https://rushstack.io/pages/heft/overview/", + "main": "lib/index.js", + "typings": "dist/heft-suppress-browserslist-warning-plugin.d.ts", + "license": "MIT", + "scripts": { + "build": "heft test --clean", + "start": "heft build-watch", + "_phase:build": "heft run --only build -- --clean" + }, + "peerDependencies": { + "@rushstack/heft": "0.64.7" + }, + "devDependencies": { + "@rushstack/heft": "workspace:*", + "local-node-rig": "workspace:*" + } +} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts b/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts new file mode 100644 index 00000000000..737a18b26aa --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { IHeftLifecyclePlugin, IHeftLifecycleSession } from '@rushstack/heft'; + +const PLUGIN_NAME: string = 'suppress-browserslist-warning-plugin'; + +export default class SuppressBrowserslistWarningPlugin implements IHeftLifecyclePlugin { + public readonly pluginName: string = PLUGIN_NAME; + + public apply(heftSession: IHeftLifecycleSession): void { + heftSession.hooks.toolStart.tap( + { + name: PLUGIN_NAME, + stage: Number.MIN_SAFE_INTEGER + }, + () => { + // Prevent time-based browserslist update warning + // See https://github.com/microsoft/rushstack/issues/2981 + process.env.BROWSERSLIST_IGNORE_OLD_DATA = '1'; + } + ); + } +} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json new file mode 100644 index 00000000000..dac21d04081 --- /dev/null +++ b/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" +} diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 5fcb401f3d3..7e214fefa82 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -22,6 +22,7 @@ "@rushstack/heft-jest-plugin": "workspace:*", "@rushstack/heft-lint-plugin": "workspace:*", "@rushstack/heft-sass-plugin": "workspace:*", + "@rushstack/heft-suppress-browserslist-warning-plugin": "workspace:*", "@rushstack/heft-typescript-plugin": "workspace:*", "@rushstack/heft-webpack5-plugin": "workspace:*", "@types/heft-jest": "1.0.1", diff --git a/rigs/heft-web-rig/profiles/app/config/heft.json b/rigs/heft-web-rig/profiles/app/config/heft.json index 3009c39afd0..e3b258c01e4 100644 --- a/rigs/heft-web-rig/profiles/app/config/heft.json +++ b/rigs/heft-web-rig/profiles/app/config/heft.json @@ -17,6 +17,12 @@ } }, + "heftPlugins": [ + { + "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + } + ], + "phasesByName": { "build": { "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }], diff --git a/rigs/heft-web-rig/profiles/library/config/heft.json b/rigs/heft-web-rig/profiles/library/config/heft.json index 926dc612991..10cdac91541 100644 --- a/rigs/heft-web-rig/profiles/library/config/heft.json +++ b/rigs/heft-web-rig/profiles/library/config/heft.json @@ -17,6 +17,12 @@ } }, + "heftPlugins": [ + { + "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + } + ], + "phasesByName": { "build": { "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }], diff --git a/rush.json b/rush.json index 209d69b8bd9..9244ad8c251 100644 --- a/rush.json +++ b/rush.json @@ -972,6 +972,12 @@ "reviewCategory": "libraries", "shouldPublish": true }, + { + "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin", + "projectFolder": "heft-plugins/heft-suppress-browserslist-warning-plugin", + "reviewCategory": "libraries", + "shouldPublish": true + }, { "packageName": "@rushstack/heft-typescript-plugin", "projectFolder": "heft-plugins/heft-typescript-plugin", From aa4755185cae70b409867ec31c3acff9d4dfcfe3 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 19 Feb 2024 12:17:29 -0500 Subject: [PATCH 164/180] Rush change. Co-authored-by: David Michon --- ...ppress-browserslist-warning-plugin_2022-12-26-02-04.json | 2 +- common/config/rush/pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json index e4f2f16c40c..1644c30361b 100644 --- a/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json +++ b/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin", - "comment": "Inital project creation.", + "comment": "Initial project creation.", "type": "minor" } ], diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index de3b7aada93..8af97480e2e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1561,9 +1561,6 @@ importers: ../../build-tests/heft-sass-test: dependencies: - '@rushstack/heft-suppress-browserslist-warning-plugin': - specifier: workspace:* - version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin buttono: specifier: ~1.0.2 version: 1.0.4 @@ -1580,6 +1577,9 @@ importers: '@rushstack/heft-sass-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-sass-plugin + '@rushstack/heft-suppress-browserslist-warning-plugin': + specifier: workspace:* + version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin '@rushstack/heft-typescript-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-typescript-plugin From 15f4a4c20a7c4788ef978117307327bdb938cc17 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 19 Feb 2024 21:12:23 -0400 Subject: [PATCH 165/180] Move the plugin directly into Heft. --- apps/heft/heft-plugin.json | 8 ++- .../plugins/SetEnvironmentVariablesPlugin.ts | 35 ++++++++++++ ...t-environment-variables-plugin.schema.json | 20 +++++++ apps/heft/src/startWithVersionSelector.ts | 8 +-- apps/heft/src/utilities/Constants.ts | 2 + apps/heft/src/utilities/CoreConfigFiles.ts | 57 ++++++++++++++++--- build-tests/heft-sass-test/config/heft.json | 8 ++- build-tests/heft-sass-test/package.json | 1 - .../config/heft.json | 17 ++++++ ...slist-warning-plugin_2022-12-26-02-04.json | 10 ---- ...slist-warning-plugin_2022-12-26-02-04.json | 2 +- .../rush/nonbrowser-approved-packages.json | 4 -- common/config/rush/pnpm-lock.yaml | 15 ----- ...uppress-browserslist-warning-plugin.api.md | 15 ----- .../.eslintrc.js | 12 ---- .../.npmignore | 31 ---------- .../LICENSE | 24 -------- .../README.md | 12 ---- .../config/rig.json | 7 --- .../heft-plugin.json | 10 ---- .../package.json | 26 --------- .../src/SuppressBrowserslistWarningPlugin.ts | 24 -------- .../tsconfig.json | 3 - rigs/heft-web-rig/package.json | 1 - .../profiles/app/config/heft.json | 8 ++- .../profiles/library/config/heft.json | 8 ++- rush.json | 6 -- 27 files changed, 155 insertions(+), 219 deletions(-) create mode 100644 apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts create mode 100644 apps/heft/src/schemas/set-environment-variables-plugin.schema.json create mode 100644 build-tests/heft-web-rig-library-test/config/heft.json delete mode 100644 common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json delete mode 100644 common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/README.md delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/package.json delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts delete mode 100644 heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json diff --git a/apps/heft/heft-plugin.json b/apps/heft/heft-plugin.json index 3c27920d8bd..de02557d556 100644 --- a/apps/heft/heft-plugin.json +++ b/apps/heft/heft-plugin.json @@ -1,7 +1,13 @@ { "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-plugin.schema.json", - "lifecyclePlugins": [], + "lifecyclePlugins": [ + { + "entryPoint": "./lib/plugins/SetEnvironmentVariablesPlugin", + "pluginName": "set-environment-variables-plugin", + "optionsSchema": "./lib/schemas/set-environment-variables-plugin.schema.json" + } + ], "taskPlugins": [ { diff --git a/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts b/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts new file mode 100644 index 00000000000..7c902da9716 --- /dev/null +++ b/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { HeftConfiguration } from '../configuration/HeftConfiguration'; +import type { IHeftLifecycleSession } from '../pluginFramework/HeftLifecycleSession'; +import type { IHeftLifecyclePlugin } from '../pluginFramework/IHeftPlugin'; + +export const PLUGIN_NAME: string = 'set-environment-variables-plugin'; + +export interface ISetEnvironmentVariablesPluginOptions { + environmentVariablesToSet: Record; +} + +export default class SetEnvironmentVariablesPlugin + implements IHeftLifecyclePlugin +{ + public apply( + lifecycleSession: IHeftLifecycleSession, + heftConfiguration: HeftConfiguration, + { environmentVariablesToSet }: ISetEnvironmentVariablesPluginOptions + ): void { + lifecycleSession.hooks.toolStart.tap( + { + name: PLUGIN_NAME, + stage: Number.MIN_SAFE_INTEGER + }, + () => { + for (const [key, value] of Object.entries(environmentVariablesToSet)) { + lifecycleSession.logger.terminal.writeLine(`Setting environment variable ${key}=${value}`); + process.env[key] = value; + } + } + ); + } +} diff --git a/apps/heft/src/schemas/set-environment-variables-plugin.schema.json b/apps/heft/src/schemas/set-environment-variables-plugin.schema.json new file mode 100644 index 00000000000..cfa06a08623 --- /dev/null +++ b/apps/heft/src/schemas/set-environment-variables-plugin.schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "CopyFiles Heft Task Event Options", + "description": "Defines configuration used by the \"copyFiles\" Heft task event.", + "type": "object", + + "additionalProperties": false, + "required": ["environmentVariablesToSet"], + + "properties": { + "environmentVariablesToSet": { + "type": "object", + "pattern": ".+", + "additionalProperties": { + "type": "string", + "pattern": ".+" + } + } + } +} diff --git a/apps/heft/src/startWithVersionSelector.ts b/apps/heft/src/startWithVersionSelector.ts index 3385251b258..d78da294bbe 100644 --- a/apps/heft/src/startWithVersionSelector.ts +++ b/apps/heft/src/startWithVersionSelector.ts @@ -11,8 +11,6 @@ import type { IPackageJson } from '@rushstack/node-core-library'; import { getToolParameterNamesFromArgs } from './utilities/CliUtilities'; import { Constants } from './utilities/Constants'; -const HEFT_PACKAGE_NAME: string = '@rushstack/heft'; - // Excerpted from PackageJsonLookup.tryGetPackageFolderFor() function tryGetPackageFolderFor(resolvedFileOrFolderPath: string): string | undefined { // Two lookups are required, because get() cannot distinguish the undefined value @@ -82,8 +80,8 @@ function tryStartLocalHeft(): boolean { // Does package.json have a dependency on Heft? if ( - !(packageJson.dependencies && packageJson.dependencies[HEFT_PACKAGE_NAME]) && - !(packageJson.devDependencies && packageJson.devDependencies[HEFT_PACKAGE_NAME]) + !(packageJson.dependencies && packageJson.dependencies[Constants.heftPackageName]) && + !(packageJson.devDependencies && packageJson.devDependencies[Constants.heftPackageName]) ) { // No explicit dependency on Heft return false; @@ -91,7 +89,7 @@ function tryStartLocalHeft(): boolean { // To avoid a loading the "resolve" NPM package, let's assume that the Heft dependency must be // installed as "/node_modules/@rushstack/heft". - const heftFolder: string = path.join(projectFolder, 'node_modules', HEFT_PACKAGE_NAME); + const heftFolder: string = path.join(projectFolder, 'node_modules', Constants.heftPackageName); heftEntryPoint = path.join(heftFolder, 'lib', 'start.js'); if (!fs.existsSync(heftEntryPoint)) { diff --git a/apps/heft/src/utilities/Constants.ts b/apps/heft/src/utilities/Constants.ts index b7b794ae91a..60e929519e6 100644 --- a/apps/heft/src/utilities/Constants.ts +++ b/apps/heft/src/utilities/Constants.ts @@ -33,4 +33,6 @@ export class Constants { public static verboseParameterShortName: string = '-v'; public static maxParallelism: number = 100; + + public static heftPackageName: string = '@rushstack/heft'; } diff --git a/apps/heft/src/utilities/CoreConfigFiles.ts b/apps/heft/src/utilities/CoreConfigFiles.ts index aec601fbf93..a3b74dc3080 100644 --- a/apps/heft/src/utilities/CoreConfigFiles.ts +++ b/apps/heft/src/utilities/CoreConfigFiles.ts @@ -15,6 +15,10 @@ import type { IRigConfig } from '@rushstack/rig-package'; import type { IDeleteOperation } from '../plugins/DeleteFilesPlugin'; import type { INodeServicePluginConfiguration } from '../plugins/NodeServicePlugin'; import { Constants } from './Constants'; +import { + type ISetEnvironmentVariablesPluginOptions, + PLUGIN_NAME as setEnvVarsPluginName +} from '../plugins/SetEnvironmentVariablesPlugin'; export interface IHeftConfigurationJsonActionReference { actionName: string; @@ -77,23 +81,24 @@ export class CoreConfigFiles { rigConfig?: IRigConfig | undefined ): Promise { if (!CoreConfigFiles._heftConfigFileLoader) { + const heftPluginPackageFolder: string | undefined = + PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname); + if (!heftPluginPackageFolder) { + // This should never happen + throw new InternalError('Unable to find the @rushstack/heft package folder'); + } + const pluginPackageResolver: ( options: IJsonPathMetadataResolverOptions ) => string = (options: IJsonPathMetadataResolverOptions) => { const { propertyValue, configurationFilePath } = options; - if (propertyValue === '@rushstack/heft') { + if (propertyValue === Constants.heftPackageName) { // If the value is "@rushstack/heft", then resolve to the Heft package that is // installed in the project folder. This avoids issues with mismatched versions // between the project and the globally installed Heft. Use the PackageJsonLookup // class to find the package folder to avoid hardcoding the path for compatibility // with bundling. - const pluginPackageFolder: string | undefined = - PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname); - if (!pluginPackageFolder) { - // This should never happen - throw new InternalError('Unable to find the @rushstack/heft package folder'); - } - return pluginPackageFolder; + return heftPluginPackageFolder; } else { const configurationFileDirectory: string = path.dirname(configurationFilePath); return Import.resolvePackage({ @@ -112,6 +117,42 @@ export class CoreConfigFiles { array: { inheritanceType: InheritanceType.append }, object: { inheritanceType: InheritanceType.merge } }, + propertyInheritance: { + heftPlugins: { + inheritanceType: InheritanceType.custom, + inheritanceFunction: (current, parent) => { + if (!current) { + return parent; + } else if (!parent) { + return current; + } else { + // Special-case the "set-environment-variables-plugin" to merge the environment variables + // that are being set instead of including two copies of the plugin when there are multiple + // config files in the extends chain that reference the plugin. + let mergedEnvironmentVariablesToSet: Record | undefined; + function processLifecyclePlugins(pluginList: IHeftConfigurationJsonPluginSpecifier[]): void { + for (let i: number = 0; i < pluginList.length; i++) { + const lifecyclePlugin: IHeftConfigurationJsonPluginSpecifier = pluginList[i]; + const { pluginName, pluginPackage, options } = lifecyclePlugin; + if (pluginName === setEnvVarsPluginName && pluginPackage === heftPluginPackageFolder) { + const { environmentVariablesToSet } = options as ISetEnvironmentVariablesPluginOptions; + if (!mergedEnvironmentVariablesToSet) { + mergedEnvironmentVariablesToSet = environmentVariablesToSet; + } else { + Object.assign(mergedEnvironmentVariablesToSet, environmentVariablesToSet); + pluginList.splice(i, 1); + i--; + } + } + } + } + processLifecyclePlugins(parent); + processLifecyclePlugins(current); + return [...parent, ...current]; + } + } + } + }, jsonPathMetadata: { // Use a custom resolver for the plugin packages, since the NodeResolve algorithm will resolve to the // package.json exports/module property, which may or may not exist. diff --git a/build-tests/heft-sass-test/config/heft.json b/build-tests/heft-sass-test/config/heft.json index 96cb355c8f6..c5b967b0fa7 100644 --- a/build-tests/heft-sass-test/config/heft.json +++ b/build-tests/heft-sass-test/config/heft.json @@ -6,7 +6,13 @@ "heftPlugins": [ { - "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } } ], diff --git a/build-tests/heft-sass-test/package.json b/build-tests/heft-sass-test/package.json index 5798706e75e..e811bfc968e 100644 --- a/build-tests/heft-sass-test/package.json +++ b/build-tests/heft-sass-test/package.json @@ -13,7 +13,6 @@ "@rushstack/heft-jest-plugin": "workspace:*", "@rushstack/heft-lint-plugin": "workspace:*", "@rushstack/heft-sass-plugin": "workspace:*", - "@rushstack/heft-suppress-browserslist-warning-plugin": "workspace:*", "@rushstack/heft-typescript-plugin": "workspace:*", "@rushstack/heft-webpack4-plugin": "workspace:*", "@rushstack/heft": "workspace:*", diff --git a/build-tests/heft-web-rig-library-test/config/heft.json b/build-tests/heft-web-rig-library-test/config/heft.json new file mode 100644 index 00000000000..3d81ec63359 --- /dev/null +++ b/build-tests/heft-web-rig-library-test/config/heft.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json", + + "extends": "@rushstack/heft-web-rig/profiles/app/config/heft.json", + + "heftPlugins": [ + { + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "TEST_ENV_VAR": "ABC" + } + } + } + ] +} diff --git a/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json deleted file mode 100644 index 1644c30361b..00000000000 --- a/common/changes/@rushstack/heft-suppress-browserslist-warning-plugin/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin", - "comment": "Initial project creation.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json index e9f9c5c2f78..5ca70017e0d 100644 --- a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json +++ b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@rushstack/heft-web-rig", - "comment": "Include @rushstack/heft-suppress-browserslist-warning-plugin to suppress the warning printed when the `browserslist` package decides it's out of date.", + "comment": "Include the `set-environment-variables-plugin` plugin from the `@rushstack/heft` package to set the `BROWSERSLIST_IGNORE_OLD_DATA` environment variable to `1` to suppress the warning printed when the `browserslist` package decides it's out of date.", "type": "minor" } ], diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index 2762a556119..f6224e04b79 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -162,10 +162,6 @@ "name": "@rushstack/heft-storybook-plugin", "allowedCategories": [ "tests" ] }, - { - "name": "@rushstack/heft-suppress-browserslist-warning-plugin", - "allowedCategories": [ "libraries", "tests" ] - }, { "name": "@rushstack/heft-typescript-plugin", "allowedCategories": [ "libraries", "tests", "vscode-extensions" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 8af97480e2e..dab07f0e72c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1577,9 +1577,6 @@ importers: '@rushstack/heft-sass-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-sass-plugin - '@rushstack/heft-suppress-browserslist-warning-plugin': - specifier: workspace:* - version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin '@rushstack/heft-typescript-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-typescript-plugin @@ -2734,15 +2731,6 @@ importers: specifier: workspace:* version: link:../../rigs/local-node-rig - ../../heft-plugins/heft-suppress-browserslist-warning-plugin: - devDependencies: - '@rushstack/heft': - specifier: workspace:* - version: link:../../apps/heft - local-node-rig: - specifier: workspace:* - version: link:../../rigs/local-node-rig - ../../heft-plugins/heft-typescript-plugin: dependencies: '@rushstack/heft-config-file': @@ -3693,9 +3681,6 @@ importers: '@rushstack/heft-sass-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-sass-plugin - '@rushstack/heft-suppress-browserslist-warning-plugin': - specifier: workspace:* - version: link:../../heft-plugins/heft-suppress-browserslist-warning-plugin '@rushstack/heft-typescript-plugin': specifier: workspace:* version: link:../../heft-plugins/heft-typescript-plugin diff --git a/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md b/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md deleted file mode 100644 index 42432a61e62..00000000000 --- a/common/reviews/api/heft-suppress-browserslist-warning-plugin.api.md +++ /dev/null @@ -1,15 +0,0 @@ -## API Report File for "@rushstack/heft-suppress-browserslist-warning-plugin" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import type { IHeftPlugin } from '@rushstack/heft'; - -// @public (undocumented) -const _default: IHeftPlugin; -export default _default; - -// (No @packageDocumentation comment for this package) - -``` diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js b/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js deleted file mode 100644 index 27dc0bdff95..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -// This is a workaround for https://github.com/eslint/eslint/issues/3458 -require('local-node-rig/profiles/default/includes/eslint/patch/modern-module-resolution'); -// This is a workaround for https://github.com/microsoft/rushstack/issues/3021 -require('local-node-rig/profiles/default/includes/eslint/patch/custom-config-package-names'); - -module.exports = { - extends: [ - 'local-node-rig/profiles/default/includes/eslint/profile/node-trusted-tool', - 'local-node-rig/profiles/default/includes/eslint/mixins/friendly-locals' - ], - parserOptions: { tsconfigRootDir: __dirname } -}; diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore b/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore deleted file mode 100644 index 8515ab19dc6..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/.npmignore +++ /dev/null @@ -1,31 +0,0 @@ -# THIS IS A STANDARD TEMPLATE FOR .npmignore FILES IN THIS REPO. - -# Ignore all files by default, to avoid accidentally publishing unintended files. -* - -# Use negative patterns to bring back the specific things we want to publish. -!/bin/** -!/lib/** -!/lib-*/** -!/dist/** -!ThirdPartyNotice.txt -!heft-plugin.json - -# Ignore certain patterns that should not get published. -/dist/*.stats.* -/lib/**/test/ -/lib-*/**/test/ -*.test.js - -# NOTE: These don't need to be specified, because NPM includes them automatically. -# -# package.json -# README (and its variants) -# CHANGELOG (and its variants) -# LICENSE / LICENCE - -#-------------------------------------------- -# DO NOT MODIFY THE TEMPLATE ABOVE THIS LINE -#-------------------------------------------- - -# (Add your project-specific overrides here) diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE b/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE deleted file mode 100644 index 427973fba38..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -@rushstack/heft-suppress-browserslist-warning-plugin - -Copyright (c) Microsoft Corporation. All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md b/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md deleted file mode 100644 index 8c9b0a56fc3..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# @rushstack/heft-suppress-browserslist-warning-plugin - -A Heft plugin to set the `BROWSERSLIST_IGNORE_OLD_DATA` env variable to `1` during execution. - -## Links - -- [CHANGELOG.md]( - https://github.com/microsoft/rushstack/blob/main/heft-plugins/heft-suppress-browserslist-warning-plugin/CHANGELOG.md) - Find - out what's new in the latest version -- [@rushstack/heft](https://www.npmjs.com/package/@rushstack/heft) - Heft is a config-driven toolchain that invokes popular tools such as TypeScript, ESLint, Jest, Webpack, and API Extractor. - -Heft is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json deleted file mode 100644 index 165ffb001f5..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/config/rig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // The "rig.json" file directs tools to look for their config files in an external package. - // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - - "rigPackageName": "local-node-rig" -} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json deleted file mode 100644 index f778378c417..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/heft-plugin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-plugin.schema.json", - - "lifecyclePlugins": [ - { - "entryPoint": "./lib/SuppressBrowserslistWarningPlugin", - "pluginName": "suppress-browserslist-warning-plugin" - } - ] -} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json deleted file mode 100644 index 0c18284a3a5..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "@rushstack/heft-suppress-browserslist-warning-plugin", - "version": "0.0.0", - "description": "A Heft plugin to set the \"BROWSERSLIST_IGNORE_OLD_DATA\" env variable to \"1\" during build.", - "repository": { - "type": "git", - "url": "https://github.com/microsoft/rushstack.git", - "directory": "heft-plugins/heft-suppress-browserslist-warning-plugin" - }, - "homepage": "https://rushstack.io/pages/heft/overview/", - "main": "lib/index.js", - "typings": "dist/heft-suppress-browserslist-warning-plugin.d.ts", - "license": "MIT", - "scripts": { - "build": "heft test --clean", - "start": "heft build-watch", - "_phase:build": "heft run --only build -- --clean" - }, - "peerDependencies": { - "@rushstack/heft": "0.64.7" - }, - "devDependencies": { - "@rushstack/heft": "workspace:*", - "local-node-rig": "workspace:*" - } -} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts b/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts deleted file mode 100644 index 737a18b26aa..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/src/SuppressBrowserslistWarningPlugin.ts +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. -// See LICENSE in the project root for license information. - -import type { IHeftLifecyclePlugin, IHeftLifecycleSession } from '@rushstack/heft'; - -const PLUGIN_NAME: string = 'suppress-browserslist-warning-plugin'; - -export default class SuppressBrowserslistWarningPlugin implements IHeftLifecyclePlugin { - public readonly pluginName: string = PLUGIN_NAME; - - public apply(heftSession: IHeftLifecycleSession): void { - heftSession.hooks.toolStart.tap( - { - name: PLUGIN_NAME, - stage: Number.MIN_SAFE_INTEGER - }, - () => { - // Prevent time-based browserslist update warning - // See https://github.com/microsoft/rushstack/issues/2981 - process.env.BROWSERSLIST_IGNORE_OLD_DATA = '1'; - } - ); - } -} diff --git a/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json b/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json deleted file mode 100644 index dac21d04081..00000000000 --- a/heft-plugins/heft-suppress-browserslist-warning-plugin/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" -} diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 7e214fefa82..5fcb401f3d3 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -22,7 +22,6 @@ "@rushstack/heft-jest-plugin": "workspace:*", "@rushstack/heft-lint-plugin": "workspace:*", "@rushstack/heft-sass-plugin": "workspace:*", - "@rushstack/heft-suppress-browserslist-warning-plugin": "workspace:*", "@rushstack/heft-typescript-plugin": "workspace:*", "@rushstack/heft-webpack5-plugin": "workspace:*", "@types/heft-jest": "1.0.1", diff --git a/rigs/heft-web-rig/profiles/app/config/heft.json b/rigs/heft-web-rig/profiles/app/config/heft.json index e3b258c01e4..f00477b83ce 100644 --- a/rigs/heft-web-rig/profiles/app/config/heft.json +++ b/rigs/heft-web-rig/profiles/app/config/heft.json @@ -19,7 +19,13 @@ "heftPlugins": [ { - "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } } ], diff --git a/rigs/heft-web-rig/profiles/library/config/heft.json b/rigs/heft-web-rig/profiles/library/config/heft.json index 10cdac91541..744fd8a11b9 100644 --- a/rigs/heft-web-rig/profiles/library/config/heft.json +++ b/rigs/heft-web-rig/profiles/library/config/heft.json @@ -19,7 +19,13 @@ "heftPlugins": [ { - "pluginPackage": "@rushstack/heft-suppress-browserslist-warning-plugin" + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } } ], diff --git a/rush.json b/rush.json index 9244ad8c251..209d69b8bd9 100644 --- a/rush.json +++ b/rush.json @@ -972,12 +972,6 @@ "reviewCategory": "libraries", "shouldPublish": true }, - { - "packageName": "@rushstack/heft-suppress-browserslist-warning-plugin", - "projectFolder": "heft-plugins/heft-suppress-browserslist-warning-plugin", - "reviewCategory": "libraries", - "shouldPublish": true - }, { "packageName": "@rushstack/heft-typescript-plugin", "projectFolder": "heft-plugins/heft-typescript-plugin", From cf9743351ea9dfc1f19b9cca2587783fc435d08c Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 19 Feb 2024 21:28:23 -0400 Subject: [PATCH 166/180] Make the plugin a task plugin. --- apps/heft/heft-plugin.json | 13 ++--- .../plugins/SetEnvironmentVariablesPlugin.ts | 12 ++-- apps/heft/src/utilities/CoreConfigFiles.ts | 56 ++++--------------- build-tests/heft-sass-test/config/heft.json | 24 ++++---- build-tests/heft-sass-test/package.json | 2 +- .../config/heft.json | 17 ------ ...slist-warning-plugin_2024-02-20-01-13.json | 10 ++++ .../profiles/app/config/heft.json | 24 ++++---- .../profiles/library/config/heft.json | 28 +++++----- 9 files changed, 71 insertions(+), 115 deletions(-) delete mode 100644 build-tests/heft-web-rig-library-test/config/heft.json create mode 100644 common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json diff --git a/apps/heft/heft-plugin.json b/apps/heft/heft-plugin.json index de02557d556..d7c161a404f 100644 --- a/apps/heft/heft-plugin.json +++ b/apps/heft/heft-plugin.json @@ -1,13 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-plugin.schema.json", - "lifecyclePlugins": [ - { - "entryPoint": "./lib/plugins/SetEnvironmentVariablesPlugin", - "pluginName": "set-environment-variables-plugin", - "optionsSchema": "./lib/schemas/set-environment-variables-plugin.schema.json" - } - ], + "lifecyclePlugins": [], "taskPlugins": [ { @@ -36,6 +30,11 @@ "pluginName": "run-script-plugin", "entryPoint": "./lib/plugins/RunScriptPlugin", "optionsSchema": "./lib/schemas/run-script-options.schema.json" + }, + { + "entryPoint": "./lib/plugins/SetEnvironmentVariablesPlugin", + "pluginName": "set-environment-variables-plugin", + "optionsSchema": "./lib/schemas/set-environment-variables-plugin.schema.json" } ] } diff --git a/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts b/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts index 7c902da9716..fb83903b83b 100644 --- a/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts +++ b/apps/heft/src/plugins/SetEnvironmentVariablesPlugin.ts @@ -2,8 +2,8 @@ // See LICENSE in the project root for license information. import type { HeftConfiguration } from '../configuration/HeftConfiguration'; -import type { IHeftLifecycleSession } from '../pluginFramework/HeftLifecycleSession'; -import type { IHeftLifecyclePlugin } from '../pluginFramework/IHeftPlugin'; +import type { IHeftTaskSession } from '../pluginFramework/HeftTaskSession'; +import type { IHeftTaskPlugin } from '../pluginFramework/IHeftPlugin'; export const PLUGIN_NAME: string = 'set-environment-variables-plugin'; @@ -12,21 +12,21 @@ export interface ISetEnvironmentVariablesPluginOptions { } export default class SetEnvironmentVariablesPlugin - implements IHeftLifecyclePlugin + implements IHeftTaskPlugin { public apply( - lifecycleSession: IHeftLifecycleSession, + taskSession: IHeftTaskSession, heftConfiguration: HeftConfiguration, { environmentVariablesToSet }: ISetEnvironmentVariablesPluginOptions ): void { - lifecycleSession.hooks.toolStart.tap( + taskSession.hooks.run.tap( { name: PLUGIN_NAME, stage: Number.MIN_SAFE_INTEGER }, () => { for (const [key, value] of Object.entries(environmentVariablesToSet)) { - lifecycleSession.logger.terminal.writeLine(`Setting environment variable ${key}=${value}`); + taskSession.logger.terminal.writeLine(`Setting environment variable ${key}=${value}`); process.env[key] = value; } } diff --git a/apps/heft/src/utilities/CoreConfigFiles.ts b/apps/heft/src/utilities/CoreConfigFiles.ts index a3b74dc3080..a593353bfce 100644 --- a/apps/heft/src/utilities/CoreConfigFiles.ts +++ b/apps/heft/src/utilities/CoreConfigFiles.ts @@ -15,10 +15,6 @@ import type { IRigConfig } from '@rushstack/rig-package'; import type { IDeleteOperation } from '../plugins/DeleteFilesPlugin'; import type { INodeServicePluginConfiguration } from '../plugins/NodeServicePlugin'; import { Constants } from './Constants'; -import { - type ISetEnvironmentVariablesPluginOptions, - PLUGIN_NAME as setEnvVarsPluginName -} from '../plugins/SetEnvironmentVariablesPlugin'; export interface IHeftConfigurationJsonActionReference { actionName: string; @@ -81,12 +77,7 @@ export class CoreConfigFiles { rigConfig?: IRigConfig | undefined ): Promise { if (!CoreConfigFiles._heftConfigFileLoader) { - const heftPluginPackageFolder: string | undefined = - PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname); - if (!heftPluginPackageFolder) { - // This should never happen - throw new InternalError('Unable to find the @rushstack/heft package folder'); - } + let heftPluginPackageFolder: string | undefined; const pluginPackageResolver: ( options: IJsonPathMetadataResolverOptions @@ -98,6 +89,15 @@ export class CoreConfigFiles { // between the project and the globally installed Heft. Use the PackageJsonLookup // class to find the package folder to avoid hardcoding the path for compatibility // with bundling. + if (!heftPluginPackageFolder) { + heftPluginPackageFolder = PackageJsonLookup.instance.tryGetPackageFolderFor(__dirname); + } + + if (!heftPluginPackageFolder) { + // This should never happen + throw new InternalError('Unable to find the @rushstack/heft package folder'); + } + return heftPluginPackageFolder; } else { const configurationFileDirectory: string = path.dirname(configurationFilePath); @@ -117,42 +117,6 @@ export class CoreConfigFiles { array: { inheritanceType: InheritanceType.append }, object: { inheritanceType: InheritanceType.merge } }, - propertyInheritance: { - heftPlugins: { - inheritanceType: InheritanceType.custom, - inheritanceFunction: (current, parent) => { - if (!current) { - return parent; - } else if (!parent) { - return current; - } else { - // Special-case the "set-environment-variables-plugin" to merge the environment variables - // that are being set instead of including two copies of the plugin when there are multiple - // config files in the extends chain that reference the plugin. - let mergedEnvironmentVariablesToSet: Record | undefined; - function processLifecyclePlugins(pluginList: IHeftConfigurationJsonPluginSpecifier[]): void { - for (let i: number = 0; i < pluginList.length; i++) { - const lifecyclePlugin: IHeftConfigurationJsonPluginSpecifier = pluginList[i]; - const { pluginName, pluginPackage, options } = lifecyclePlugin; - if (pluginName === setEnvVarsPluginName && pluginPackage === heftPluginPackageFolder) { - const { environmentVariablesToSet } = options as ISetEnvironmentVariablesPluginOptions; - if (!mergedEnvironmentVariablesToSet) { - mergedEnvironmentVariablesToSet = environmentVariablesToSet; - } else { - Object.assign(mergedEnvironmentVariablesToSet, environmentVariablesToSet); - pluginList.splice(i, 1); - i--; - } - } - } - } - processLifecyclePlugins(parent); - processLifecyclePlugins(current); - return [...parent, ...current]; - } - } - } - }, jsonPathMetadata: { // Use a custom resolver for the plugin packages, since the NodeResolve algorithm will resolve to the // package.json exports/module property, which may or may not exist. diff --git a/build-tests/heft-sass-test/config/heft.json b/build-tests/heft-sass-test/config/heft.json index c5b967b0fa7..45627add585 100644 --- a/build-tests/heft-sass-test/config/heft.json +++ b/build-tests/heft-sass-test/config/heft.json @@ -4,25 +4,25 @@ { "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json", - "heftPlugins": [ - { - "pluginPackage": "@rushstack/heft", - "pluginName": "set-environment-variables-plugin", - "options": { - "environmentVariablesToSet": { - "BROWSERSLIST_IGNORE_OLD_DATA": "1" - } - } - } - ], - // TODO: Add comments "phasesByName": { "build": { "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-commonjs", "temp"] }], "tasksByName": { + "set-browserslist-ignore-old-data-env-var": { + "taskPlugin": { + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } + } + }, "sass": { + "taskDependencies": ["set-browserslist-ignore-old-data-env-var"], "taskPlugin": { "pluginPackage": "@rushstack/heft-sass-plugin" } diff --git a/build-tests/heft-sass-test/package.json b/build-tests/heft-sass-test/package.json index e811bfc968e..7046eb87283 100644 --- a/build-tests/heft-sass-test/package.json +++ b/build-tests/heft-sass-test/package.json @@ -10,6 +10,7 @@ "_phase:test": "heft run --only test -- --clean" }, "devDependencies": { + "local-eslint-config": "workspace:*", "@rushstack/heft-jest-plugin": "workspace:*", "@rushstack/heft-lint-plugin": "workspace:*", "@rushstack/heft-sass-plugin": "workspace:*", @@ -25,7 +26,6 @@ "css-loader": "~5.2.7", "eslint": "~8.7.0", "html-webpack-plugin": "~4.5.2", - "local-eslint-config": "workspace:*", "postcss-loader": "~4.1.0", "postcss": "~8.4.6", "react-dom": "~17.0.2", diff --git a/build-tests/heft-web-rig-library-test/config/heft.json b/build-tests/heft-web-rig-library-test/config/heft.json deleted file mode 100644 index 3d81ec63359..00000000000 --- a/build-tests/heft-web-rig-library-test/config/heft.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json", - - "extends": "@rushstack/heft-web-rig/profiles/app/config/heft.json", - - "heftPlugins": [ - { - "pluginPackage": "@rushstack/heft", - "pluginName": "set-environment-variables-plugin", - "options": { - "environmentVariablesToSet": { - "TEST_ENV_VAR": "ABC" - } - } - } - ] -} diff --git a/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json b/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json new file mode 100644 index 00000000000..f7b0f79de76 --- /dev/null +++ b/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft", + "comment": "Add a built-in `set-environment-variables-plugin` task plugin to set environment variables.", + "type": "minor" + } + ], + "packageName": "@rushstack/heft" +} \ No newline at end of file diff --git a/rigs/heft-web-rig/profiles/app/config/heft.json b/rigs/heft-web-rig/profiles/app/config/heft.json index f00477b83ce..6fe85af1c51 100644 --- a/rigs/heft-web-rig/profiles/app/config/heft.json +++ b/rigs/heft-web-rig/profiles/app/config/heft.json @@ -17,24 +17,24 @@ } }, - "heftPlugins": [ - { - "pluginPackage": "@rushstack/heft", - "pluginName": "set-environment-variables-plugin", - "options": { - "environmentVariablesToSet": { - "BROWSERSLIST_IGNORE_OLD_DATA": "1" - } - } - } - ], - "phasesByName": { "build": { "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }], "tasksByName": { + "set-browserslist-ignore-old-data-env-var": { + "taskPlugin": { + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } + } + }, "sass": { + "taskDependencies": ["set-browserslist-ignore-old-data-env-var"], "taskPlugin": { "pluginPackage": "@rushstack/heft-sass-plugin" } diff --git a/rigs/heft-web-rig/profiles/library/config/heft.json b/rigs/heft-web-rig/profiles/library/config/heft.json index 744fd8a11b9..6fe85af1c51 100644 --- a/rigs/heft-web-rig/profiles/library/config/heft.json +++ b/rigs/heft-web-rig/profiles/library/config/heft.json @@ -17,30 +17,30 @@ } }, - "heftPlugins": [ - { - "pluginPackage": "@rushstack/heft", - "pluginName": "set-environment-variables-plugin", - "options": { - "environmentVariablesToSet": { - "BROWSERSLIST_IGNORE_OLD_DATA": "1" - } - } - } - ], - "phasesByName": { "build": { "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }], "tasksByName": { - "sass-typings": { + "set-browserslist-ignore-old-data-env-var": { + "taskPlugin": { + "pluginPackage": "@rushstack/heft", + "pluginName": "set-environment-variables-plugin", + "options": { + "environmentVariablesToSet": { + "BROWSERSLIST_IGNORE_OLD_DATA": "1" + } + } + } + }, + "sass": { + "taskDependencies": ["set-browserslist-ignore-old-data-env-var"], "taskPlugin": { "pluginPackage": "@rushstack/heft-sass-plugin" } }, "typescript": { - "taskDependencies": ["sass-typings"], + "taskDependencies": ["sass"], "taskPlugin": { "pluginPackage": "@rushstack/heft-typescript-plugin" } From e5ab7450a19580da3c820110fec0abbb6ab318e8 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 19 Feb 2024 21:47:00 -0400 Subject: [PATCH 167/180] Rush change. --- ...s-browserslist-warning-plugin_2024-02-20-01-46.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json diff --git a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json new file mode 100644 index 00000000000..1456803f85d --- /dev/null +++ b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-web-rig", + "comment": "Rename the `sass-typings` task in the \"library\" profile to `sass`, which more accurately describes what the task does and matches what's in the \"app\" profile.", + "type": "minor" + } + ], + "packageName": "@rushstack/heft-web-rig" +} \ No newline at end of file From f6f8f8b7a8787ec3ab7b1d31e7fc1201d35069a6 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Mon, 19 Feb 2024 23:03:43 -0500 Subject: [PATCH 168/180] Include doc comments about the env vars. Co-authored-by: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> --- build-tests/heft-sass-test/config/heft.json | 4 ++++ rigs/heft-web-rig/profiles/app/config/heft.json | 4 ++++ rigs/heft-web-rig/profiles/library/config/heft.json | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/build-tests/heft-sass-test/config/heft.json b/build-tests/heft-sass-test/config/heft.json index 45627add585..a47a18a0505 100644 --- a/build-tests/heft-sass-test/config/heft.json +++ b/build-tests/heft-sass-test/config/heft.json @@ -16,6 +16,10 @@ "pluginName": "set-environment-variables-plugin", "options": { "environmentVariablesToSet": { + // Suppress the "Browserslist: caniuse-lite is outdated" warning. Although the warning is + // potentially useful, the check is performed in a way that is nondeterministic and can cause + // Rush pipelines to fail. Moreover, the outdated version is often irrelevant and/or nontrivial + // to upgrade. See this thread for details: https://github.com/microsoft/rushstack/issues/2981 "BROWSERSLIST_IGNORE_OLD_DATA": "1" } } diff --git a/rigs/heft-web-rig/profiles/app/config/heft.json b/rigs/heft-web-rig/profiles/app/config/heft.json index 6fe85af1c51..bdf1a762f11 100644 --- a/rigs/heft-web-rig/profiles/app/config/heft.json +++ b/rigs/heft-web-rig/profiles/app/config/heft.json @@ -28,6 +28,10 @@ "pluginName": "set-environment-variables-plugin", "options": { "environmentVariablesToSet": { + // Suppress the "Browserslist: caniuse-lite is outdated" warning. Although the warning is + // potentially useful, the check is performed in a way that is nondeterministic and can cause + // Rush pipelines to fail. Moreover, the outdated version is often irrelevant and/or nontrivial + // to upgrade. See this thread for details: https://github.com/microsoft/rushstack/issues/2981 "BROWSERSLIST_IGNORE_OLD_DATA": "1" } } diff --git a/rigs/heft-web-rig/profiles/library/config/heft.json b/rigs/heft-web-rig/profiles/library/config/heft.json index 6fe85af1c51..bdf1a762f11 100644 --- a/rigs/heft-web-rig/profiles/library/config/heft.json +++ b/rigs/heft-web-rig/profiles/library/config/heft.json @@ -28,6 +28,10 @@ "pluginName": "set-environment-variables-plugin", "options": { "environmentVariablesToSet": { + // Suppress the "Browserslist: caniuse-lite is outdated" warning. Although the warning is + // potentially useful, the check is performed in a way that is nondeterministic and can cause + // Rush pipelines to fail. Moreover, the outdated version is often irrelevant and/or nontrivial + // to upgrade. See this thread for details: https://github.com/microsoft/rushstack/issues/2981 "BROWSERSLIST_IGNORE_OLD_DATA": "1" } } From b2ba3d891d99e53a549904dae9af1bc1ebf640d9 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 20 Feb 2024 00:49:12 -0500 Subject: [PATCH 169/180] Update apps/heft/src/schemas/set-environment-variables-plugin.schema.json --- .../src/schemas/set-environment-variables-plugin.schema.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/heft/src/schemas/set-environment-variables-plugin.schema.json b/apps/heft/src/schemas/set-environment-variables-plugin.schema.json index cfa06a08623..d16b9a3a824 100644 --- a/apps/heft/src/schemas/set-environment-variables-plugin.schema.json +++ b/apps/heft/src/schemas/set-environment-variables-plugin.schema.json @@ -12,8 +12,7 @@ "type": "object", "pattern": ".+", "additionalProperties": { - "type": "string", - "pattern": ".+" + "type": "string" } } } From eb9bcd5d112544cf72e1bfee4c3536053d038d44 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 20 Feb 2024 16:10:53 +0000 Subject: [PATCH 170/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 12 ++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/heft/CHANGELOG.json | 12 ++++++ apps/heft/CHANGELOG.md | 9 +++- apps/lockfile-explorer/CHANGELOG.json | 12 ++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 12 ++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 12 ++++++ apps/trace-import/CHANGELOG.md | 7 +++- ...slist-warning-plugin_2022-12-26-02-04.json | 10 ----- ...slist-warning-plugin_2024-02-20-01-46.json | 10 ----- ...slist-warning-plugin_2024-02-20-01-13.json | 10 ----- eslint/eslint-bulk/CHANGELOG.json | 12 ++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- .../heft-api-extractor-plugin/CHANGELOG.json | 15 +++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 18 ++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 15 +++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 18 ++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 18 ++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 21 ++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 15 +++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 18 ++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 18 ++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- .../debug-certificate-manager/CHANGELOG.json | 12 ++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 ++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 15 +++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 +++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 12 ++++++ libraries/package-deps-hash/CHANGELOG.md | 7 +++- libraries/package-extractor/CHANGELOG.json | 18 ++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 12 ++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/typings-generator/CHANGELOG.json | 12 ++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 ++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 27 ++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 41 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 10 ++++- .../hashed-folder-copy-plugin/CHANGELOG.json | 12 ++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 ++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 ++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 ++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 ++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 15 +++++++ .../webpack5-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 ++++++++++ .../CHANGELOG.md | 7 +++- 81 files changed, 859 insertions(+), 69 deletions(-) delete mode 100644 common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json delete mode 100644 common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json delete mode 100644 common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index 7eb5cff4ace..bfbbe07bb68 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.26", + "tag": "@microsoft/api-documenter_v7.23.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "7.23.25", "tag": "@microsoft/api-documenter_v7.23.25", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index 381a088dacd..84bf27c4833 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 7.23.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 7.23.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 09031dcd109..7b112deffd7 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.65.0", + "tag": "@rushstack/heft_v0.65.0", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "minor": [ + { + "comment": "Add a built-in `set-environment-variables-plugin` task plugin to set environment variables." + } + ] + } + }, { "version": "0.64.8", "tag": "@rushstack/heft_v0.64.8", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index 0bfea194c89..8b6ebe00bd2 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.65.0 +Tue, 20 Feb 2024 16:10:52 GMT + +### Minor changes + +- Add a built-in `set-environment-variables-plugin` task plugin to set environment variables. ## 0.64.8 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 0751897205d..30e9acdb50a 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.26", + "tag": "@rushstack/lockfile-explorer_v1.2.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "1.2.25", "tag": "@rushstack/lockfile-explorer_v1.2.25", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index 04c023438de..d070bdfe408 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 1.2.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 1.2.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index 7b20f0f4715..d02d0fd6b04 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.26", + "tag": "@rushstack/rundown_v1.1.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "1.1.25", "tag": "@rushstack/rundown_v1.1.25", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index ae6f95c3b4a..8d742914cfe 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 1.1.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 1.1.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index c656ce98c1b..94de4728c4d 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.26", + "tag": "@rushstack/trace-import_v0.3.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.3.25", "tag": "@rushstack/trace-import_v0.3.25", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index 6f64a056a1a..ae5a346e0f3 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.3.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.3.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json deleted file mode 100644 index 5ca70017e0d..00000000000 --- a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2022-12-26-02-04.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-web-rig", - "comment": "Include the `set-environment-variables-plugin` plugin from the `@rushstack/heft` package to set the `BROWSERSLIST_IGNORE_OLD_DATA` environment variable to `1` to suppress the warning printed when the `browserslist` package decides it's out of date.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft-web-rig" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json b/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json deleted file mode 100644 index 1456803f85d..00000000000 --- a/common/changes/@rushstack/heft-web-rig/heft-suppress-browserslist-warning-plugin_2024-02-20-01-46.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-web-rig", - "comment": "Rename the `sass-typings` task in the \"library\" profile to `sass`, which more accurately describes what the task does and matches what's in the \"app\" profile.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft-web-rig" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json b/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json deleted file mode 100644 index f7b0f79de76..00000000000 --- a/common/changes/@rushstack/heft/heft-suppress-browserslist-warning-plugin_2024-02-20-01-13.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft", - "comment": "Add a built-in `set-environment-variables-plugin` task plugin to set environment variables.", - "type": "minor" - } - ], - "packageName": "@rushstack/heft" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index 04643682576..cf29cc2dacd 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.16", + "tag": "@rushstack/eslint-bulk_v0.1.16", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.1.15", "tag": "@rushstack/eslint-bulk_v0.1.15", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index 85d13e6d60a..946dc876087 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.1.16 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.1.15 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index a185d18dae4..9836dc84c39 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.9", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.9", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.8` to `0.65.0`" + } + ] + } + }, { "version": "0.3.8", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.8", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index 32d906a23c5..64a4747ed14 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.3.9 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.3.8 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index f342e940915..9eb5d8e71b5 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.26", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.4.25", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.25", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 99593093606..3c138149d08 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.4.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 0.4.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index bb129868aa4..6c63856ebfd 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.9", + "tag": "@rushstack/heft-jest-plugin_v0.11.9", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.11.8", "tag": "@rushstack/heft-jest-plugin_v0.11.8", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index a19e8487bd7..1fe1a255e8e 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.11.9 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.11.8 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index 293d0a06d8b..d8c868a1d57 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.9", + "tag": "@rushstack/heft-lint-plugin_v0.3.9", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.8` to `0.65.0`" + } + ] + } + }, { "version": "0.3.8", "tag": "@rushstack/heft-lint-plugin_v0.3.8", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index 48faa2e1e64..ca25918d8cf 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.3.9 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.3.8 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 1af8c528c82..25b3294a8ae 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.12", + "tag": "@rushstack/heft-sass-plugin_v0.13.12", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.13.11", "tag": "@rushstack/heft-sass-plugin_v0.13.11", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index ba291846e87..814cd24c084 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.13.12 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.13.11 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index b144ca5a23e..7dac038e2bf 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.26", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.3.25", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.25", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index 11f89af8930..d4d82e42437 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.3.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 0.3.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 10a89dfafe7..65a23dde1b8 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.6.3", + "tag": "@rushstack/heft-storybook-plugin_v0.6.3", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.6.2", "tag": "@rushstack/heft-storybook-plugin_v0.6.2", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index b6e762d9dbe..82229b657bc 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.6.3 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.6.2 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index c1f17f49f90..48e0f6b0670 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.9", + "tag": "@rushstack/heft-typescript-plugin_v0.3.9", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.64.8` to `0.65.0`" + } + ] + } + }, { "version": "0.3.8", "tag": "@rushstack/heft-typescript-plugin_v0.3.8", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 3422bcae250..9755abe18c2 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.3.9 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.3.8 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index c5c209bdd7f..549468579f3 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.26", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.10.25", "tag": "@rushstack/heft-webpack4-plugin_v0.10.25", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index 477bc2f5344..e6b0ce576a9 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.10.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 0.10.25 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index d3e707b1351..c6264111213 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.26", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.9.25", "tag": "@rushstack/heft-webpack5-plugin_v0.9.25", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index 405b49c44a9..d631b6f18b9 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.9.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.9.25 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index db851689786..f32ed59e197 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.26", + "tag": "@rushstack/debug-certificate-manager_v1.3.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "1.3.25", "tag": "@rushstack/debug-certificate-manager_v1.3.25", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index 81b6379fa4c..df75c8793ec 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 1.3.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 1.3.25 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 72715c33b39..264d95b1345 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.102", + "tag": "@microsoft/load-themed-styles_v2.0.102", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "2.0.101", "tag": "@microsoft/load-themed-styles_v2.0.101", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index 47d7e10111f..f3139e79b74 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 2.0.102 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 2.0.101 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index 63be8b3528f..36d4fc41255 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.26", + "tag": "@rushstack/localization-utilities_v0.9.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.9.25", "tag": "@rushstack/localization-utilities_v0.9.25", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index 650d4718207..ec954e2e247 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.9.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.9.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index 4bda86427c3..9edc54491be 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.26", + "tag": "@rushstack/module-minifier_v0.4.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.4.25", "tag": "@rushstack/module-minifier_v0.4.25", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index a757851f9f3..29fa6383694 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.4.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.4.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index 05cc3dbcd7f..a8d69f94bab 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.27", + "tag": "@rushstack/package-deps-hash_v4.1.27", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "4.1.26", "tag": "@rushstack/package-deps-hash_v4.1.26", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index b4ec2fbf2fc..0b674d93952 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 4.1.27 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 4.1.26 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index d1b8a7fa07b..5723e40f2e5 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.29", + "tag": "@rushstack/package-extractor_v0.6.29", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.26`" + } + ] + } + }, { "version": "0.6.28", "tag": "@rushstack/package-extractor_v0.6.28", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index 4a09f1180b8..aca9c75b9ee 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.6.29 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.6.28 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index 7cae1ceb3e2..c2387588117 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.27", + "tag": "@rushstack/stream-collator_v4.1.27", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "4.1.26", "tag": "@rushstack/stream-collator_v4.1.26", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index 0e7b8cdc738..c6b463ebd34 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 4.1.27 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 4.1.26 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 3dea1dbd1c2..34b1000d354 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.26", + "tag": "@rushstack/typings-generator_v0.12.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.12.25", "tag": "@rushstack/typings-generator_v0.12.25", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index 691c339afd7..4a1b7659abe 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.12.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.12.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index f1badcd9dd6..8007ea92c49 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.26", + "tag": "@rushstack/worker-pool_v0.4.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.4.25", "tag": "@rushstack/worker-pool_v0.4.25", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index 05ba745a3bb..2319fbec85c 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.4.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.4.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 9ff114e4a26..9e128e6fa44 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.11", + "tag": "@rushstack/heft-node-rig_v2.4.11", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "2.4.10", "tag": "@rushstack/heft-node-rig_v2.4.10", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index 6c47f7d3906..3f1620f3c09 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 2.4.11 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 2.4.10 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 02fa48b1f42..85c69feb6df 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,47 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.21.0", + "tag": "@rushstack/heft-web-rig_v0.21.0", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "minor": [ + { + "comment": "Include the `set-environment-variables-plugin` plugin from the `@rushstack/heft` package to set the `BROWSERSLIST_IGNORE_OLD_DATA` environment variable to `1` to suppress the warning printed when the `browserslist` package decides it's out of date." + }, + { + "comment": "Rename the `sass-typings` task in the \"library\" profile to `sass`, which more accurately describes what the task does and matches what's in the \"app\" profile." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.12`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.9`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.64.8` to `^0.65.0`" + } + ] + } + }, { "version": "0.20.10", "tag": "@rushstack/heft-web-rig_v0.20.10", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 728f71f7ed0..523d7151cd1 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.21.0 +Tue, 20 Feb 2024 16:10:52 GMT + +### Minor changes + +- Include the `set-environment-variables-plugin` plugin from the `@rushstack/heft` package to set the `BROWSERSLIST_IGNORE_OLD_DATA` environment variable to `1` to suppress the warning printed when the `browserslist` package decides it's out of date. +- Rename the `sass-typings` task in the "library" profile to `sass`, which more accurately describes what the task does and matches what's in the "app" profile. ## 0.20.10 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index db9efb257fa..b17aeffcb2f 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.18", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.18", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "1.0.17", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.17", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index 5906ef702f2..f67be871167 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 1.0.18 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 1.0.17 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index 12e767b8dfd..ef475a1df1d 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.26", + "tag": "@microsoft/loader-load-themed-styles_v2.1.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.102`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.101` to `^2.0.102`" + } + ] + } + }, { "version": "2.1.25", "tag": "@microsoft/loader-load-themed-styles_v2.1.25", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index 146569c6914..649fa5b6c2e 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 2.1.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 2.1.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index e104a2c28cb..0e012ec839b 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.26", + "tag": "@rushstack/loader-raw-script_v1.4.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "1.4.25", "tag": "@rushstack/loader-raw-script_v1.4.25", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index 6653ecb64c1..af5ce5db84b 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 1.4.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 1.4.25 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index 86e22303c66..b9a0a7e22ac 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.26", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.11.25", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.25", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index f86d5be001c..4154b55860e 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.11.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.11.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index cf06aee4f0f..4c5a2616b6c 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.10", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.10", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "5.1.9", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.9", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index a76dbdb5965..210a2d79022 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 5.1.10 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 5.1.9 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index b8f51ecdba1..6d52b825171 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.27", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.27", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.2.26", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.26", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index a090f790fe9..e996e4293b2 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.2.27 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.2.26 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 2ef6023b9b4..2a500814c6a 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.10", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.10", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.4.9", "tag": "@rushstack/webpack-plugin-utilities_v0.4.9", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index 7b64dbfc1d8..dc4925450b6 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.4.10 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.4.9 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 8b465ff9043..208fe4ec179 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.26", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.18.25", "tag": "@rushstack/webpack4-localization-plugin_v0.18.25", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index d06e5c354d2..a757b64ac32 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.18.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.18.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index c9cee8f9026..337347f6508 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.26", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.26`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.13.25", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.25", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 159dc797cab..615346aed14 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.13.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.13.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 057ceb82065..29c311b3607 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.26", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.26", + "date": "Tue, 20 Feb 2024 16:10:52 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.102`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.101` to `^2.0.102`" + } + ] + } + }, { "version": "0.2.25", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.25", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 78951bbcdf2..738ebe62741 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. + +## 0.2.26 +Tue, 20 Feb 2024 16:10:52 GMT + +_Version update only_ ## 0.2.25 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index d3e12188b13..73cc8821f51 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.9.1", + "tag": "@rushstack/webpack5-localization-plugin_v0.9.1", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + } + ] + } + }, { "version": "0.9.0", "tag": "@rushstack/webpack5-localization-plugin_v0.9.0", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index 95b232edb10..e25d6b75cd0 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 0.9.1 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 0.9.0 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index b672b3791d1..28b4238fa3a 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.26", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.26", + "date": "Tue, 20 Feb 2024 16:10:53 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.26`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.0`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.26`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.25", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.25", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index 814f88ce484..0a6272584d1 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. + +## 5.5.26 +Tue, 20 Feb 2024 16:10:53 GMT + +_Version update only_ ## 5.5.25 Mon, 19 Feb 2024 21:54:27 GMT From 7685c038d62c8666ee94cee3c3e34c21e744d30c Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 20 Feb 2024 16:10:55 +0000 Subject: [PATCH 171/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/debug-certificate-manager/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 39 files changed, 53 insertions(+), 53 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index 8b7ddeb93cc..9620f9ae0a3 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.25", + "version": "7.23.26", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/heft/package.json b/apps/heft/package.json index 23743bf69b7..88748fe1471 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.64.8", + "version": "0.65.0", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 1b45f73e29b..a972bff2152 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.25", + "version": "1.2.26", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index bd59f4d88cc..a8368c85870 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.25", + "version": "1.1.26", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index be764e834a7..96835fbfe2e 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.25", + "version": "0.3.26", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index 28ba21347eb..f4b7e6dc864 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.15", + "version": "0.1.16", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index 0de26be1ba2..b1f12c89e96 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.8", + "version": "0.3.9", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.8" + "@rushstack/heft": "0.65.0" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 7dc9d250882..58d72b36fe4 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.25", + "version": "0.4.26", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index a0d2e78bca4..8eadaa4fc89 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.8", + "version": "0.11.9", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8", + "@rushstack/heft": "^0.65.0", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index 6de7dc2f514..6495b9ad42b 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.8", + "version": "0.3.9", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.8" + "@rushstack/heft": "0.65.0" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index b59fd47b26a..925747edcb2 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.11", + "version": "0.13.12", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index 7255f4a5b20..021ba041737 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.25", + "version": "0.3.26", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index fb6b8f5e3d4..a13c3469633 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.6.2", + "version": "0.6.3", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index a2435bf669b..a961e7866ba 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.8", + "version": "0.3.9", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.64.8" + "@rushstack/heft": "0.65.0" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index f9d80679986..a59fae59ef9 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.25", + "version": "0.10.26", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.64.8", + "@rushstack/heft": "^0.65.0", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index dca1e443f66..bd89f1f7f9a 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.25", + "version": "0.9.26", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8", + "@rushstack/heft": "^0.65.0", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 99ea8217d61..17ac7b93dd5 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.25", + "version": "1.3.26", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index cf2817a9660..25b4e4e2a79 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.101", + "version": "2.0.102", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index 0749e444944..e6983e798e5 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.25", + "version": "0.9.26", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index d1da828a82b..a60bec4a87e 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.25", + "version": "0.4.26", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index e2eeb277830..ee507e04a92 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.26", + "version": "4.1.27", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index e900ddb9876..b39ea223f53 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.28", + "version": "0.6.29", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index 447cff5b4eb..bb12ce59e71 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.26", + "version": "4.1.27", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index 81ac91ff09d..a62752176bf 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.25", + "version": "0.12.26", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 49b69dd6c9c..5f514c90bf8 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.25", + "version": "0.4.26", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 553dce1f002..4d7aefb591c 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.10", + "version": "2.4.11", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 5fcb401f3d3..bb870d7ab1c 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.20.10", + "version": "0.21.0", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.64.8" + "@rushstack/heft": "^0.65.0" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 43c5ec70f84..46f9da8f2ed 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.17", + "version": "1.0.18", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 3f7024c37c4..51b09124572 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.25", + "version": "2.1.26", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.101" + "@microsoft/load-themed-styles": "^2.0.102" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index 814db5f5cea..066e39bcfb4 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.25", + "version": "1.4.26", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index 577b3deca0f..775a72d4056 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.25", + "version": "0.11.26", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 03a6e63f7d4..76fdd166d08 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.9", + "version": "5.1.10", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index 9e7ef8f85bd..48bfa94e2a0 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.26", + "version": "0.2.27", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index d01dd50ac56..423b0511dff 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.9", + "version": "0.4.10", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 98688989d3d..e4b33cd2021 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.25", + "version": "0.18.26", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index ac824dbf801..358c16529ce 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.25", + "version": "0.13.26", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index aa965253fe3..1bb7b7d2875 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.25", + "version": "0.2.26", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.101", + "@microsoft/load-themed-styles": "^2.0.102", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 416d5ca6198..0b9c9d3579b 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.9.0", + "version": "0.9.1", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 13b1c1b26d7..1afed7ef048 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.25", + "version": "5.5.26", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From 72b492ccb9d0c23edf96f94216bcbece13dc2e69 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:34:51 -0800 Subject: [PATCH 172/180] Improve "rush scan" to analyze APIs such as "Import.lazy()" and "await import()" --- .../rush-lib/src/cli/actions/ScanAction.ts | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/libraries/rush-lib/src/cli/actions/ScanAction.ts b/libraries/rush-lib/src/cli/actions/ScanAction.ts index ef6ee38197e..a5e05c943e9 100644 --- a/libraries/rush-lib/src/cli/actions/ScanAction.ts +++ b/libraries/rush-lib/src/cli/actions/ScanAction.ts @@ -67,20 +67,24 @@ export class ScanAction extends BaseConfiglessRushAction { const requireRegExps: RegExp[] = [ // Example: require('something') - /\brequire\s*\(\s*[']([^']+\s*)[']\)/, - /\brequire\s*\(\s*["]([^"]+)["]\s*\)/, + /\brequire\s*\(\s*[']([^']+\s*)[']\s*\)/, + /\brequire\s*\(\s*["]([^"]+\s*)["]\s*\)/, // Example: require.ensure('something') - /\brequire.ensure\s*\(\s*[']([^']+\s*)[']\)/, - /\brequire.ensure\s*\(\s*["]([^"]+)["]\s*\)/, + /\brequire\.ensure\s*\(\s*[']([^']+\s*)[']\s*\)/, + /\brequire\.ensure\s*\(\s*["]([^"]+\s*)["]\s*\)/, // Example: require.resolve('something') - /\brequire.resolve\s*\(\s*[']([^']+\s*)[']\)/, - /\brequire.resolve\s*\(\s*["]([^"]+)["]\s*\)/, + /\brequire\.resolve\s*\(\s*[']([^']+\s*)[']\s*\)/, + /\brequire\.resolve\s*\(\s*["]([^"]+\s*)["]\s*\)/, // Example: System.import('something') - /\bSystem.import\s*\(\s*[']([^']+\s*)[']\)/, - /\bSystem.import\s*\(\s*["]([^"]+)["]\s*\)/, + /\bSystem\.import\s*\(\s*[']([^']+\s*)[']\s*\)/, + /\bSystem\.import\s*\(\s*["]([^"]+\s*)["]\s*\)/, + + // Example: Import.lazy('something', require); + /\bImport\.lazy\s*\(\s*[']([^']+\s*)[']/, + /\bImport\.lazy\s*\(\s*["]([^"]+\s*)["]/, // Example: // @@ -94,6 +98,10 @@ export class ScanAction extends BaseConfiglessRushAction { /\bimport\s*[']([^']+)[']\s*\;/, /\bimport\s*["]([^"]+)["]\s*\;/, + // Example: await import('fast-glob') + /\bimport\s*\(\s*[']([^']+)[']\s*\)/, + /\bimport\s*\(\s*["]([^"]+)["]\s*\)/, + // Example: // /// /\/\/\/\s*<\s*reference\s+types\s*=\s*["]([^"]+)["]\s*\/>/ From d735bf6bd7acdef756085fb146721e7a2a3cda58 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:36:13 -0800 Subject: [PATCH 173/180] Fix https://github.com/microsoft/rushstack/issues/4525 regression where `@rushstack/terminal` did not declare its dependency on `colors` --- libraries/terminal/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index b296fcf1711..f2d092dd8c6 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -16,15 +16,15 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "@rushstack/node-core-library": "workspace:*" + "@rushstack/node-core-library": "workspace:*", + "colors": "~1.2.1" }, "devDependencies": { "@rushstack/heft": "0.64.0", "@rushstack/heft-node-rig": "2.4.0", "@types/heft-jest": "1.0.1", "@types/node": "18.17.15", - "local-eslint-config": "workspace:*", - "colors": "~1.2.1" + "local-eslint-config": "workspace:*" }, "peerDependencies": { "@types/node": "*" From fa0f2ebe8ad0c95ccac072e24569c00f6329d54b Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:37:41 -0800 Subject: [PATCH 174/180] Remove deadwood dependencies detected using "rush scan": - Heft no longer needs Chokidar - Lockfile Explorer no longer uses FluentUI - node-core-library no longer uses colors --- apps/heft/package.json | 1 - apps/lockfile-explorer-web/package.json | 1 - libraries/node-core-library/package.json | 1 - 3 files changed, 3 deletions(-) diff --git a/apps/heft/package.json b/apps/heft/package.json index 88748fe1471..69b9fd61dd1 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -41,7 +41,6 @@ "@rushstack/terminal": "workspace:*", "@rushstack/ts-command-line": "workspace:*", "@types/tapable": "1.0.6", - "chokidar": "~3.4.0", "fast-glob": "~3.3.1", "git-repo-info": "~2.1.0", "ignore": "~5.1.6", diff --git a/apps/lockfile-explorer-web/package.json b/apps/lockfile-explorer-web/package.json index 57f16732269..58198d94123 100644 --- a/apps/lockfile-explorer-web/package.json +++ b/apps/lockfile-explorer-web/package.json @@ -12,7 +12,6 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "@fluentui/react": "^8.96.1", "react": "~17.0.2", "react-dom": "~17.0.2", "@lifaon/path": "~2.1.0", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index f571da32594..4c0c1587ce4 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -16,7 +16,6 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "colors": "~1.2.1", "fs-extra": "~7.0.1", "import-lazy": "~4.0.0", "jju": "~1.4.0", From 23d37de45e478af9a40b0d699b0b8a3406fce76f Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:38:11 -0800 Subject: [PATCH 175/180] rush update --- common/config/rush/pnpm-lock.yaml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index dab07f0e72c..02a98491711 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -137,9 +137,6 @@ importers: '@types/tapable': specifier: 1.0.6 version: 1.0.6 - chokidar: - specifier: ~3.4.0 - version: 3.4.3 fast-glob: specifier: ~3.3.1 version: 3.3.1 @@ -235,9 +232,6 @@ importers: ../../apps/lockfile-explorer-web: dependencies: - '@fluentui/react': - specifier: ^8.96.1 - version: 8.110.12(@types/react-dom@17.0.25)(@types/react@17.0.74)(react-dom@17.0.2)(react@17.0.2) '@lifaon/path': specifier: ~2.1.0 version: 2.1.0 @@ -2996,9 +2990,6 @@ importers: ../../libraries/node-core-library: dependencies: - colors: - specifier: ~1.2.1 - version: 1.2.5 fs-extra: specifier: ~7.0.1 version: 7.0.1 @@ -3450,6 +3441,9 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library + colors: + specifier: ~1.2.1 + version: 1.2.5 devDependencies: '@rushstack/heft': specifier: 0.64.0 @@ -3463,9 +3457,6 @@ importers: '@types/node': specifier: 18.17.15 version: 18.17.15 - colors: - specifier: ~1.2.1 - version: 1.2.5 local-eslint-config: specifier: workspace:* version: link:../../eslint/local-eslint-config From ac53b433b1d534ea8c6895e3a003df64f506e489 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:40:10 -0800 Subject: [PATCH 176/180] rush rebuild --- .../workspace/common/pnpm-lock.yaml | 183 +++++++++--------- 1 file changed, 91 insertions(+), 92 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 3402c77aa02..5f2d30d4259 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -11,8 +11,8 @@ importers: rush-lib-test: dependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.4.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.114.0.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.114.0.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 @@ -30,15 +30,15 @@ importers: rush-sdk-test: dependencies: '@rushstack/rush-sdk': - specifier: file:rushstack-rush-sdk-5.113.4.tgz - version: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz(@types/node@18.17.15) + specifier: file:rushstack-rush-sdk-5.114.0.tgz + version: file:../temp/tarballs/rushstack-rush-sdk-5.114.0.tgz(@types/node@18.17.15) colors: specifier: ^1.4.0 version: 1.4.0 devDependencies: '@microsoft/rush-lib': - specifier: file:microsoft-rush-lib-5.113.4.tgz - version: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15) + specifier: file:microsoft-rush-lib-5.114.0.tgz + version: file:../temp/tarballs/microsoft-rush-lib-5.114.0.tgz(@types/node@18.17.15) '@types/node': specifier: 18.17.15 version: 18.17.15 @@ -55,14 +55,14 @@ importers: specifier: file:rushstack-eslint-config-3.6.4.tgz version: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@5.3.3) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.7.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.7.tgz + specifier: file:rushstack-heft-0.65.0.tgz + version: file:../temp/tarballs/rushstack-heft-0.65.0.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.7.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) + specifier: file:rushstack-heft-lint-plugin-0.3.9.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.9.tgz(@rushstack/heft@0.65.0) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.7.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) + specifier: file:rushstack-heft-typescript-plugin-0.3.9.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.9.tgz(@rushstack/heft@0.65.0) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -79,14 +79,14 @@ importers: specifier: file:rushstack-eslint-config-3.6.4.tgz version: file:../temp/tarballs/rushstack-eslint-config-3.6.4.tgz(eslint@8.7.0)(typescript@4.7.4) '@rushstack/heft': - specifier: file:rushstack-heft-0.64.7.tgz - version: file:../temp/tarballs/rushstack-heft-0.64.7.tgz + specifier: file:rushstack-heft-0.65.0.tgz + version: file:../temp/tarballs/rushstack-heft-0.65.0.tgz '@rushstack/heft-lint-plugin': - specifier: file:rushstack-heft-lint-plugin-0.3.7.tgz - version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) + specifier: file:rushstack-heft-lint-plugin-0.3.9.tgz + version: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.9.tgz(@rushstack/heft@0.65.0) '@rushstack/heft-typescript-plugin': - specifier: file:rushstack-heft-typescript-plugin-0.3.7.tgz - version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7) + specifier: file:rushstack-heft-typescript-plugin-0.3.9.tgz + version: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.9.tgz(@rushstack/heft@0.65.0) eslint: specifier: ~8.7.0 version: 8.7.0 @@ -4241,22 +4241,22 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.113.4.tgz + file:../temp/tarballs/microsoft-rush-lib-5.114.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.114.0.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.114.0.tgz name: '@microsoft/rush-lib' - version: 5.113.4 + version: 5.114.0 engines: {node: '>=5.6.0'} dependencies: '@pnpm/dependency-path': 2.1.2 '@pnpm/link-bins': 5.3.25 - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) - '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz(@types/node@18.17.15) - '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz(@types/node@18.17.15) + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) + '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.1.27.tgz(@types/node@18.17.15) + '@rushstack/package-extractor': file:../temp/tarballs/rushstack-package-extractor-0.6.29.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz - '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.1.27.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz '@types/node-fetch': 2.6.2 '@yarnpkg/lockfile': 1.0.2 @@ -4444,21 +4444,20 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.64.7.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.64.7.tgz} + file:../temp/tarballs/rushstack-heft-0.65.0.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.65.0.tgz} name: '@rushstack/heft' - version: 0.64.7 + version: 0.65.0 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) - '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) + '@rushstack/operation-graph': file:../temp/tarballs/rushstack-operation-graph-0.2.10.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.17.2.tgz '@types/tapable': 1.0.6 - chokidar: 3.4.3 fast-glob: 3.3.1 git-repo-info: 2.1.1 ignore: 5.1.9 @@ -4469,46 +4468,46 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz} - id: file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz + file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz} + id: file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz name: '@rushstack/heft-config-file' - version: 0.14.10 + version: 0.14.11 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.5.2.tgz - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) jsonpath-plus: 4.0.0 transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz(@rushstack/heft@0.64.7): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz} - id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.7.tgz + file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.9.tgz(@rushstack/heft@0.65.0): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.9.tgz} + id: file:../temp/tarballs/rushstack-heft-lint-plugin-0.3.9.tgz name: '@rushstack/heft-lint-plugin' - version: 0.3.7 + version: 0.3.9 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.7.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.65.0.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) semver: 7.5.4 transitivePeerDependencies: - '@types/node' dev: true - file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz(@rushstack/heft@0.64.7): - resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz} - id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.7.tgz + file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.9.tgz(@rushstack/heft@0.65.0): + resolution: {tarball: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.9.tgz} + id: file:../temp/tarballs/rushstack-heft-typescript-plugin-0.3.9.tgz name: '@rushstack/heft-typescript-plugin' - version: 0.3.7 + version: 0.3.9 peerDependencies: '@rushstack/heft': '*' dependencies: - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.64.7.tgz - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.10.tgz(@types/node@18.17.15) - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.65.0.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.14.11.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) '@types/tapable': 1.0.6 semver: 7.5.4 tapable: 1.1.3 @@ -4516,11 +4515,11 @@ packages: - '@types/node' dev: true - file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz} - id: file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz + file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz} + id: file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz name: '@rushstack/node-core-library' - version: 3.66.1 + version: 4.0.0 peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -4528,7 +4527,6 @@ packages: optional: true dependencies: '@types/node': 18.17.15 - colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -4536,39 +4534,39 @@ packages: semver: 7.5.4 z-schema: 5.0.3 - file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.9.tgz} + file:../temp/tarballs/rushstack-operation-graph-0.2.10.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-operation-graph-0.2.10.tgz} name: '@rushstack/operation-graph' - version: 0.2.9 + version: 0.2.10 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) dev: true - file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz} - id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.25.tgz + file:../temp/tarballs/rushstack-package-deps-hash-4.1.27.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.1.27.tgz} + id: file:../temp/tarballs/rushstack-package-deps-hash-4.1.27.tgz name: '@rushstack/package-deps-hash' - version: 4.1.25 + version: 4.1.27 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz} - id: file:../temp/tarballs/rushstack-package-extractor-0.6.27.tgz + file:../temp/tarballs/rushstack-package-extractor-0.6.29.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-package-extractor-0.6.29.tgz} + id: file:../temp/tarballs/rushstack-package-extractor-0.6.29.tgz name: '@rushstack/package-extractor' - version: 0.6.27 + version: 0.6.29 dependencies: '@pnpm/link-bins': 5.3.25 - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) ignore: 5.1.9 jszip: 3.8.0 minimatch: 3.0.8 @@ -4585,43 +4583,44 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.113.4.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.114.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.114.0.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.114.0.tgz name: '@rushstack/rush-sdk' - version: 5.113.4 + version: 5.114.0 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) '@types/node-fetch': 2.6.2 tapable: 2.2.1 transitivePeerDependencies: - '@types/node' dev: false - file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz} - id: file:../temp/tarballs/rushstack-stream-collator-4.1.25.tgz + file:../temp/tarballs/rushstack-stream-collator-4.1.27.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-stream-collator-4.1.27.tgz} + id: file:../temp/tarballs/rushstack-stream-collator-4.1.27.tgz name: '@rushstack/stream-collator' - version: 4.1.25 + version: 4.1.27 dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) - '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) + '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15) transitivePeerDependencies: - '@types/node' - file:../temp/tarballs/rushstack-terminal-0.7.24.tgz(@types/node@18.17.15): - resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.7.24.tgz} - id: file:../temp/tarballs/rushstack-terminal-0.7.24.tgz + file:../temp/tarballs/rushstack-terminal-0.8.0.tgz(@types/node@18.17.15): + resolution: {tarball: file:../temp/tarballs/rushstack-terminal-0.8.0.tgz} + id: file:../temp/tarballs/rushstack-terminal-0.8.0.tgz name: '@rushstack/terminal' - version: 0.7.24 + version: 0.8.0 peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.66.1.tgz(@types/node@18.17.15) + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-4.0.0.tgz(@types/node@18.17.15) '@types/node': 18.17.15 + colors: 1.2.5 file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz: resolution: {tarball: file:../temp/tarballs/rushstack-tree-pattern-0.3.3.tgz} From 9d96bedd9145aa32bd4d4a4c9b530565bdda95ad Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 13:19:17 -0800 Subject: [PATCH 177/180] Rush change --- .../octogonz-fix-package-deps_2024-02-20-21-19.json | 10 ++++++++++ .../octogonz-fix-package-deps_2024-02-20-21-19.json | 10 ++++++++++ .../octogonz-fix-package-deps_2024-02-20-21-19.json | 10 ++++++++++ .../octogonz-fix-package-deps_2024-02-20-21-19.json | 10 ++++++++++ 4 files changed, 40 insertions(+) create mode 100644 common/changes/@microsoft/rush/octogonz-fix-package-deps_2024-02-20-21-19.json create mode 100644 common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json create mode 100644 common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json create mode 100644 common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json diff --git a/common/changes/@microsoft/rush/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@microsoft/rush/octogonz-fix-package-deps_2024-02-20-21-19.json new file mode 100644 index 00000000000..858c2f6e469 --- /dev/null +++ b/common/changes/@microsoft/rush/octogonz-fix-package-deps_2024-02-20-21-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Improve `rush scan` to analyze APIs such as `Import.lazy()` and `await import()`", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json new file mode 100644 index 00000000000..6030fb74051 --- /dev/null +++ b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft", + "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)", + "type": "patch" + } + ], + "packageName": "@rushstack/heft" +} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json new file mode 100644 index 00000000000..c054c3de118 --- /dev/null +++ b/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/node-core-library", + "comment": "Remove a no longer needed dependency on the `colors` package", + "type": "patch" + } + ], + "packageName": "@rushstack/node-core-library" +} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json new file mode 100644 index 00000000000..3a1fe576bd0 --- /dev/null +++ b/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/terminal", + "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)", + "type": "patch" + } + ], + "packageName": "@rushstack/terminal" +} \ No newline at end of file From b02ccc9a6e1016c46cc06ed41a8d76cbbce2daa5 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 20 Feb 2024 13:20:20 -0800 Subject: [PATCH 178/180] rush change --- .../octogonz-fix-package-deps_2024-02-20-21-20.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json diff --git a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json new file mode 100644 index 00000000000..10699d924f8 --- /dev/null +++ b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft", + "comment": "Remove a no longer needed dependency on the `chokidar` package", + "type": "patch" + } + ], + "packageName": "@rushstack/heft" +} \ No newline at end of file From e0ae6f7a55cbe07e7f7ace8fb79df62ef79afaeb Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 20 Feb 2024 21:45:11 +0000 Subject: [PATCH 179/180] Update changelogs [skip ci] --- apps/api-documenter/CHANGELOG.json | 18 ++++++++++ apps/api-documenter/CHANGELOG.md | 7 +++- apps/api-extractor/CHANGELOG.json | 15 ++++++++ apps/api-extractor/CHANGELOG.md | 7 +++- apps/heft/CHANGELOG.json | 32 +++++++++++++++++ apps/heft/CHANGELOG.md | 10 +++++- apps/lockfile-explorer/CHANGELOG.json | 15 ++++++++ apps/lockfile-explorer/CHANGELOG.md | 7 +++- apps/rundown/CHANGELOG.json | 15 ++++++++ apps/rundown/CHANGELOG.md | 7 +++- apps/trace-import/CHANGELOG.json | 15 ++++++++ apps/trace-import/CHANGELOG.md | 7 +++- ...onz-fix-package-deps_2024-02-20-21-19.json | 10 ------ ...onz-fix-package-deps_2024-02-20-21-20.json | 10 ------ ...onz-fix-package-deps_2024-02-20-21-19.json | 10 ------ ...onz-fix-package-deps_2024-02-20-21-19.json | 10 ------ eslint/eslint-bulk/CHANGELOG.json | 12 +++++++ eslint/eslint-bulk/CHANGELOG.md | 7 +++- .../heft-api-extractor-plugin/CHANGELOG.json | 27 ++++++++++++++ .../heft-api-extractor-plugin/CHANGELOG.md | 7 +++- .../heft-dev-cert-plugin/CHANGELOG.json | 21 +++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-jest-plugin/CHANGELOG.json | 24 +++++++++++++ heft-plugins/heft-jest-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-lint-plugin/CHANGELOG.json | 24 +++++++++++++ heft-plugins/heft-lint-plugin/CHANGELOG.md | 7 +++- heft-plugins/heft-sass-plugin/CHANGELOG.json | 27 ++++++++++++++ heft-plugins/heft-sass-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 24 +++++++++++++ .../heft-serverless-stack-plugin/CHANGELOG.md | 7 +++- .../heft-storybook-plugin/CHANGELOG.json | 27 ++++++++++++++ .../heft-storybook-plugin/CHANGELOG.md | 7 +++- .../heft-typescript-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-typescript-plugin/CHANGELOG.md | 7 +++- .../heft-webpack4-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-webpack4-plugin/CHANGELOG.md | 7 +++- .../heft-webpack5-plugin/CHANGELOG.json | 24 +++++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 7 +++- libraries/api-extractor-model/CHANGELOG.json | 12 +++++++ libraries/api-extractor-model/CHANGELOG.md | 7 +++- .../debug-certificate-manager/CHANGELOG.json | 18 ++++++++++ .../debug-certificate-manager/CHANGELOG.md | 7 +++- libraries/heft-config-file/CHANGELOG.json | 15 ++++++++ libraries/heft-config-file/CHANGELOG.md | 7 +++- libraries/load-themed-styles/CHANGELOG.json | 12 +++++++ libraries/load-themed-styles/CHANGELOG.md | 7 +++- .../localization-utilities/CHANGELOG.json | 21 +++++++++++ libraries/localization-utilities/CHANGELOG.md | 7 +++- libraries/module-minifier/CHANGELOG.json | 15 ++++++++ libraries/module-minifier/CHANGELOG.md | 7 +++- libraries/node-core-library/CHANGELOG.json | 12 +++++++ libraries/node-core-library/CHANGELOG.md | 9 ++++- libraries/operation-graph/CHANGELOG.json | 15 ++++++++ libraries/operation-graph/CHANGELOG.md | 7 +++- libraries/package-deps-hash/CHANGELOG.json | 15 ++++++++ libraries/package-deps-hash/CHANGELOG.md | 7 +++- libraries/package-extractor/CHANGELOG.json | 24 +++++++++++++ libraries/package-extractor/CHANGELOG.md | 7 +++- libraries/stream-collator/CHANGELOG.json | 18 ++++++++++ libraries/stream-collator/CHANGELOG.md | 7 +++- libraries/terminal/CHANGELOG.json | 17 +++++++++ libraries/terminal/CHANGELOG.md | 9 ++++- libraries/typings-generator/CHANGELOG.json | 18 ++++++++++ libraries/typings-generator/CHANGELOG.md | 7 +++- libraries/worker-pool/CHANGELOG.json | 12 +++++++ libraries/worker-pool/CHANGELOG.md | 7 +++- rigs/heft-node-rig/CHANGELOG.json | 30 ++++++++++++++++ rigs/heft-node-rig/CHANGELOG.md | 7 +++- rigs/heft-web-rig/CHANGELOG.json | 36 +++++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 7 +++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 ++++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 +++- .../loader-load-themed-styles/CHANGELOG.json | 18 ++++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 +++- webpack/loader-raw-script/CHANGELOG.json | 12 +++++++ webpack/loader-raw-script/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 12 +++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../webpack-plugin-utilities/CHANGELOG.json | 12 +++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 18 ++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 7 +++- .../CHANGELOG.json | 21 +++++++++++ .../CHANGELOG.md | 7 +++- 94 files changed, 1142 insertions(+), 85 deletions(-) delete mode 100644 common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json delete mode 100644 common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json delete mode 100644 common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json delete mode 100644 common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json diff --git a/apps/api-documenter/CHANGELOG.json b/apps/api-documenter/CHANGELOG.json index bfbbe07bb68..37fb79c0ca4 100644 --- a/apps/api-documenter/CHANGELOG.json +++ b/apps/api-documenter/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/api-documenter", "entries": [ + { + "version": "7.23.27", + "tag": "@microsoft/api-documenter_v7.23.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "7.23.26", "tag": "@microsoft/api-documenter_v7.23.26", diff --git a/apps/api-documenter/CHANGELOG.md b/apps/api-documenter/CHANGELOG.md index 84bf27c4833..5b15dc773f5 100644 --- a/apps/api-documenter/CHANGELOG.md +++ b/apps/api-documenter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-documenter -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 7.23.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 7.23.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/apps/api-extractor/CHANGELOG.json b/apps/api-extractor/CHANGELOG.json index 97a49f3dff8..f72fba6d740 100644 --- a/apps/api-extractor/CHANGELOG.json +++ b/apps/api-extractor/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@microsoft/api-extractor", "entries": [ + { + "version": "7.40.4", + "tag": "@microsoft/api-extractor_v7.40.4", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.28.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + } + ] + } + }, { "version": "7.40.3", "tag": "@microsoft/api-extractor_v7.40.3", diff --git a/apps/api-extractor/CHANGELOG.md b/apps/api-extractor/CHANGELOG.md index 72437db7a7c..0e7faddddd7 100644 --- a/apps/api-extractor/CHANGELOG.md +++ b/apps/api-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 7.40.4 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 7.40.3 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/apps/heft/CHANGELOG.json b/apps/heft/CHANGELOG.json index 7b112deffd7..cecb3146c51 100644 --- a/apps/heft/CHANGELOG.json +++ b/apps/heft/CHANGELOG.json @@ -1,6 +1,38 @@ { "name": "@rushstack/heft", "entries": [ + { + "version": "0.65.1", + "tag": "@rushstack/heft_v0.65.1", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "patch": [ + { + "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)" + }, + { + "comment": "Remove a no longer needed dependency on the `chokidar` package" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/operation-graph\" to `0.2.11`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + } + ] + } + }, { "version": "0.65.0", "tag": "@rushstack/heft_v0.65.0", diff --git a/apps/heft/CHANGELOG.md b/apps/heft/CHANGELOG.md index 8b6ebe00bd2..99dc07d39c1 100644 --- a/apps/heft/CHANGELOG.md +++ b/apps/heft/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @rushstack/heft -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.65.1 +Tue, 20 Feb 2024 21:45:10 GMT + +### Patches + +- Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525) +- Remove a no longer needed dependency on the `chokidar` package ## 0.65.0 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/apps/lockfile-explorer/CHANGELOG.json b/apps/lockfile-explorer/CHANGELOG.json index 30e9acdb50a..a82e05aca83 100644 --- a/apps/lockfile-explorer/CHANGELOG.json +++ b/apps/lockfile-explorer/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/lockfile-explorer", "entries": [ + { + "version": "1.2.27", + "tag": "@rushstack/lockfile-explorer_v1.2.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "1.2.26", "tag": "@rushstack/lockfile-explorer_v1.2.26", diff --git a/apps/lockfile-explorer/CHANGELOG.md b/apps/lockfile-explorer/CHANGELOG.md index d070bdfe408..4a7983eed81 100644 --- a/apps/lockfile-explorer/CHANGELOG.md +++ b/apps/lockfile-explorer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/lockfile-explorer -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 1.2.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 1.2.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/apps/rundown/CHANGELOG.json b/apps/rundown/CHANGELOG.json index d02d0fd6b04..315cb28e258 100644 --- a/apps/rundown/CHANGELOG.json +++ b/apps/rundown/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/rundown", "entries": [ + { + "version": "1.1.27", + "tag": "@rushstack/rundown_v1.1.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "1.1.26", "tag": "@rushstack/rundown_v1.1.26", diff --git a/apps/rundown/CHANGELOG.md b/apps/rundown/CHANGELOG.md index 8d742914cfe..4b8979803e8 100644 --- a/apps/rundown/CHANGELOG.md +++ b/apps/rundown/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/rundown -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 1.1.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 1.1.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/apps/trace-import/CHANGELOG.json b/apps/trace-import/CHANGELOG.json index 94de4728c4d..0d53e7e8a04 100644 --- a/apps/trace-import/CHANGELOG.json +++ b/apps/trace-import/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/trace-import", "entries": [ + { + "version": "0.3.27", + "tag": "@rushstack/trace-import_v0.3.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.3.26", "tag": "@rushstack/trace-import_v0.3.26", diff --git a/apps/trace-import/CHANGELOG.md b/apps/trace-import/CHANGELOG.md index ae5a346e0f3..7bbb3210211 100644 --- a/apps/trace-import/CHANGELOG.md +++ b/apps/trace-import/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/trace-import -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.3.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.3.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json deleted file mode 100644 index 6030fb74051..00000000000 --- a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft", - "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)", - "type": "patch" - } - ], - "packageName": "@rushstack/heft" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json b/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json deleted file mode 100644 index 10699d924f8..00000000000 --- a/common/changes/@rushstack/heft/octogonz-fix-package-deps_2024-02-20-21-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft", - "comment": "Remove a no longer needed dependency on the `chokidar` package", - "type": "patch" - } - ], - "packageName": "@rushstack/heft" -} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json deleted file mode 100644 index c054c3de118..00000000000 --- a/common/changes/@rushstack/node-core-library/octogonz-fix-package-deps_2024-02-20-21-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/node-core-library", - "comment": "Remove a no longer needed dependency on the `colors` package", - "type": "patch" - } - ], - "packageName": "@rushstack/node-core-library" -} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json b/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json deleted file mode 100644 index 3a1fe576bd0..00000000000 --- a/common/changes/@rushstack/terminal/octogonz-fix-package-deps_2024-02-20-21-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/terminal", - "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)", - "type": "patch" - } - ], - "packageName": "@rushstack/terminal" -} \ No newline at end of file diff --git a/eslint/eslint-bulk/CHANGELOG.json b/eslint/eslint-bulk/CHANGELOG.json index cf29cc2dacd..95a9abc3099 100644 --- a/eslint/eslint-bulk/CHANGELOG.json +++ b/eslint/eslint-bulk/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/eslint-bulk", "entries": [ + { + "version": "0.1.17", + "tag": "@rushstack/eslint-bulk_v0.1.17", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.1.16", "tag": "@rushstack/eslint-bulk_v0.1.16", diff --git a/eslint/eslint-bulk/CHANGELOG.md b/eslint/eslint-bulk/CHANGELOG.md index 946dc876087..89072ee8d3d 100644 --- a/eslint/eslint-bulk/CHANGELOG.md +++ b/eslint/eslint-bulk/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/eslint-bulk -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.1.17 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.1.16 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json index 9836dc84c39..1639184a1e6 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-api-extractor-plugin", "entries": [ + { + "version": "0.3.10", + "tag": "@rushstack/heft-api-extractor-plugin_v0.3.10", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.65.0` to `0.65.1`" + } + ] + } + }, { "version": "0.3.9", "tag": "@rushstack/heft-api-extractor-plugin_v0.3.9", diff --git a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md index 64a4747ed14..14bcdccdbf0 100644 --- a/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md +++ b/heft-plugins/heft-api-extractor-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-api-extractor-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.3.10 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.3.9 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 9eb5d8e71b5..e392206c858 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.4.27", + "tag": "@rushstack/heft-dev-cert-plugin_v0.4.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.27`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.4.26", "tag": "@rushstack/heft-dev-cert-plugin_v0.4.26", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 3c138149d08..49c2bfa5216 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.4.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.4.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.json b/heft-plugins/heft-jest-plugin/CHANGELOG.json index 6c63856ebfd..f9cbe944d27 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.json +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-jest-plugin", "entries": [ + { + "version": "0.11.10", + "tag": "@rushstack/heft-jest-plugin_v0.11.10", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.11.9", "tag": "@rushstack/heft-jest-plugin_v0.11.9", diff --git a/heft-plugins/heft-jest-plugin/CHANGELOG.md b/heft-plugins/heft-jest-plugin/CHANGELOG.md index 1fe1a255e8e..56c605420ab 100644 --- a/heft-plugins/heft-jest-plugin/CHANGELOG.md +++ b/heft-plugins/heft-jest-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-jest-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.11.10 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.11.9 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.json b/heft-plugins/heft-lint-plugin/CHANGELOG.json index d8c868a1d57..10d789d4f37 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.json +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-lint-plugin", "entries": [ + { + "version": "0.3.10", + "tag": "@rushstack/heft-lint-plugin_v0.3.10", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.65.0` to `0.65.1`" + } + ] + } + }, { "version": "0.3.9", "tag": "@rushstack/heft-lint-plugin_v0.3.9", diff --git a/heft-plugins/heft-lint-plugin/CHANGELOG.md b/heft-plugins/heft-lint-plugin/CHANGELOG.md index ca25918d8cf..b10e0d6d66a 100644 --- a/heft-plugins/heft-lint-plugin/CHANGELOG.md +++ b/heft-plugins/heft-lint-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-lint-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.3.10 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.3.9 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.json b/heft-plugins/heft-sass-plugin/CHANGELOG.json index 25b3294a8ae..13738102121 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.json +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-sass-plugin", "entries": [ + { + "version": "0.13.13", + "tag": "@rushstack/heft-sass-plugin_v0.13.13", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.12`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.27`" + }, + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.13.12", "tag": "@rushstack/heft-sass-plugin_v0.13.12", diff --git a/heft-plugins/heft-sass-plugin/CHANGELOG.md b/heft-plugins/heft-sass-plugin/CHANGELOG.md index 814cd24c084..a2d0abbfdfb 100644 --- a/heft-plugins/heft-sass-plugin/CHANGELOG.md +++ b/heft-plugins/heft-sass-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-sass-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.13.13 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.13.12 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json index 7dac038e2bf..4166ab43565 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-serverless-stack-plugin", "entries": [ + { + "version": "0.3.27", + "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.3.26", "tag": "@rushstack/heft-serverless-stack-plugin_v0.3.26", diff --git a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md index d4d82e42437..6f1ceb2ac1b 100644 --- a/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md +++ b/heft-plugins/heft-serverless-stack-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-serverless-stack-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.3.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.3.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.json b/heft-plugins/heft-storybook-plugin/CHANGELOG.json index 65a23dde1b8..782de6e062a 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.json +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@rushstack/heft-storybook-plugin", "entries": [ + { + "version": "0.6.4", + "tag": "@rushstack/heft-storybook-plugin_v0.6.4", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack4-plugin\" to `0.10.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.6.3", "tag": "@rushstack/heft-storybook-plugin_v0.6.3", diff --git a/heft-plugins/heft-storybook-plugin/CHANGELOG.md b/heft-plugins/heft-storybook-plugin/CHANGELOG.md index 82229b657bc..e378b8f3b50 100644 --- a/heft-plugins/heft-storybook-plugin/CHANGELOG.md +++ b/heft-plugins/heft-storybook-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-storybook-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.6.4 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.6.3 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.json b/heft-plugins/heft-typescript-plugin/CHANGELOG.json index 48e0f6b0670..1aa0f82842e 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.json +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-typescript-plugin", "entries": [ + { + "version": "0.3.10", + "tag": "@rushstack/heft-typescript-plugin_v0.3.10", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.14.12`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `0.65.0` to `0.65.1`" + } + ] + } + }, { "version": "0.3.9", "tag": "@rushstack/heft-typescript-plugin_v0.3.9", diff --git a/heft-plugins/heft-typescript-plugin/CHANGELOG.md b/heft-plugins/heft-typescript-plugin/CHANGELOG.md index 9755abe18c2..a08b158fcb4 100644 --- a/heft-plugins/heft-typescript-plugin/CHANGELOG.md +++ b/heft-plugins/heft-typescript-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-typescript-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.3.10 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.3.9 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json index 549468579f3..0dc705c3047 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-webpack4-plugin", "entries": [ + { + "version": "0.10.27", + "tag": "@rushstack/heft-webpack4-plugin_v0.10.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.27`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.10.26", "tag": "@rushstack/heft-webpack4-plugin_v0.10.26", diff --git a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md index e6b0ce576a9..cb625df5478 100644 --- a/heft-plugins/heft-webpack4-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack4-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack4-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.10.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.10.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index c6264111213..fe3cd26fb67 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.9.27", + "tag": "@rushstack/heft-webpack5-plugin_v0.9.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.3.27`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.9.26", "tag": "@rushstack/heft-webpack5-plugin_v0.9.26", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index d631b6f18b9..4c86855049d 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.9.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.9.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/api-extractor-model/CHANGELOG.json b/libraries/api-extractor-model/CHANGELOG.json index b61b1fa3fe4..6dbe49615e2 100644 --- a/libraries/api-extractor-model/CHANGELOG.json +++ b/libraries/api-extractor-model/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/api-extractor-model", "entries": [ + { + "version": "7.28.12", + "tag": "@microsoft/api-extractor-model_v7.28.12", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + } + ] + } + }, { "version": "7.28.11", "tag": "@microsoft/api-extractor-model_v7.28.11", diff --git a/libraries/api-extractor-model/CHANGELOG.md b/libraries/api-extractor-model/CHANGELOG.md index eda20f753a5..2e183908236 100644 --- a/libraries/api-extractor-model/CHANGELOG.md +++ b/libraries/api-extractor-model/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/api-extractor-model -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 7.28.12 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 7.28.11 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/libraries/debug-certificate-manager/CHANGELOG.json b/libraries/debug-certificate-manager/CHANGELOG.json index f32ed59e197..33bc6b082c8 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.json +++ b/libraries/debug-certificate-manager/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/debug-certificate-manager", "entries": [ + { + "version": "1.3.27", + "tag": "@rushstack/debug-certificate-manager_v1.3.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "1.3.26", "tag": "@rushstack/debug-certificate-manager_v1.3.26", diff --git a/libraries/debug-certificate-manager/CHANGELOG.md b/libraries/debug-certificate-manager/CHANGELOG.md index df75c8793ec..6f4b1c44e0f 100644 --- a/libraries/debug-certificate-manager/CHANGELOG.md +++ b/libraries/debug-certificate-manager/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/debug-certificate-manager -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 1.3.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 1.3.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/libraries/heft-config-file/CHANGELOG.json b/libraries/heft-config-file/CHANGELOG.json index 05f9d4c81c4..dfb869ef94e 100644 --- a/libraries/heft-config-file/CHANGELOG.json +++ b/libraries/heft-config-file/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/heft-config-file", "entries": [ + { + "version": "0.14.12", + "tag": "@rushstack/heft-config-file_v0.14.12", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + } + ] + } + }, { "version": "0.14.11", "tag": "@rushstack/heft-config-file_v0.14.11", diff --git a/libraries/heft-config-file/CHANGELOG.md b/libraries/heft-config-file/CHANGELOG.md index 1b857ed9378..caa0d11e00f 100644 --- a/libraries/heft-config-file/CHANGELOG.md +++ b/libraries/heft-config-file/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-config-file -This log was last generated on Mon, 19 Feb 2024 21:54:26 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.14.12 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.14.11 Mon, 19 Feb 2024 21:54:26 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 264d95b1345..b796d8205cf 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.103", + "tag": "@microsoft/load-themed-styles_v2.0.103", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "2.0.102", "tag": "@microsoft/load-themed-styles_v2.0.102", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index f3139e79b74..9c710d63d52 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 2.0.103 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 2.0.102 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/libraries/localization-utilities/CHANGELOG.json b/libraries/localization-utilities/CHANGELOG.json index 36d4fc41255..53235e09dea 100644 --- a/libraries/localization-utilities/CHANGELOG.json +++ b/libraries/localization-utilities/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/localization-utilities", "entries": [ + { + "version": "0.9.27", + "tag": "@rushstack/localization-utilities_v0.9.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/typings-generator\" to `0.12.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.9.26", "tag": "@rushstack/localization-utilities_v0.9.26", diff --git a/libraries/localization-utilities/CHANGELOG.md b/libraries/localization-utilities/CHANGELOG.md index ec954e2e247..1e129a5cf88 100644 --- a/libraries/localization-utilities/CHANGELOG.md +++ b/libraries/localization-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/localization-utilities -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.9.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.9.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/module-minifier/CHANGELOG.json b/libraries/module-minifier/CHANGELOG.json index 9edc54491be..786d7c3d515 100644 --- a/libraries/module-minifier/CHANGELOG.json +++ b/libraries/module-minifier/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/module-minifier", "entries": [ + { + "version": "0.4.27", + "tag": "@rushstack/module-minifier_v0.4.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.4.26", "tag": "@rushstack/module-minifier_v0.4.26", diff --git a/libraries/module-minifier/CHANGELOG.md b/libraries/module-minifier/CHANGELOG.md index 29fa6383694..2a41ffcc637 100644 --- a/libraries/module-minifier/CHANGELOG.md +++ b/libraries/module-minifier/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/module-minifier -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.4.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.4.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/node-core-library/CHANGELOG.json b/libraries/node-core-library/CHANGELOG.json index 2beb50827d1..83bead7c8d4 100644 --- a/libraries/node-core-library/CHANGELOG.json +++ b/libraries/node-core-library/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/node-core-library", "entries": [ + { + "version": "4.0.1", + "tag": "@rushstack/node-core-library_v4.0.1", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "patch": [ + { + "comment": "Remove a no longer needed dependency on the `colors` package" + } + ] + } + }, { "version": "4.0.0", "tag": "@rushstack/node-core-library_v4.0.0", diff --git a/libraries/node-core-library/CHANGELOG.md b/libraries/node-core-library/CHANGELOG.md index 4698a0a544b..79f050fc2b8 100644 --- a/libraries/node-core-library/CHANGELOG.md +++ b/libraries/node-core-library/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/node-core-library -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 4.0.1 +Tue, 20 Feb 2024 21:45:10 GMT + +### Patches + +- Remove a no longer needed dependency on the `colors` package ## 4.0.0 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/operation-graph/CHANGELOG.json b/libraries/operation-graph/CHANGELOG.json index a3541d09afb..099ebedd2a4 100644 --- a/libraries/operation-graph/CHANGELOG.json +++ b/libraries/operation-graph/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/operation-graph", "entries": [ + { + "version": "0.2.11", + "tag": "@rushstack/operation-graph_v0.2.11", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + } + ] + } + }, { "version": "0.2.10", "tag": "@rushstack/operation-graph_v0.2.10", diff --git a/libraries/operation-graph/CHANGELOG.md b/libraries/operation-graph/CHANGELOG.md index fea0038530f..5c7a601bce2 100644 --- a/libraries/operation-graph/CHANGELOG.md +++ b/libraries/operation-graph/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/operation-graph -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.2.11 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.2.10 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/package-deps-hash/CHANGELOG.json b/libraries/package-deps-hash/CHANGELOG.json index a8d69f94bab..25bfc0cc8f3 100644 --- a/libraries/package-deps-hash/CHANGELOG.json +++ b/libraries/package-deps-hash/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/package-deps-hash", "entries": [ + { + "version": "4.1.28", + "tag": "@rushstack/package-deps-hash_v4.1.28", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "4.1.27", "tag": "@rushstack/package-deps-hash_v4.1.27", diff --git a/libraries/package-deps-hash/CHANGELOG.md b/libraries/package-deps-hash/CHANGELOG.md index 0b674d93952..e7044f6e23b 100644 --- a/libraries/package-deps-hash/CHANGELOG.md +++ b/libraries/package-deps-hash/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-deps-hash -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 4.1.28 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 4.1.27 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/package-extractor/CHANGELOG.json b/libraries/package-extractor/CHANGELOG.json index 5723e40f2e5..9f3dbcf8c74 100644 --- a/libraries/package-extractor/CHANGELOG.json +++ b/libraries/package-extractor/CHANGELOG.json @@ -1,6 +1,30 @@ { "name": "@rushstack/package-extractor", "entries": [ + { + "version": "0.6.30", + "tag": "@rushstack/package-extractor_v0.6.30", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.27`" + } + ] + } + }, { "version": "0.6.29", "tag": "@rushstack/package-extractor_v0.6.29", diff --git a/libraries/package-extractor/CHANGELOG.md b/libraries/package-extractor/CHANGELOG.md index aca9c75b9ee..99eac1fc05e 100644 --- a/libraries/package-extractor/CHANGELOG.md +++ b/libraries/package-extractor/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/package-extractor -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.6.30 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.6.29 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/stream-collator/CHANGELOG.json b/libraries/stream-collator/CHANGELOG.json index c2387588117..c47f20944bc 100644 --- a/libraries/stream-collator/CHANGELOG.json +++ b/libraries/stream-collator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/stream-collator", "entries": [ + { + "version": "4.1.28", + "tag": "@rushstack/stream-collator_v4.1.28", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "4.1.27", "tag": "@rushstack/stream-collator_v4.1.27", diff --git a/libraries/stream-collator/CHANGELOG.md b/libraries/stream-collator/CHANGELOG.md index c6b463ebd34..a384fad95a5 100644 --- a/libraries/stream-collator/CHANGELOG.md +++ b/libraries/stream-collator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/stream-collator -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 4.1.28 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 4.1.27 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/terminal/CHANGELOG.json b/libraries/terminal/CHANGELOG.json index 528bfce4072..4b6839e753b 100644 --- a/libraries/terminal/CHANGELOG.json +++ b/libraries/terminal/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/terminal", "entries": [ + { + "version": "0.8.1", + "tag": "@rushstack/terminal_v0.8.1", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "patch": [ + { + "comment": "Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525)" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + } + ] + } + }, { "version": "0.8.0", "tag": "@rushstack/terminal_v0.8.0", diff --git a/libraries/terminal/CHANGELOG.md b/libraries/terminal/CHANGELOG.md index 101c5355d23..5f9db266d9b 100644 --- a/libraries/terminal/CHANGELOG.md +++ b/libraries/terminal/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/terminal -This log was last generated on Mon, 19 Feb 2024 21:54:27 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.8.1 +Tue, 20 Feb 2024 21:45:10 GMT + +### Patches + +- Fix a recent regression causing `Error: Cannot find module 'colors/safe'` (GitHub #4525) ## 0.8.0 Mon, 19 Feb 2024 21:54:27 GMT diff --git a/libraries/typings-generator/CHANGELOG.json b/libraries/typings-generator/CHANGELOG.json index 34b1000d354..34b9eb39eec 100644 --- a/libraries/typings-generator/CHANGELOG.json +++ b/libraries/typings-generator/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/typings-generator", "entries": [ + { + "version": "0.12.27", + "tag": "@rushstack/typings-generator_v0.12.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.12.26", "tag": "@rushstack/typings-generator_v0.12.26", diff --git a/libraries/typings-generator/CHANGELOG.md b/libraries/typings-generator/CHANGELOG.md index 4a1b7659abe..c145e647f4f 100644 --- a/libraries/typings-generator/CHANGELOG.md +++ b/libraries/typings-generator/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/typings-generator -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.12.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.12.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/libraries/worker-pool/CHANGELOG.json b/libraries/worker-pool/CHANGELOG.json index 8007ea92c49..f62e4ad6cf0 100644 --- a/libraries/worker-pool/CHANGELOG.json +++ b/libraries/worker-pool/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/worker-pool", "entries": [ + { + "version": "0.4.27", + "tag": "@rushstack/worker-pool_v0.4.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.4.26", "tag": "@rushstack/worker-pool_v0.4.26", diff --git a/libraries/worker-pool/CHANGELOG.md b/libraries/worker-pool/CHANGELOG.md index 2319fbec85c..892617c0c08 100644 --- a/libraries/worker-pool/CHANGELOG.md +++ b/libraries/worker-pool/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/worker-pool -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.4.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.4.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/rigs/heft-node-rig/CHANGELOG.json b/rigs/heft-node-rig/CHANGELOG.json index 9e128e6fa44..669d5b00240 100644 --- a/rigs/heft-node-rig/CHANGELOG.json +++ b/rigs/heft-node-rig/CHANGELOG.json @@ -1,6 +1,36 @@ { "name": "@rushstack/heft-node-rig", "entries": [ + { + "version": "2.4.12", + "tag": "@rushstack/heft-node-rig_v2.4.12", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "2.4.11", "tag": "@rushstack/heft-node-rig_v2.4.11", diff --git a/rigs/heft-node-rig/CHANGELOG.md b/rigs/heft-node-rig/CHANGELOG.md index 3f1620f3c09..271163d11d7 100644 --- a/rigs/heft-node-rig/CHANGELOG.md +++ b/rigs/heft-node-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-node-rig -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 2.4.12 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 2.4.11 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 85c69feb6df..3b5dfb7982f 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,42 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.21.1", + "tag": "@rushstack/heft-web-rig_v0.21.1", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/api-extractor\" to `7.40.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-api-extractor-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-jest-plugin\" to `0.11.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-lint-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-sass-plugin\" to `0.13.13`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-typescript-plugin\" to `0.3.10`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" from `^0.65.0` to `^0.65.1`" + } + ] + } + }, { "version": "0.21.0", "tag": "@rushstack/heft-web-rig_v0.21.0", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index 523d7151cd1..b06e6673f05 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.21.1 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.21.0 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index b17aeffcb2f..c43c661e4af 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "1.0.19", + "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.19", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "1.0.18", "tag": "@rushstack/hashed-folder-copy-plugin_v1.0.18", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index f67be871167..3dbdca3b71e 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 1.0.19 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 1.0.18 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index ef475a1df1d..749ce1a7943 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.1.27", + "tag": "@microsoft/loader-load-themed-styles_v2.1.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.103`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.102` to `^2.0.103`" + } + ] + } + }, { "version": "2.1.26", "tag": "@microsoft/loader-load-themed-styles_v2.1.26", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index 649fa5b6c2e..42e4398744a 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 2.1.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 2.1.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/webpack/loader-raw-script/CHANGELOG.json b/webpack/loader-raw-script/CHANGELOG.json index 0e012ec839b..7c10231c8dd 100644 --- a/webpack/loader-raw-script/CHANGELOG.json +++ b/webpack/loader-raw-script/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/loader-raw-script", "entries": [ + { + "version": "1.4.27", + "tag": "@rushstack/loader-raw-script_v1.4.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "1.4.26", "tag": "@rushstack/loader-raw-script_v1.4.26", diff --git a/webpack/loader-raw-script/CHANGELOG.md b/webpack/loader-raw-script/CHANGELOG.md index af5ce5db84b..98cae90d749 100644 --- a/webpack/loader-raw-script/CHANGELOG.md +++ b/webpack/loader-raw-script/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/loader-raw-script -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 1.4.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 1.4.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index b9a0a7e22ac..d80bcb3eb41 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.11.27", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.11.26", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.11.26", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index 4154b55860e..cb6f1c599b8 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.11.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.11.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index 4c5a2616b6c..04ee117ab6d 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "5.1.11", + "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.11", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.11`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "5.1.10", "tag": "@rushstack/set-webpack-public-path-plugin_v5.1.10", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 210a2d79022..b67611d57df 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 5.1.11 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 5.1.10 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index 6d52b825171..b973a3c37e2 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.2.28", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.28", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.4.11`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.2.27", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.2.27", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index e996e4293b2..eb3d231da89 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.2.28 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.2.27 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 2a500814c6a..39e8cc65932 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.4.11", + "tag": "@rushstack/webpack-plugin-utilities_v0.4.11", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.4.10", "tag": "@rushstack/webpack-plugin-utilities_v0.4.10", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index dc4925450b6..d93c8c40ec9 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.4.11 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.4.10 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index 208fe4ec179..ec201988030 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.18.27", + "tag": "@rushstack/webpack4-localization-plugin_v0.18.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.18.26", "tag": "@rushstack/webpack4-localization-plugin_v0.18.26", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index a757b64ac32..8d5e161e328 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.18.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.18.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json index 337347f6508..43720885297 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", "entries": [ + { + "version": "0.13.27", + "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.27`" + }, + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.13.26", "tag": "@rushstack/webpack4-module-minifier-plugin_v0.13.26", diff --git a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md index 615346aed14..fedac322d36 100644 --- a/webpack/webpack4-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack4-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-module-minifier-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.13.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.13.26 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 29c311b3607..a746a6974d7 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.2.27", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.103`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.102` to `^2.0.103`" + } + ] + } + }, { "version": "0.2.26", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.2.26", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 738ebe62741..5b46d9226a4 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Tue, 20 Feb 2024 16:10:52 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.2.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.2.26 Tue, 20 Feb 2024 16:10:52 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index 73cc8821f51..df8f8f3af11 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.9.2", + "tag": "@rushstack/webpack5-localization-plugin_v0.9.2", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/localization-utilities\" to `0.9.27`" + }, + { + "comment": "Updating dependency \"@rushstack/node-core-library\" to `4.0.1`" + }, + { + "comment": "Updating dependency \"@rushstack/terminal\" to `0.8.1`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + } + ] + } + }, { "version": "0.9.1", "tag": "@rushstack/webpack5-localization-plugin_v0.9.1", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index e25d6b75cd0..ebcf924eb60 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 0.9.2 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 0.9.1 Tue, 20 Feb 2024 16:10:53 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index 28b4238fa3a..69da2290d4d 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.5.27", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.27", + "date": "Tue, 20 Feb 2024 21:45:10 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/worker-pool\" to `0.4.27`" + }, + { + "comment": "Updating dependency \"@rushstack/heft\" to `0.65.1`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" to `0.4.27`" + }, + { + "comment": "Updating dependency \"@rushstack/module-minifier\" from `*` to `*`" + } + ] + } + }, { "version": "5.5.26", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.5.26", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index 0a6272584d1..0478759b601 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Tue, 20 Feb 2024 16:10:53 GMT and should not be manually modified. +This log was last generated on Tue, 20 Feb 2024 21:45:10 GMT and should not be manually modified. + +## 5.5.27 +Tue, 20 Feb 2024 21:45:10 GMT + +_Version update only_ ## 5.5.26 Tue, 20 Feb 2024 16:10:53 GMT From ab3bc75ce2e8cc76760a175b5f570a1406604eff Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 20 Feb 2024 21:45:13 +0000 Subject: [PATCH 180/180] Bump versions [skip ci] --- apps/api-documenter/package.json | 2 +- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- apps/lockfile-explorer/package.json | 2 +- apps/rundown/package.json | 2 +- apps/trace-import/package.json | 2 +- eslint/eslint-bulk/package.json | 2 +- heft-plugins/heft-api-extractor-plugin/package.json | 4 ++-- heft-plugins/heft-dev-cert-plugin/package.json | 4 ++-- heft-plugins/heft-jest-plugin/package.json | 4 ++-- heft-plugins/heft-lint-plugin/package.json | 4 ++-- heft-plugins/heft-sass-plugin/package.json | 4 ++-- heft-plugins/heft-serverless-stack-plugin/package.json | 4 ++-- heft-plugins/heft-storybook-plugin/package.json | 4 ++-- heft-plugins/heft-typescript-plugin/package.json | 4 ++-- heft-plugins/heft-webpack4-plugin/package.json | 4 ++-- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/api-extractor-model/package.json | 2 +- libraries/debug-certificate-manager/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- libraries/localization-utilities/package.json | 2 +- libraries/module-minifier/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/package-deps-hash/package.json | 2 +- libraries/package-extractor/package.json | 2 +- libraries/stream-collator/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/typings-generator/package.json | 2 +- libraries/worker-pool/package.json | 2 +- rigs/heft-node-rig/package.json | 4 ++-- rigs/heft-web-rig/package.json | 4 ++-- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/loader-raw-script/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 2 +- webpack/webpack4-module-minifier-plugin/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 45 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index 9620f9ae0a3..b7022150a3f 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-documenter", - "version": "7.23.26", + "version": "7.23.27", "description": "Read JSON files from api-extractor, generate documentation pages", "repository": { "type": "git", diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index adfbc9d2c79..fff021e8ea6 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor", - "version": "7.40.3", + "version": "7.40.4", "description": "Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups", "keywords": [ "typescript", diff --git a/apps/heft/package.json b/apps/heft/package.json index 69b9fd61dd1..e1b1c055143 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft", - "version": "0.65.0", + "version": "0.65.1", "description": "Build all your JavaScript projects the same way: A way that works.", "keywords": [ "toolchain", diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index a972bff2152..752f0b4ee79 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/lockfile-explorer", - "version": "1.2.26", + "version": "1.2.27", "description": "Rush Lockfile Explorer: The UI for solving version conflicts quickly in a large monorepo", "keywords": [ "conflict", diff --git a/apps/rundown/package.json b/apps/rundown/package.json index a8368c85870..fb041ddf321 100644 --- a/apps/rundown/package.json +++ b/apps/rundown/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rundown", - "version": "1.1.26", + "version": "1.1.27", "description": "Detect load time regressions by running an app, tracing require() calls, and generating a deterministic report", "repository": { "type": "git", diff --git a/apps/trace-import/package.json b/apps/trace-import/package.json index 96835fbfe2e..dd6913b1b30 100644 --- a/apps/trace-import/package.json +++ b/apps/trace-import/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/trace-import", - "version": "0.3.26", + "version": "0.3.27", "description": "CLI tool for understanding how require() and \"import\" statements get resolved", "repository": { "type": "git", diff --git a/eslint/eslint-bulk/package.json b/eslint/eslint-bulk/package.json index f4b7e6dc864..f3809fe0566 100755 --- a/eslint/eslint-bulk/package.json +++ b/eslint/eslint-bulk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/eslint-bulk", - "version": "0.1.16", + "version": "0.1.17", "description": "Roll out new ESLint rules in a large monorepo without cluttering up your code with \"eslint-ignore-next-line\"", "main": "index.js", "license": "MIT", diff --git a/heft-plugins/heft-api-extractor-plugin/package.json b/heft-plugins/heft-api-extractor-plugin/package.json index b1f12c89e96..64519bed972 100644 --- a/heft-plugins/heft-api-extractor-plugin/package.json +++ b/heft-plugins/heft-api-extractor-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-api-extractor-plugin", - "version": "0.3.9", + "version": "0.3.10", "description": "A Heft plugin for API Extractor", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.65.0" + "@rushstack/heft": "0.65.1" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 58d72b36fe4..6dd62df93ff 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.4.26", + "version": "0.4.27", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@rushstack/debug-certificate-manager": "workspace:*" diff --git a/heft-plugins/heft-jest-plugin/package.json b/heft-plugins/heft-jest-plugin/package.json index 8eadaa4fc89..6c50a46377f 100644 --- a/heft-plugins/heft-jest-plugin/package.json +++ b/heft-plugins/heft-jest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-jest-plugin", - "version": "0.11.9", + "version": "0.11.10", "description": "Heft plugin for Jest", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0", + "@rushstack/heft": "^0.65.1", "jest-environment-jsdom": "^29.5.0", "jest-environment-node": "^29.5.0" }, diff --git a/heft-plugins/heft-lint-plugin/package.json b/heft-plugins/heft-lint-plugin/package.json index 6495b9ad42b..c0cfdb02864 100644 --- a/heft-plugins/heft-lint-plugin/package.json +++ b/heft-plugins/heft-lint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-lint-plugin", - "version": "0.3.9", + "version": "0.3.10", "description": "A Heft plugin for using ESLint or TSLint. Intended for use with @rushstack/heft-typescript-plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.65.0" + "@rushstack/heft": "0.65.1" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-sass-plugin/package.json b/heft-plugins/heft-sass-plugin/package.json index 925747edcb2..023d7ab6fb5 100644 --- a/heft-plugins/heft-sass-plugin/package.json +++ b/heft-plugins/heft-sass-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-sass-plugin", - "version": "0.13.12", + "version": "0.13.13", "description": "Heft plugin for SASS", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@rushstack/heft-config-file": "workspace:*", diff --git a/heft-plugins/heft-serverless-stack-plugin/package.json b/heft-plugins/heft-serverless-stack-plugin/package.json index 021ba041737..8f080fbc0dd 100644 --- a/heft-plugins/heft-serverless-stack-plugin/package.json +++ b/heft-plugins/heft-serverless-stack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-serverless-stack-plugin", - "version": "0.3.26", + "version": "0.3.27", "description": "Heft plugin for building apps using the Serverless Stack (SST) framework", "repository": { "type": "git", @@ -15,7 +15,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@rushstack/node-core-library": "workspace:*" diff --git a/heft-plugins/heft-storybook-plugin/package.json b/heft-plugins/heft-storybook-plugin/package.json index a13c3469633..4061a22fe06 100644 --- a/heft-plugins/heft-storybook-plugin/package.json +++ b/heft-plugins/heft-storybook-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-storybook-plugin", - "version": "0.6.3", + "version": "0.6.4", "description": "Heft plugin for supporting UI development using Storybook", "repository": { "type": "git", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-typescript-plugin/package.json b/heft-plugins/heft-typescript-plugin/package.json index a961e7866ba..8edff0ab037 100644 --- a/heft-plugins/heft-typescript-plugin/package.json +++ b/heft-plugins/heft-typescript-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-typescript-plugin", - "version": "0.3.9", + "version": "0.3.10", "description": "Heft plugin for TypeScript", "repository": { "type": "git", @@ -17,7 +17,7 @@ "_phase:build": "heft run --only build -- --clean" }, "peerDependencies": { - "@rushstack/heft": "0.65.0" + "@rushstack/heft": "0.65.1" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", diff --git a/heft-plugins/heft-webpack4-plugin/package.json b/heft-plugins/heft-webpack4-plugin/package.json index a59fae59ef9..17787387241 100644 --- a/heft-plugins/heft-webpack4-plugin/package.json +++ b/heft-plugins/heft-webpack4-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack4-plugin", - "version": "0.10.26", + "version": "0.10.27", "description": "Heft plugin for Webpack 4", "repository": { "type": "git", @@ -23,7 +23,7 @@ } }, "peerDependencies": { - "@rushstack/heft": "^0.65.0", + "@rushstack/heft": "^0.65.1", "@types/webpack": "^4", "webpack": "~4.47.0" }, diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index bd89f1f7f9a..112159b1037 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.9.26", + "version": "0.9.27", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", @@ -18,7 +18,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0", + "@rushstack/heft": "^0.65.1", "webpack": "~5.82.1" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index 94aade86184..5dbc66aa38d 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/api-extractor-model", - "version": "7.28.11", + "version": "7.28.12", "description": "A helper library for loading and saving the .api.json files created by API Extractor", "repository": { "type": "git", diff --git a/libraries/debug-certificate-manager/package.json b/libraries/debug-certificate-manager/package.json index 17ac7b93dd5..0cf213d3b36 100644 --- a/libraries/debug-certificate-manager/package.json +++ b/libraries/debug-certificate-manager/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/debug-certificate-manager", - "version": "1.3.26", + "version": "1.3.27", "description": "Cross-platform functionality to create debug ssl certificates.", "main": "lib/index.js", "typings": "dist/debug-certificate-manager.d.ts", diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index 412a2f54e33..7fdc214e154 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-config-file", - "version": "0.14.11", + "version": "0.14.12", "description": "Configuration file loader for @rushstack/heft", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 25b4e4e2a79..5ac60a990a6 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.102", + "version": "2.0.103", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/libraries/localization-utilities/package.json b/libraries/localization-utilities/package.json index e6983e798e5..28983c26c8a 100644 --- a/libraries/localization-utilities/package.json +++ b/libraries/localization-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/localization-utilities", - "version": "0.9.26", + "version": "0.9.27", "description": "This plugin contains some useful functions for localization.", "main": "lib/index.js", "typings": "dist/localization-utilities.d.ts", diff --git a/libraries/module-minifier/package.json b/libraries/module-minifier/package.json index a60bec4a87e..3af5eaa0740 100644 --- a/libraries/module-minifier/package.json +++ b/libraries/module-minifier/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/module-minifier", - "version": "0.4.26", + "version": "0.4.27", "description": "Wrapper for terser to support bulk parallel minification.", "main": "lib/index.js", "typings": "dist/module-minifier.d.ts", diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 4c0c1587ce4..6e8438b6541 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/node-core-library", - "version": "4.0.0", + "version": "4.0.1", "description": "Core libraries that every NodeJS toolchain project should use", "main": "lib/index.js", "typings": "dist/node-core-library.d.ts", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 25c73df6e8a..2d7e9317f52 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/operation-graph", - "version": "0.2.10", + "version": "0.2.11", "description": "Library for managing and executing operations in a directed acyclic graph.", "main": "lib/index.js", "typings": "dist/operation-graph.d.ts", diff --git a/libraries/package-deps-hash/package.json b/libraries/package-deps-hash/package.json index ee507e04a92..007af266f6f 100644 --- a/libraries/package-deps-hash/package.json +++ b/libraries/package-deps-hash/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-deps-hash", - "version": "4.1.27", + "version": "4.1.28", "description": "", "main": "lib/index.js", "typings": "dist/package-deps-hash.d.ts", diff --git a/libraries/package-extractor/package.json b/libraries/package-extractor/package.json index b39ea223f53..4248f7af5a0 100644 --- a/libraries/package-extractor/package.json +++ b/libraries/package-extractor/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/package-extractor", - "version": "0.6.29", + "version": "0.6.30", "description": "A library for bundling selected files and dependencies into a deployable package.", "main": "lib/index.js", "typings": "dist/package-extractor.d.ts", diff --git a/libraries/stream-collator/package.json b/libraries/stream-collator/package.json index bb12ce59e71..d5b7cc128df 100644 --- a/libraries/stream-collator/package.json +++ b/libraries/stream-collator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/stream-collator", - "version": "4.1.27", + "version": "4.1.28", "description": "Display intelligible realtime output from concurrent processes", "repository": { "type": "git", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index f2d092dd8c6..5dbb62dd8eb 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/terminal", - "version": "0.8.0", + "version": "0.8.1", "description": "User interface primitives for console applications", "main": "lib/index.js", "typings": "dist/terminal.d.ts", diff --git a/libraries/typings-generator/package.json b/libraries/typings-generator/package.json index a62752176bf..1074d55c852 100644 --- a/libraries/typings-generator/package.json +++ b/libraries/typings-generator/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/typings-generator", - "version": "0.12.26", + "version": "0.12.27", "description": "This library provides functionality for automatically generating typings for non-TS files.", "keywords": [ "dts", diff --git a/libraries/worker-pool/package.json b/libraries/worker-pool/package.json index 5f514c90bf8..7ed2b9c866b 100644 --- a/libraries/worker-pool/package.json +++ b/libraries/worker-pool/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/worker-pool", - "version": "0.4.26", + "version": "0.4.27", "description": "Lightweight worker pool using NodeJS worker_threads", "main": "lib/index.js", "typings": "dist/worker-pool.d.ts", diff --git a/rigs/heft-node-rig/package.json b/rigs/heft-node-rig/package.json index 4d7aefb591c..2c7f2b05496 100644 --- a/rigs/heft-node-rig/package.json +++ b/rigs/heft-node-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-node-rig", - "version": "2.4.11", + "version": "2.4.12", "description": "A rig package for Node.js projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-node-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index bb870d7ab1c..e9f636cd12f 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.21.0", + "version": "0.21.1", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { @@ -13,7 +13,7 @@ "directory": "rigs/heft-web-rig" }, "peerDependencies": { - "@rushstack/heft": "^0.65.0" + "@rushstack/heft": "^0.65.1" }, "dependencies": { "@microsoft/api-extractor": "workspace:*", diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 46f9da8f2ed..0cd9ef0f4e8 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "1.0.18", + "version": "1.0.19", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index 51b09124572..023387622ae 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.1.26", + "version": "2.1.27", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.102" + "@microsoft/load-themed-styles": "^2.0.103" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/loader-raw-script/package.json b/webpack/loader-raw-script/package.json index 066e39bcfb4..5d3f113f365 100644 --- a/webpack/loader-raw-script/package.json +++ b/webpack/loader-raw-script/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/loader-raw-script", - "version": "1.4.26", + "version": "1.4.27", "description": "", "main": "lib/index.js", "typings": "lib/index.d.ts", diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index 775a72d4056..483127e5568 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.11.26", + "version": "0.11.27", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index 76fdd166d08..7fad53ff883 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "5.1.10", + "version": "5.1.11", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index 48bfa94e2a0..d67cd5160ae 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.2.27", + "version": "0.2.28", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 423b0511dff..6288f131eee 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.4.10", + "version": "0.4.11", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index e4b33cd2021..7e57e63ecc1 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.18.26", + "version": "0.18.27", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", diff --git a/webpack/webpack4-module-minifier-plugin/package.json b/webpack/webpack4-module-minifier-plugin/package.json index 358c16529ce..fba2e32e851 100644 --- a/webpack/webpack4-module-minifier-plugin/package.json +++ b/webpack/webpack4-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-module-minifier-plugin", - "version": "0.13.26", + "version": "0.13.27", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack4-module-minifier-plugin.d.ts", diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index 1bb7b7d2875..dbbee553638 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.2.26", + "version": "0.2.27", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft run --only test -- --clean" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.102", + "@microsoft/load-themed-styles": "^2.0.103", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 0b9c9d3579b..41f0c91f67e 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.9.1", + "version": "0.9.2", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 1afed7ef048..64d5f4dcc81 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.5.26", + "version": "5.5.27", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts",