@depup/angular-devkit__build-angular 21.2.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +46 -0
- package/builders.json +76 -0
- package/changes.json +70 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/package.json +229 -0
- package/plugins/karma.d.ts +7 -0
- package/plugins/karma.js +10 -0
- package/plugins/karma.js.map +1 -0
- package/src/builders/app-shell/index.d.ts +11 -0
- package/src/builders/app-shell/index.js +193 -0
- package/src/builders/app-shell/index.js.map +1 -0
- package/src/builders/app-shell/render-worker.d.ts +36 -0
- package/src/builders/app-shell/render-worker.js +115 -0
- package/src/builders/app-shell/render-worker.js.map +1 -0
- package/src/builders/app-shell/schema.d.ts +36 -0
- package/src/builders/app-shell/schema.js +5 -0
- package/src/builders/app-shell/schema.js.map +1 -0
- package/src/builders/app-shell/schema.json +37 -0
- package/src/builders/browser/index.d.ts +42 -0
- package/src/builders/browser/index.js +342 -0
- package/src/builders/browser/index.js.map +1 -0
- package/src/builders/browser/schema.d.ts +441 -0
- package/src/builders/browser/schema.js +65 -0
- package/src/builders/browser/schema.js.map +1 -0
- package/src/builders/browser/schema.json +548 -0
- package/src/builders/browser-esbuild/index.d.ts +28 -0
- package/src/builders/browser-esbuild/index.js +53 -0
- package/src/builders/browser-esbuild/index.js.map +1 -0
- package/src/builders/browser-esbuild/schema.d.ts +431 -0
- package/src/builders/browser-esbuild/schema.js +59 -0
- package/src/builders/browser-esbuild/schema.js.map +1 -0
- package/src/builders/browser-esbuild/schema.json +541 -0
- package/src/builders/dev-server/builder.d.ts +44 -0
- package/src/builders/dev-server/builder.js +160 -0
- package/src/builders/dev-server/builder.js.map +1 -0
- package/src/builders/dev-server/index.d.ts +14 -0
- package/src/builders/dev-server/index.js +16 -0
- package/src/builders/dev-server/index.js.map +1 -0
- package/src/builders/dev-server/options.d.ts +52 -0
- package/src/builders/dev-server/options.js +116 -0
- package/src/builders/dev-server/options.js.map +1 -0
- package/src/builders/dev-server/schema.d.ts +118 -0
- package/src/builders/dev-server/schema.js +5 -0
- package/src/builders/dev-server/schema.js.map +1 -0
- package/src/builders/dev-server/schema.json +135 -0
- package/src/builders/dev-server/webpack-server.d.ts +35 -0
- package/src/builders/dev-server/webpack-server.js +296 -0
- package/src/builders/dev-server/webpack-server.js.map +1 -0
- package/src/builders/extract-i18n/application-extraction.d.ts +17 -0
- package/src/builders/extract-i18n/application-extraction.js +136 -0
- package/src/builders/extract-i18n/application-extraction.js.map +1 -0
- package/src/builders/extract-i18n/builder.d.ts +17 -0
- package/src/builders/extract-i18n/builder.js +178 -0
- package/src/builders/extract-i18n/builder.js.map +1 -0
- package/src/builders/extract-i18n/empty-loader.d.ts +8 -0
- package/src/builders/extract-i18n/empty-loader.js +14 -0
- package/src/builders/extract-i18n/empty-loader.js.map +1 -0
- package/src/builders/extract-i18n/index.d.ts +12 -0
- package/src/builders/extract-i18n/index.js +15 -0
- package/src/builders/extract-i18n/index.js.map +1 -0
- package/src/builders/extract-i18n/ivy-extract-loader.d.ts +13 -0
- package/src/builders/extract-i18n/ivy-extract-loader.js +131 -0
- package/src/builders/extract-i18n/ivy-extract-loader.js.map +1 -0
- package/src/builders/extract-i18n/options.d.ts +33 -0
- package/src/builders/extract-i18n/options.js +86 -0
- package/src/builders/extract-i18n/options.js.map +1 -0
- package/src/builders/extract-i18n/schema.d.ts +53 -0
- package/src/builders/extract-i18n/schema.js +30 -0
- package/src/builders/extract-i18n/schema.js.map +1 -0
- package/src/builders/extract-i18n/schema.json +38 -0
- package/src/builders/extract-i18n/webpack-extraction.d.ts +21 -0
- package/src/builders/extract-i18n/webpack-extraction.js +99 -0
- package/src/builders/extract-i18n/webpack-extraction.js.map +1 -0
- package/src/builders/jest/index.d.ts +11 -0
- package/src/builders/jest/index.js +213 -0
- package/src/builders/jest/index.js.map +1 -0
- package/src/builders/jest/init-test-bed.mjs +24 -0
- package/src/builders/jest/jest-global.mjs +19 -0
- package/src/builders/jest/jest.config.mjs +11 -0
- package/src/builders/jest/options.d.ts +21 -0
- package/src/builders/jest/options.js +25 -0
- package/src/builders/jest/options.js.map +1 -0
- package/src/builders/jest/schema.d.ts +26 -0
- package/src/builders/jest/schema.js +5 -0
- package/src/builders/jest/schema.js.map +1 -0
- package/src/builders/jest/schema.json +44 -0
- package/src/builders/karma/browser_builder.d.ts +20 -0
- package/src/builders/karma/browser_builder.js +195 -0
- package/src/builders/karma/browser_builder.js.map +1 -0
- package/src/builders/karma/find-tests-plugin.d.ts +20 -0
- package/src/builders/karma/find-tests-plugin.js +59 -0
- package/src/builders/karma/find-tests-plugin.js.map +1 -0
- package/src/builders/karma/index.d.ts +26 -0
- package/src/builders/karma/index.js +183 -0
- package/src/builders/karma/index.js.map +1 -0
- package/src/builders/karma/schema.d.ts +218 -0
- package/src/builders/karma/schema.js +26 -0
- package/src/builders/karma/schema.js.map +1 -0
- package/src/builders/karma/schema.json +324 -0
- package/src/builders/ng-packagr/index.d.ts +17 -0
- package/src/builders/ng-packagr/index.js +80 -0
- package/src/builders/ng-packagr/index.js.map +1 -0
- package/src/builders/ng-packagr/schema.d.ts +21 -0
- package/src/builders/ng-packagr/schema.js +5 -0
- package/src/builders/ng-packagr/schema.js.map +1 -0
- package/src/builders/ng-packagr/schema.json +27 -0
- package/src/builders/prerender/index.d.ts +19 -0
- package/src/builders/prerender/index.js +242 -0
- package/src/builders/prerender/index.js.map +1 -0
- package/src/builders/prerender/render-worker.d.ts +30 -0
- package/src/builders/prerender/render-worker.js +141 -0
- package/src/builders/prerender/render-worker.js.map +1 -0
- package/src/builders/prerender/routes-extractor-worker.d.ts +20 -0
- package/src/builders/prerender/routes-extractor-worker.js +84 -0
- package/src/builders/prerender/routes-extractor-worker.js.map +1 -0
- package/src/builders/prerender/schema.d.ts +24 -0
- package/src/builders/prerender/schema.js +5 -0
- package/src/builders/prerender/schema.js.map +1 -0
- package/src/builders/prerender/schema.json +39 -0
- package/src/builders/protractor/index.d.ts +16 -0
- package/src/builders/protractor/index.js +177 -0
- package/src/builders/protractor/index.js.map +1 -0
- package/src/builders/protractor/schema.d.ts +47 -0
- package/src/builders/protractor/schema.js +5 -0
- package/src/builders/protractor/schema.js.map +1 -0
- package/src/builders/protractor/schema.json +58 -0
- package/src/builders/protractor-error/index.d.ts +10 -0
- package/src/builders/protractor-error/index.js +15 -0
- package/src/builders/protractor-error/index.js.map +1 -0
- package/src/builders/server/index.d.ts +32 -0
- package/src/builders/server/index.js +223 -0
- package/src/builders/server/index.js.map +1 -0
- package/src/builders/server/platform-server-exports-loader.d.ts +16 -0
- package/src/builders/server/platform-server-exports-loader.js +35 -0
- package/src/builders/server/platform-server-exports-loader.js.map +1 -0
- package/src/builders/server/schema.d.ts +229 -0
- package/src/builders/server/schema.js +37 -0
- package/src/builders/server/schema.js.map +1 -0
- package/src/builders/server/schema.json +301 -0
- package/src/builders/ssr-dev-server/index.d.ts +23 -0
- package/src/builders/ssr-dev-server/index.js +316 -0
- package/src/builders/ssr-dev-server/index.js.map +1 -0
- package/src/builders/ssr-dev-server/schema.d.ts +64 -0
- package/src/builders/ssr-dev-server/schema.js +5 -0
- package/src/builders/ssr-dev-server/schema.js.map +1 -0
- package/src/builders/ssr-dev-server/schema.json +75 -0
- package/src/builders/ssr-dev-server/utils.d.ts +15 -0
- package/src/builders/ssr-dev-server/utils.js +74 -0
- package/src/builders/ssr-dev-server/utils.js.map +1 -0
- package/src/builders/web-test-runner/builder-status-warnings.d.ts +11 -0
- package/src/builders/web-test-runner/builder-status-warnings.js +46 -0
- package/src/builders/web-test-runner/builder-status-warnings.js.map +1 -0
- package/src/builders/web-test-runner/index.d.ts +10 -0
- package/src/builders/web-test-runner/index.js +162 -0
- package/src/builders/web-test-runner/index.js.map +1 -0
- package/src/builders/web-test-runner/jasmine_runner.js +91 -0
- package/src/builders/web-test-runner/options.d.ts +24 -0
- package/src/builders/web-test-runner/options.js +26 -0
- package/src/builders/web-test-runner/options.js.map +1 -0
- package/src/builders/web-test-runner/schema.d.ts +192 -0
- package/src/builders/web-test-runner/schema.js +16 -0
- package/src/builders/web-test-runner/schema.js.map +1 -0
- package/src/builders/web-test-runner/schema.json +297 -0
- package/src/builders/web-test-runner/test_page.html +40 -0
- package/src/builders/web-test-runner/write-test-files.d.ts +9 -0
- package/src/builders/web-test-runner/write-test-files.js +42 -0
- package/src/builders/web-test-runner/write-test-files.js.map +1 -0
- package/src/index.d.ts +30 -0
- package/src/index.js +55 -0
- package/src/index.js.map +1 -0
- package/src/tools/babel/babel-loader.d.ts +34 -0
- package/src/tools/babel/plugins/add-code-coverage.d.ts +14 -0
- package/src/tools/babel/plugins/add-code-coverage.js +45 -0
- package/src/tools/babel/plugins/add-code-coverage.js.map +1 -0
- package/src/tools/babel/plugins/types.d.ts +20 -0
- package/src/tools/babel/presets/application.d.ts +50 -0
- package/src/tools/babel/presets/application.js +189 -0
- package/src/tools/babel/presets/application.js.map +1 -0
- package/src/tools/babel/webpack-loader.d.ts +18 -0
- package/src/tools/babel/webpack-loader.js +201 -0
- package/src/tools/babel/webpack-loader.js.map +1 -0
- package/src/tools/webpack/configs/common.d.ts +10 -0
- package/src/tools/webpack/configs/common.js +433 -0
- package/src/tools/webpack/configs/common.js.map +1 -0
- package/src/tools/webpack/configs/dev-server.d.ts +16 -0
- package/src/tools/webpack/configs/dev-server.js +313 -0
- package/src/tools/webpack/configs/dev-server.js.map +1 -0
- package/src/tools/webpack/configs/index.d.ts +10 -0
- package/src/tools/webpack/configs/index.js +27 -0
- package/src/tools/webpack/configs/index.js.map +1 -0
- package/src/tools/webpack/configs/styles.d.ts +10 -0
- package/src/tools/webpack/configs/styles.js +384 -0
- package/src/tools/webpack/configs/styles.js.map +1 -0
- package/src/tools/webpack/plugins/any-component-style-budget-checker.d.ts +18 -0
- package/src/tools/webpack/plugins/any-component-style-budget-checker.js +100 -0
- package/src/tools/webpack/plugins/any-component-style-budget-checker.js.map +1 -0
- package/src/tools/webpack/plugins/builder-watch-plugin.d.ts +23 -0
- package/src/tools/webpack/plugins/builder-watch-plugin.js +102 -0
- package/src/tools/webpack/plugins/builder-watch-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/common-js-usage-warn-plugin.d.ts +21 -0
- package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js +126 -0
- package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/css-optimizer-plugin.d.ts +35 -0
- package/src/tools/webpack/plugins/css-optimizer-plugin.js +124 -0
- package/src/tools/webpack/plugins/css-optimizer-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.d.ts +29 -0
- package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js +76 -0
- package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/devtools-ignore-plugin.d.ts +16 -0
- package/src/tools/webpack/plugins/devtools-ignore-plugin.js +57 -0
- package/src/tools/webpack/plugins/devtools-ignore-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/esbuild-executor.d.ts +46 -0
- package/src/tools/webpack/plugins/esbuild-executor.js +134 -0
- package/src/tools/webpack/plugins/esbuild-executor.js.map +1 -0
- package/src/tools/webpack/plugins/hmr/hmr-accept.d.ts +8 -0
- package/src/tools/webpack/plugins/hmr/hmr-accept.js +185 -0
- package/src/tools/webpack/plugins/hmr/hmr-accept.js.map +1 -0
- package/src/tools/webpack/plugins/hmr/hmr-loader.d.ts +9 -0
- package/src/tools/webpack/plugins/hmr/hmr-loader.js +25 -0
- package/src/tools/webpack/plugins/hmr/hmr-loader.js.map +1 -0
- package/src/tools/webpack/plugins/index-html-webpack-plugin.d.ts +20 -0
- package/src/tools/webpack/plugins/index-html-webpack-plugin.js +88 -0
- package/src/tools/webpack/plugins/index-html-webpack-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/index.d.ts +16 -0
- package/src/tools/webpack/plugins/index.js +33 -0
- package/src/tools/webpack/plugins/index.js.map +1 -0
- package/src/tools/webpack/plugins/javascript-optimizer-plugin.d.ts +59 -0
- package/src/tools/webpack/plugins/javascript-optimizer-plugin.js +168 -0
- package/src/tools/webpack/plugins/javascript-optimizer-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/javascript-optimizer-worker.d.ts +91 -0
- package/src/tools/webpack/plugins/javascript-optimizer-worker.js +135 -0
- package/src/tools/webpack/plugins/javascript-optimizer-worker.js.map +1 -0
- package/src/tools/webpack/plugins/json-stats-plugin.d.ts +13 -0
- package/src/tools/webpack/plugins/json-stats-plugin.js +71 -0
- package/src/tools/webpack/plugins/json-stats-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/karma/karma-context.html +44 -0
- package/src/tools/webpack/plugins/karma/karma-debug.html +46 -0
- package/src/tools/webpack/plugins/karma/karma.d.ts +8 -0
- package/src/tools/webpack/plugins/karma/karma.js +196 -0
- package/src/tools/webpack/plugins/karma/karma.js.map +1 -0
- package/src/tools/webpack/plugins/named-chunks-plugin.d.ts +17 -0
- package/src/tools/webpack/plugins/named-chunks-plugin.js +59 -0
- package/src/tools/webpack/plugins/named-chunks-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/occurrences-plugin.d.ts +18 -0
- package/src/tools/webpack/plugins/occurrences-plugin.js +81 -0
- package/src/tools/webpack/plugins/occurrences-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/postcss-cli-resources.d.ts +21 -0
- package/src/tools/webpack/plugins/postcss-cli-resources.js +189 -0
- package/src/tools/webpack/plugins/postcss-cli-resources.js.map +1 -0
- package/src/tools/webpack/plugins/progress-plugin.d.ts +11 -0
- package/src/tools/webpack/plugins/progress-plugin.js +39 -0
- package/src/tools/webpack/plugins/progress-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/remove-hash-plugin.d.ts +18 -0
- package/src/tools/webpack/plugins/remove-hash-plugin.js +32 -0
- package/src/tools/webpack/plugins/remove-hash-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/scripts-webpack-plugin.d.ts +24 -0
- package/src/tools/webpack/plugins/scripts-webpack-plugin.js +196 -0
- package/src/tools/webpack/plugins/scripts-webpack-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/service-worker-plugin.d.ts +19 -0
- package/src/tools/webpack/plugins/service-worker-plugin.js +47 -0
- package/src/tools/webpack/plugins/service-worker-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/styles-webpack-plugin.d.ts +19 -0
- package/src/tools/webpack/plugins/styles-webpack-plugin.js +74 -0
- package/src/tools/webpack/plugins/styles-webpack-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.d.ts +14 -0
- package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +52 -0
- package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/transfer-size-plugin.d.ts +12 -0
- package/src/tools/webpack/plugins/transfer-size-plugin.js +50 -0
- package/src/tools/webpack/plugins/transfer-size-plugin.js.map +1 -0
- package/src/tools/webpack/plugins/typescript.d.ts +10 -0
- package/src/tools/webpack/plugins/typescript.js +53 -0
- package/src/tools/webpack/plugins/typescript.js.map +1 -0
- package/src/tools/webpack/plugins/watch-files-logs-plugin.d.ts +11 -0
- package/src/tools/webpack/plugins/watch-files-logs-plugin.js +28 -0
- package/src/tools/webpack/plugins/watch-files-logs-plugin.js.map +1 -0
- package/src/tools/webpack/utils/async-chunks.d.ts +16 -0
- package/src/tools/webpack/utils/async-chunks.js +45 -0
- package/src/tools/webpack/utils/async-chunks.js.map +1 -0
- package/src/tools/webpack/utils/helpers.d.ts +43 -0
- package/src/tools/webpack/utils/helpers.js +301 -0
- package/src/tools/webpack/utils/helpers.js.map +1 -0
- package/src/tools/webpack/utils/stats.d.ts +32 -0
- package/src/tools/webpack/utils/stats.js +301 -0
- package/src/tools/webpack/utils/stats.js.map +1 -0
- package/src/transforms.d.ts +8 -0
- package/src/transforms.js +10 -0
- package/src/transforms.js.map +1 -0
- package/src/utils/action-executor.d.ts +35 -0
- package/src/utils/action-executor.js +61 -0
- package/src/utils/action-executor.js.map +1 -0
- package/src/utils/build-options.d.ts +75 -0
- package/src/utils/build-options.js +10 -0
- package/src/utils/build-options.js.map +1 -0
- package/src/utils/bundle-inline-options.d.ts +15 -0
- package/src/utils/bundle-inline-options.js +10 -0
- package/src/utils/bundle-inline-options.js.map +1 -0
- package/src/utils/color.d.ts +10 -0
- package/src/utils/color.js +74 -0
- package/src/utils/color.js.map +1 -0
- package/src/utils/copy-assets.d.ts +18 -0
- package/src/utils/copy-assets.js +51 -0
- package/src/utils/copy-assets.js.map +1 -0
- package/src/utils/default-progress.d.ts +8 -0
- package/src/utils/default-progress.js +17 -0
- package/src/utils/default-progress.js.map +1 -0
- package/src/utils/environment-options.d.ts +16 -0
- package/src/utils/environment-options.js +83 -0
- package/src/utils/environment-options.js.map +1 -0
- package/src/utils/error.d.ts +10 -0
- package/src/utils/error.js +21 -0
- package/src/utils/error.js.map +1 -0
- package/src/utils/i18n-inlining.d.ts +11 -0
- package/src/utils/i18n-inlining.js +131 -0
- package/src/utils/i18n-inlining.js.map +1 -0
- package/src/utils/i18n-webpack.d.ts +16 -0
- package/src/utils/i18n-webpack.js +108 -0
- package/src/utils/i18n-webpack.js.map +1 -0
- package/src/utils/index.d.ts +16 -0
- package/src/utils/index.js +36 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/load-esm.d.ts +20 -0
- package/src/utils/load-esm.js +31 -0
- package/src/utils/load-esm.js.map +1 -0
- package/src/utils/normalize-asset-patterns.d.ts +14 -0
- package/src/utils/normalize-asset-patterns.js +107 -0
- package/src/utils/normalize-asset-patterns.js.map +1 -0
- package/src/utils/normalize-builder-schema.d.ts +23 -0
- package/src/utils/normalize-builder-schema.js +44 -0
- package/src/utils/normalize-builder-schema.js.map +1 -0
- package/src/utils/normalize-cache.d.ts +16 -0
- package/src/utils/normalize-cache.js +44 -0
- package/src/utils/normalize-cache.js.map +1 -0
- package/src/utils/normalize-file-replacements.d.ts +16 -0
- package/src/utils/normalize-file-replacements.js +87 -0
- package/src/utils/normalize-file-replacements.js.map +1 -0
- package/src/utils/normalize-optimization.d.ts +13 -0
- package/src/utils/normalize-optimization.js +40 -0
- package/src/utils/normalize-optimization.js.map +1 -0
- package/src/utils/normalize-polyfills.d.ts +8 -0
- package/src/utils/normalize-polyfills.js +24 -0
- package/src/utils/normalize-polyfills.js.map +1 -0
- package/src/utils/normalize-source-maps.d.ts +9 -0
- package/src/utils/normalize-source-maps.js +23 -0
- package/src/utils/normalize-source-maps.js.map +1 -0
- package/src/utils/output-paths.d.ts +9 -0
- package/src/utils/output-paths.js +27 -0
- package/src/utils/output-paths.js.map +1 -0
- package/src/utils/package-chunk-sort.d.ts +14 -0
- package/src/utils/package-chunk-sort.js +35 -0
- package/src/utils/package-chunk-sort.js.map +1 -0
- package/src/utils/package-version.d.ts +8 -0
- package/src/utils/package-version.js +12 -0
- package/src/utils/package-version.js.map +1 -0
- package/src/utils/process-bundle.d.ts +22 -0
- package/src/utils/process-bundle.js +315 -0
- package/src/utils/process-bundle.js.map +1 -0
- package/src/utils/read-tsconfig.d.ts +16 -0
- package/src/utils/read-tsconfig.js +61 -0
- package/src/utils/read-tsconfig.js.map +1 -0
- package/src/utils/run-module-as-observable-fork.d.ts +10 -0
- package/src/utils/run-module-as-observable-fork.js +78 -0
- package/src/utils/run-module-as-observable-fork.js.map +1 -0
- package/src/utils/run-module-worker.js +18 -0
- package/src/utils/spinner.d.ts +20 -0
- package/src/utils/spinner.js +56 -0
- package/src/utils/spinner.js.map +1 -0
- package/src/utils/test-files.d.ts +18 -0
- package/src/utils/test-files.js +32 -0
- package/src/utils/test-files.js.map +1 -0
- package/src/utils/tty.d.ts +8 -0
- package/src/utils/tty.js +23 -0
- package/src/utils/tty.js.map +1 -0
- package/src/utils/url.d.ts +8 -0
- package/src/utils/url.js +18 -0
- package/src/utils/url.js.map +1 -0
- package/src/utils/webpack-browser-config.d.ts +29 -0
- package/src/utils/webpack-browser-config.js +161 -0
- package/src/utils/webpack-browser-config.js.map +1 -0
- package/src/utils/webpack-diagnostics.d.ts +10 -0
- package/src/utils/webpack-diagnostics.js +18 -0
- package/src/utils/webpack-diagnostics.js.map +1 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ProgressPlugin = void 0;
|
|
11
|
+
const webpack_1 = require("webpack");
|
|
12
|
+
const spinner_1 = require("../../../utils/spinner");
|
|
13
|
+
class ProgressPlugin extends webpack_1.ProgressPlugin {
|
|
14
|
+
constructor(platform) {
|
|
15
|
+
const platformCapitalFirst = platform.replace(/^\w/, (s) => s.toUpperCase());
|
|
16
|
+
const spinner = new spinner_1.Spinner();
|
|
17
|
+
spinner.start(`Generating ${platform} application bundles (phase: setup)...`);
|
|
18
|
+
super({
|
|
19
|
+
handler: (percentage, message) => {
|
|
20
|
+
const phase = message ? ` (phase: ${message})` : '';
|
|
21
|
+
spinner.text = `Generating ${platform} application bundles${phase}...`;
|
|
22
|
+
switch (percentage) {
|
|
23
|
+
case 1:
|
|
24
|
+
if (spinner.isSpinning) {
|
|
25
|
+
spinner.succeed(`${platformCapitalFirst} application bundle generation complete.`);
|
|
26
|
+
}
|
|
27
|
+
break;
|
|
28
|
+
case 0:
|
|
29
|
+
if (!spinner.isSpinning) {
|
|
30
|
+
spinner.start();
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ProgressPlugin = ProgressPlugin;
|
|
39
|
+
//# sourceMappingURL=progress-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-plugin.js","sourceRoot":"","sources":["progress-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qCAAkE;AAClE,oDAAiD;AAEjD,MAAa,cAAe,SAAQ,wBAAqB;IACvD,YAAY,QAA8B;QACxC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,cAAc,QAAQ,wCAAwC,CAAC,CAAC;QAE9E,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,UAAkB,EAAE,OAAe,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,GAAG,cAAc,QAAQ,uBAAuB,KAAK,KAAK,CAAC;gBAEvE,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,CAAC;wBACJ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;4BACvB,OAAO,CAAC,OAAO,CAAC,GAAG,oBAAoB,0CAA0C,CAAC,CAAC;wBACrF,CAAC;wBACD,MAAM;oBACR,KAAK,CAAC;wBACJ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;4BACxB,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AA1BD,wCA0BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { Compiler } from 'webpack';
|
|
9
|
+
import { HashFormat } from '../utils/helpers';
|
|
10
|
+
export interface RemoveHashPluginOptions {
|
|
11
|
+
chunkNames: string[];
|
|
12
|
+
hashFormat: HashFormat;
|
|
13
|
+
}
|
|
14
|
+
export declare class RemoveHashPlugin {
|
|
15
|
+
private options;
|
|
16
|
+
constructor(options: RemoveHashPluginOptions);
|
|
17
|
+
apply(compiler: Compiler): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.RemoveHashPlugin = void 0;
|
|
11
|
+
class RemoveHashPlugin {
|
|
12
|
+
options;
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.options = options;
|
|
15
|
+
}
|
|
16
|
+
apply(compiler) {
|
|
17
|
+
compiler.hooks.compilation.tap('remove-hash-plugin', (compilation) => {
|
|
18
|
+
const assetPath = (path, data) => {
|
|
19
|
+
const chunkName = data.chunk?.name;
|
|
20
|
+
const { chunkNames, hashFormat } = this.options;
|
|
21
|
+
if (chunkName && chunkNames?.includes(chunkName)) {
|
|
22
|
+
// Replace hash formats with empty strings.
|
|
23
|
+
return path.replace(hashFormat.chunk, '').replace(hashFormat.extract, '');
|
|
24
|
+
}
|
|
25
|
+
return path;
|
|
26
|
+
};
|
|
27
|
+
compilation.hooks.assetPath.tap('remove-hash-plugin', assetPath);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.RemoveHashPlugin = RemoveHashPlugin;
|
|
32
|
+
//# sourceMappingURL=remove-hash-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-hash-plugin.js","sourceRoot":"","sources":["remove-hash-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAUH,MAAa,gBAAgB;IACP;IAApB,YAAoB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAAG,CAAC;IAExD,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE;YACnE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAA0C,EAAE,EAAE;gBAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;gBACnC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAEhD,IAAI,SAAS,IAAI,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjD,2CAA2C;oBAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApBD,4CAoBC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { Compilation, Compiler } from 'webpack';
|
|
9
|
+
export interface ScriptsWebpackPluginOptions {
|
|
10
|
+
name: string;
|
|
11
|
+
sourceMap?: boolean;
|
|
12
|
+
scripts: string[];
|
|
13
|
+
filename: string;
|
|
14
|
+
basePath: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class ScriptsWebpackPlugin {
|
|
17
|
+
private options;
|
|
18
|
+
private _lastBuildTime?;
|
|
19
|
+
private _cachedOutput?;
|
|
20
|
+
constructor(options: ScriptsWebpackPluginOptions);
|
|
21
|
+
shouldSkip(compilation: Compilation, scripts: string[]): Promise<boolean>;
|
|
22
|
+
private _insertOutput;
|
|
23
|
+
apply(compiler: Compiler): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.ScriptsWebpackPlugin = void 0;
|
|
44
|
+
const loader_utils_1 = require("loader-utils");
|
|
45
|
+
const path = __importStar(require("node:path"));
|
|
46
|
+
const webpack_1 = require("webpack");
|
|
47
|
+
const error_1 = require("../../../utils/error");
|
|
48
|
+
const webpack_diagnostics_1 = require("../../../utils/webpack-diagnostics");
|
|
49
|
+
const Entrypoint = require('webpack/lib/Entrypoint');
|
|
50
|
+
/**
|
|
51
|
+
* The name of the plugin provided to Webpack when tapping Webpack compiler hooks.
|
|
52
|
+
*/
|
|
53
|
+
const PLUGIN_NAME = 'scripts-webpack-plugin';
|
|
54
|
+
function addDependencies(compilation, scripts) {
|
|
55
|
+
for (const script of scripts) {
|
|
56
|
+
compilation.fileDependencies.add(script);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
class ScriptsWebpackPlugin {
|
|
60
|
+
options;
|
|
61
|
+
_lastBuildTime;
|
|
62
|
+
_cachedOutput;
|
|
63
|
+
constructor(options) {
|
|
64
|
+
this.options = options;
|
|
65
|
+
}
|
|
66
|
+
async shouldSkip(compilation, scripts) {
|
|
67
|
+
if (this._lastBuildTime == undefined) {
|
|
68
|
+
this._lastBuildTime = Date.now();
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
for (const script of scripts) {
|
|
72
|
+
const scriptTime = await new Promise((resolve, reject) => {
|
|
73
|
+
compilation.fileSystemInfo.getFileTimestamp(script, (error, entry) => {
|
|
74
|
+
if (error) {
|
|
75
|
+
reject(error);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
resolve(entry && typeof entry !== 'string' ? entry.safeTime : undefined);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
if (!scriptTime || scriptTime > this._lastBuildTime) {
|
|
82
|
+
this._lastBuildTime = Date.now();
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
_insertOutput(compilation, { filename, source }, cached = false) {
|
|
89
|
+
const chunk = new webpack_1.Chunk(this.options.name);
|
|
90
|
+
chunk.rendered = !cached;
|
|
91
|
+
chunk.id = this.options.name;
|
|
92
|
+
chunk.ids = [chunk.id];
|
|
93
|
+
chunk.files.add(filename);
|
|
94
|
+
const entrypoint = new Entrypoint(this.options.name);
|
|
95
|
+
entrypoint.pushChunk(chunk);
|
|
96
|
+
chunk.addGroup(entrypoint);
|
|
97
|
+
compilation.entrypoints.set(this.options.name, entrypoint);
|
|
98
|
+
compilation.chunks.add(chunk);
|
|
99
|
+
compilation.assets[filename] = source;
|
|
100
|
+
compilation.hooks.chunkAsset.call(chunk, filename);
|
|
101
|
+
}
|
|
102
|
+
apply(compiler) {
|
|
103
|
+
if (this.options.scripts.length === 0) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
107
|
+
// Use the resolver from the compilation instead of compiler.
|
|
108
|
+
// Using the latter will causes a lot of `DescriptionFileUtils.loadDescriptionFile` calls.
|
|
109
|
+
// See: https://github.com/angular/angular-cli/issues/24634#issuecomment-1425782668
|
|
110
|
+
const resolver = compilation.resolverFactory.get('normal', {
|
|
111
|
+
preferRelative: true,
|
|
112
|
+
useSyncFileSystemCalls: true,
|
|
113
|
+
// Caching must be disabled because it causes the resolver to become async after a rebuild.
|
|
114
|
+
cache: false,
|
|
115
|
+
});
|
|
116
|
+
const scripts = [];
|
|
117
|
+
for (const script of this.options.scripts) {
|
|
118
|
+
try {
|
|
119
|
+
const resolvedPath = resolver.resolveSync({}, this.options.basePath, script);
|
|
120
|
+
if (resolvedPath) {
|
|
121
|
+
scripts.push(resolvedPath);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
(0, webpack_diagnostics_1.addError)(compilation, `Cannot resolve '${script}'.`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
(0, error_1.assertIsError)(error);
|
|
129
|
+
(0, webpack_diagnostics_1.addError)(compilation, error.message);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
compilation.hooks.additionalAssets.tapPromise(PLUGIN_NAME, async () => {
|
|
133
|
+
if (await this.shouldSkip(compilation, scripts)) {
|
|
134
|
+
if (this._cachedOutput) {
|
|
135
|
+
this._insertOutput(compilation, this._cachedOutput, true);
|
|
136
|
+
}
|
|
137
|
+
addDependencies(compilation, scripts);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const sourceGetters = scripts.map((fullPath) => {
|
|
141
|
+
return new Promise((resolve, reject) => {
|
|
142
|
+
compilation.inputFileSystem.readFile(fullPath, (err, data) => {
|
|
143
|
+
if (err) {
|
|
144
|
+
reject(err);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const content = data?.toString() ?? '';
|
|
148
|
+
let source;
|
|
149
|
+
if (this.options.sourceMap) {
|
|
150
|
+
// TODO: Look for source map file (for '.min' scripts, etc.)
|
|
151
|
+
let adjustedPath = fullPath;
|
|
152
|
+
if (this.options.basePath) {
|
|
153
|
+
adjustedPath = path.relative(this.options.basePath, fullPath);
|
|
154
|
+
}
|
|
155
|
+
source = new webpack_1.sources.OriginalSource(content, adjustedPath);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
source = new webpack_1.sources.RawSource(content);
|
|
159
|
+
}
|
|
160
|
+
resolve(source);
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
const sources = await Promise.all(sourceGetters);
|
|
165
|
+
const concatSource = new webpack_1.sources.ConcatSource();
|
|
166
|
+
sources.forEach((source) => {
|
|
167
|
+
concatSource.add(source);
|
|
168
|
+
concatSource.add('\n;');
|
|
169
|
+
});
|
|
170
|
+
const combinedSource = new webpack_1.sources.CachedSource(concatSource);
|
|
171
|
+
const output = { filename: this.options.filename, source: combinedSource };
|
|
172
|
+
this._insertOutput(compilation, output);
|
|
173
|
+
this._cachedOutput = output;
|
|
174
|
+
addDependencies(compilation, scripts);
|
|
175
|
+
});
|
|
176
|
+
compilation.hooks.processAssets.tapPromise({
|
|
177
|
+
name: PLUGIN_NAME,
|
|
178
|
+
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING,
|
|
179
|
+
}, async () => {
|
|
180
|
+
const assetName = this.options.filename;
|
|
181
|
+
const asset = compilation.getAsset(assetName);
|
|
182
|
+
if (asset) {
|
|
183
|
+
const interpolatedFilename = (0, loader_utils_1.interpolateName)(
|
|
184
|
+
// TODO: Revisit. Previously due to lack of type safety, this object
|
|
185
|
+
// was fine, but in practice it doesn't match the type of the loader context.
|
|
186
|
+
{ resourcePath: 'scripts.js' }, assetName, { content: asset.source.source() });
|
|
187
|
+
if (assetName !== interpolatedFilename) {
|
|
188
|
+
compilation.renameAsset(assetName, interpolatedFilename);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
exports.ScriptsWebpackPlugin = ScriptsWebpackPlugin;
|
|
196
|
+
//# sourceMappingURL=scripts-webpack-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts-webpack-plugin.js","sourceRoot":"","sources":["scripts-webpack-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { Compiler } from 'webpack';
|
|
9
|
+
export interface ServiceWorkerPluginOptions {
|
|
10
|
+
projectRoot: string;
|
|
11
|
+
root: string;
|
|
12
|
+
baseHref?: string;
|
|
13
|
+
ngswConfigPath?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class ServiceWorkerPlugin {
|
|
16
|
+
private readonly options;
|
|
17
|
+
constructor(options: ServiceWorkerPluginOptions);
|
|
18
|
+
apply(compiler: Compiler): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ServiceWorkerPlugin = void 0;
|
|
11
|
+
const private_1 = require("@angular/build/private");
|
|
12
|
+
class ServiceWorkerPlugin {
|
|
13
|
+
options;
|
|
14
|
+
constructor(options) {
|
|
15
|
+
this.options = options;
|
|
16
|
+
}
|
|
17
|
+
apply(compiler) {
|
|
18
|
+
compiler.hooks.done.tapPromise('angular-service-worker', async (stats) => {
|
|
19
|
+
if (stats.hasErrors()) {
|
|
20
|
+
// Don't generate a service worker if the compilation has errors.
|
|
21
|
+
// When there are errors some files will not be emitted which would cause other errors down the line such as readdir failures.
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const { projectRoot, root, baseHref = '', ngswConfigPath } = this.options;
|
|
25
|
+
const { compilation } = stats;
|
|
26
|
+
// We use the output path from the compilation instead of build options since during
|
|
27
|
+
// localization the output path is modified to a temp directory.
|
|
28
|
+
// See: https://github.com/angular/angular-cli/blob/7e64b1537d54fadb650559214fbb12707324cd75/packages/angular_devkit/build_angular/src/utils/i18n-options.ts#L251-L252
|
|
29
|
+
const outputPath = compilation.outputOptions.path;
|
|
30
|
+
if (!outputPath) {
|
|
31
|
+
throw new Error('Compilation output path cannot be empty.');
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await (0, private_1.augmentAppWithServiceWorker)(projectRoot, root, outputPath, baseHref, ngswConfigPath,
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
compiler.inputFileSystem.promises,
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
compiler.outputFileSystem.promises);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
compilation.errors.push(new compilation.compiler.webpack.WebpackError(`Failed to generate service worker - ${error instanceof Error ? error.message : error}`));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ServiceWorkerPlugin = ServiceWorkerPlugin;
|
|
47
|
+
//# sourceMappingURL=service-worker-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-worker-plugin.js","sourceRoot":"","sources":["service-worker-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,oDAAqE;AAUrE,MAAa,mBAAmB;IACD;IAA7B,YAA6B,OAAmC;QAAnC,YAAO,GAAP,OAAO,CAA4B;IAAG,CAAC;IAEpE,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtB,iEAAiE;gBACjE,8HAA8H;gBAC9H,OAAO;YACT,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;YAC9B,oFAAoF;YACpF,gEAAgE;YAChE,sKAAsK;YACtK,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC;YAElD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAA,qCAA2B,EAC/B,WAAW,EACX,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,cAAc;gBACd,8DAA8D;gBAC7D,QAAQ,CAAC,eAAuB,CAAC,QAAQ;gBAC1C,8DAA8D;gBAC7D,QAAQ,CAAC,gBAAwB,CAAC,QAAQ,CAC5C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAC3C,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CACxF,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3CD,kDA2CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { Compiler } from 'webpack';
|
|
9
|
+
export interface StylesWebpackPluginOptions {
|
|
10
|
+
preserveSymlinks?: boolean;
|
|
11
|
+
root: string;
|
|
12
|
+
entryPoints: Record<string, string[]>;
|
|
13
|
+
}
|
|
14
|
+
export declare class StylesWebpackPlugin {
|
|
15
|
+
private readonly options;
|
|
16
|
+
private compilation;
|
|
17
|
+
constructor(options: StylesWebpackPluginOptions);
|
|
18
|
+
apply(compiler: Compiler): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.StylesWebpackPlugin = void 0;
|
|
14
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const error_1 = require("../../../utils/error");
|
|
16
|
+
const webpack_diagnostics_1 = require("../../../utils/webpack-diagnostics");
|
|
17
|
+
/**
|
|
18
|
+
* The name of the plugin provided to Webpack when tapping Webpack compiler hooks.
|
|
19
|
+
*/
|
|
20
|
+
const PLUGIN_NAME = 'styles-webpack-plugin';
|
|
21
|
+
class StylesWebpackPlugin {
|
|
22
|
+
options;
|
|
23
|
+
compilation;
|
|
24
|
+
constructor(options) {
|
|
25
|
+
this.options = options;
|
|
26
|
+
}
|
|
27
|
+
apply(compiler) {
|
|
28
|
+
const { entryPoints, preserveSymlinks, root } = this.options;
|
|
29
|
+
const resolver = compiler.resolverFactory.get('global-styles', {
|
|
30
|
+
conditionNames: ['sass', 'less', 'style'],
|
|
31
|
+
mainFields: ['sass', 'less', 'style', 'main', '...'],
|
|
32
|
+
extensions: ['.scss', '.sass', '.less', '.css'],
|
|
33
|
+
restrictions: [/\.((le|sa|sc|c)ss)$/i],
|
|
34
|
+
preferRelative: true,
|
|
35
|
+
useSyncFileSystemCalls: true,
|
|
36
|
+
symlinks: !preserveSymlinks,
|
|
37
|
+
fileSystem: compiler.inputFileSystem ?? undefined,
|
|
38
|
+
});
|
|
39
|
+
const webpackOptions = compiler.options;
|
|
40
|
+
compiler.hooks.environment.tap(PLUGIN_NAME, () => {
|
|
41
|
+
const entry = typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry;
|
|
42
|
+
webpackOptions.entry = async () => {
|
|
43
|
+
const entrypoints = await entry;
|
|
44
|
+
for (const [bundleName, paths] of Object.entries(entryPoints)) {
|
|
45
|
+
entrypoints[bundleName] ??= {};
|
|
46
|
+
const entryImport = (entrypoints[bundleName].import ??= []);
|
|
47
|
+
for (const path of paths) {
|
|
48
|
+
try {
|
|
49
|
+
const resolvedPath = resolver.resolveSync({}, root, path);
|
|
50
|
+
if (resolvedPath) {
|
|
51
|
+
entryImport.push(`${resolvedPath}?ngGlobalStyle`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
(0, node_assert_1.default)(this.compilation, 'Compilation cannot be undefined.');
|
|
55
|
+
(0, webpack_diagnostics_1.addError)(this.compilation, `Cannot resolve '${path}'.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
(0, node_assert_1.default)(this.compilation, 'Compilation cannot be undefined.');
|
|
60
|
+
(0, error_1.assertIsError)(error);
|
|
61
|
+
(0, webpack_diagnostics_1.addError)(this.compilation, error.message);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return entrypoints;
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
69
|
+
this.compilation = compilation;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.StylesWebpackPlugin = StylesWebpackPlugin;
|
|
74
|
+
//# sourceMappingURL=styles-webpack-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles-webpack-plugin.js","sourceRoot":"","sources":["styles-webpack-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Remove .js files from entry points consisting entirely of stylesheets.
|
|
10
|
+
* To be used together with mini-css-extract-plugin.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SuppressExtractedTextChunksWebpackPlugin {
|
|
13
|
+
apply(compiler: import('webpack').Compiler): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.SuppressExtractedTextChunksWebpackPlugin = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Remove .js files from entry points consisting entirely of stylesheets.
|
|
13
|
+
* To be used together with mini-css-extract-plugin.
|
|
14
|
+
*/
|
|
15
|
+
class SuppressExtractedTextChunksWebpackPlugin {
|
|
16
|
+
apply(compiler) {
|
|
17
|
+
compiler.hooks.compilation.tap('SuppressExtractedTextChunks', (compilation) => {
|
|
18
|
+
compilation.hooks.chunkAsset.tap('SuppressExtractedTextChunks', (chunk, filename) => {
|
|
19
|
+
// Remove only JavaScript assets
|
|
20
|
+
if (!filename.endsWith('.js')) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Only chunks with a css asset should have JavaScript assets removed
|
|
24
|
+
let hasCssFile = false;
|
|
25
|
+
for (const file of chunk.files) {
|
|
26
|
+
if (file.endsWith('.css')) {
|
|
27
|
+
hasCssFile = true;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!hasCssFile) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Only chunks with all CSS entry dependencies should have JavaScript assets removed
|
|
35
|
+
let cssOnly = false;
|
|
36
|
+
const entryModules = compilation.chunkGraph.getChunkEntryModulesIterable(chunk);
|
|
37
|
+
for (const module of entryModules) {
|
|
38
|
+
cssOnly = module.dependencies.every((dependency) => dependency.constructor.name === 'CssDependency');
|
|
39
|
+
if (!cssOnly) {
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (cssOnly) {
|
|
44
|
+
chunk.files.delete(filename);
|
|
45
|
+
compilation.deleteAsset(filename);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.SuppressExtractedTextChunksWebpackPlugin = SuppressExtractedTextChunksWebpackPlugin;
|
|
52
|
+
//# sourceMappingURL=suppress-entry-chunks-webpack-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppress-entry-chunks-webpack-plugin.js","sourceRoot":"","sources":["suppress-entry-chunks-webpack-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;GAGG;AACH,MAAa,wCAAwC;IACnD,KAAK,CAAC,QAAoC;QACxC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,WAAW,EAAE,EAAE;YAC5E,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClF,gCAAgC;gBAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,qEAAqE;gBACrE,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1B,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBAED,oFAAoF;gBACpF,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CACjC,CAAC,UAAc,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CACpE,CAAC;oBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC7B,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1CD,4FA0CC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { Compiler } from 'webpack';
|
|
9
|
+
export declare class TransferSizePlugin {
|
|
10
|
+
constructor();
|
|
11
|
+
apply(compiler: Compiler): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TransferSizePlugin = void 0;
|
|
11
|
+
const node_util_1 = require("node:util");
|
|
12
|
+
const node_zlib_1 = require("node:zlib");
|
|
13
|
+
const webpack_diagnostics_1 = require("../../../utils/webpack-diagnostics");
|
|
14
|
+
const brotliCompressAsync = (0, node_util_1.promisify)(node_zlib_1.brotliCompress);
|
|
15
|
+
const PLUGIN_NAME = 'angular-transfer-size-estimator';
|
|
16
|
+
class TransferSizePlugin {
|
|
17
|
+
constructor() { }
|
|
18
|
+
apply(compiler) {
|
|
19
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
20
|
+
compilation.hooks.processAssets.tapPromise({
|
|
21
|
+
name: PLUGIN_NAME,
|
|
22
|
+
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ANALYSE,
|
|
23
|
+
}, async (compilationAssets) => {
|
|
24
|
+
const actions = [];
|
|
25
|
+
for (const assetName of Object.keys(compilationAssets)) {
|
|
26
|
+
if (!assetName.endsWith('.js') && !assetName.endsWith('.css')) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
const scriptAsset = compilation.getAsset(assetName);
|
|
30
|
+
if (!scriptAsset || scriptAsset.source.size() <= 0) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
actions.push(brotliCompressAsync(scriptAsset.source.source())
|
|
34
|
+
.then((result) => {
|
|
35
|
+
compilation.updateAsset(assetName, (s) => s, (assetInfo) => ({
|
|
36
|
+
...assetInfo,
|
|
37
|
+
estimatedTransferSize: result.length,
|
|
38
|
+
}));
|
|
39
|
+
})
|
|
40
|
+
.catch((error) => {
|
|
41
|
+
(0, webpack_diagnostics_1.addWarning)(compilation, `Unable to calculate estimated transfer size for '${assetName}'. Reason: ${error.message}`);
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
await Promise.all(actions);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TransferSizePlugin = TransferSizePlugin;
|
|
50
|
+
//# sourceMappingURL=transfer-size-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer-size-plugin.js","sourceRoot":"","sources":["transfer-size-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,yCAAsC;AACtC,yCAA2C;AAE3C,4EAAgE;AAEhE,MAAM,mBAAmB,GAAG,IAAA,qBAAS,EAAC,0BAAc,CAAC,CAAC;AAEtD,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,MAAa,kBAAkB;IAC7B,gBAAe,CAAC;IAEhB,KAAK,CAAC,QAAkB;QACtB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;YAC9D,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CACxC;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,4BAA4B;aACjE,EACD,KAAK,EAAE,iBAAiB,EAAE,EAAE;gBAC1B,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9D,SAAS;oBACX,CAAC;oBAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACpD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;wBACnD,SAAS;oBACX,CAAC;oBAED,OAAO,CAAC,IAAI,CACV,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;yBAC7C,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACf,WAAW,CAAC,WAAW,CACrB,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACR,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;4BACd,GAAG,SAAS;4BACZ,qBAAqB,EAAE,MAAM,CAAC,MAAM;yBACrC,CAAC,CACH,CAAC;oBACJ,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACf,IAAA,gCAAU,EACR,WAAW,EACX,oDAAoD,SAAS,cAAc,KAAK,CAAC,OAAO,EAAE,CAC3F,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhDD,gDAgDC"}
|