@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,193 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
const private_1 = require("@angular/build/private");
|
|
47
|
+
const architect_1 = require("@angular-devkit/architect");
|
|
48
|
+
const fs = __importStar(require("node:fs"));
|
|
49
|
+
const path = __importStar(require("node:path"));
|
|
50
|
+
const piscina_1 = __importDefault(require("piscina"));
|
|
51
|
+
const utils_1 = require("../../utils");
|
|
52
|
+
const error_1 = require("../../utils/error");
|
|
53
|
+
const spinner_1 = require("../../utils/spinner");
|
|
54
|
+
async function _renderUniversal(options, context, browserResult, serverResult, spinner) {
|
|
55
|
+
// Get browser target options.
|
|
56
|
+
const browserTarget = (0, architect_1.targetFromTargetString)(options.browserTarget);
|
|
57
|
+
const rawBrowserOptions = await context.getTargetOptions(browserTarget);
|
|
58
|
+
const browserBuilderName = await context.getBuilderNameForTarget(browserTarget);
|
|
59
|
+
const browserOptions = await context.validateOptions(rawBrowserOptions, browserBuilderName);
|
|
60
|
+
// Locate zone.js to load in the render worker
|
|
61
|
+
const root = context.workspaceRoot;
|
|
62
|
+
let zonePackage;
|
|
63
|
+
try {
|
|
64
|
+
zonePackage = require.resolve('zone.js', { paths: [root] });
|
|
65
|
+
}
|
|
66
|
+
catch { }
|
|
67
|
+
const projectName = context.target && context.target.project;
|
|
68
|
+
if (!projectName) {
|
|
69
|
+
throw new Error('The builder requires a target.');
|
|
70
|
+
}
|
|
71
|
+
const projectMetadata = await context.getProjectMetadata(projectName);
|
|
72
|
+
const projectRoot = path.join(root, projectMetadata.root ?? '');
|
|
73
|
+
const { styles } = (0, utils_1.normalizeOptimization)(browserOptions.optimization);
|
|
74
|
+
let inlineCriticalCssProcessor;
|
|
75
|
+
if (styles.inlineCritical) {
|
|
76
|
+
const { InlineCriticalCssProcessor } = await Promise.resolve().then(() => __importStar(require('@angular/build/private')));
|
|
77
|
+
inlineCriticalCssProcessor = new InlineCriticalCssProcessor({
|
|
78
|
+
minify: styles.minify,
|
|
79
|
+
deployUrl: browserOptions.deployUrl,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
const renderWorker = new piscina_1.default({
|
|
83
|
+
filename: require.resolve('./render-worker'),
|
|
84
|
+
maxThreads: 1,
|
|
85
|
+
workerData: { zonePackage },
|
|
86
|
+
recordTiming: false,
|
|
87
|
+
});
|
|
88
|
+
try {
|
|
89
|
+
for (const { path: outputPath, baseHref } of browserResult.outputs) {
|
|
90
|
+
const localeDirectory = path.relative(browserResult.baseOutputPath, outputPath);
|
|
91
|
+
const browserIndexOutputPath = path.join(outputPath, 'index.html');
|
|
92
|
+
const indexHtml = await fs.promises.readFile(browserIndexOutputPath, 'utf8');
|
|
93
|
+
const serverBundlePath = await _getServerModuleBundlePath(options, context, serverResult, localeDirectory);
|
|
94
|
+
let html = await renderWorker.run({
|
|
95
|
+
serverBundlePath,
|
|
96
|
+
document: indexHtml,
|
|
97
|
+
url: options.route,
|
|
98
|
+
});
|
|
99
|
+
// Overwrite the client index file.
|
|
100
|
+
const outputIndexPath = options.outputIndexPath
|
|
101
|
+
? path.join(root, options.outputIndexPath)
|
|
102
|
+
: browserIndexOutputPath;
|
|
103
|
+
if (inlineCriticalCssProcessor) {
|
|
104
|
+
const { content, warnings, errors } = await inlineCriticalCssProcessor.process(html, {
|
|
105
|
+
outputPath,
|
|
106
|
+
});
|
|
107
|
+
html = content;
|
|
108
|
+
if (warnings.length || errors.length) {
|
|
109
|
+
spinner.stop();
|
|
110
|
+
warnings.forEach((m) => context.logger.warn(m));
|
|
111
|
+
errors.forEach((m) => context.logger.error(m));
|
|
112
|
+
spinner.start();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
await fs.promises.writeFile(outputIndexPath, html);
|
|
116
|
+
if (browserOptions.serviceWorker) {
|
|
117
|
+
await (0, private_1.augmentAppWithServiceWorker)(projectRoot, root, outputPath, baseHref ?? '/', browserOptions.ngswConfigPath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
await renderWorker.destroy();
|
|
123
|
+
}
|
|
124
|
+
return browserResult;
|
|
125
|
+
}
|
|
126
|
+
async function _getServerModuleBundlePath(options, context, serverResult, browserLocaleDirectory) {
|
|
127
|
+
if (options.appModuleBundle) {
|
|
128
|
+
return path.join(context.workspaceRoot, options.appModuleBundle);
|
|
129
|
+
}
|
|
130
|
+
const { baseOutputPath = '' } = serverResult;
|
|
131
|
+
const outputPath = path.join(baseOutputPath, browserLocaleDirectory);
|
|
132
|
+
if (!fs.existsSync(outputPath)) {
|
|
133
|
+
throw new Error(`Could not find server output directory: ${outputPath}.`);
|
|
134
|
+
}
|
|
135
|
+
const re = /^main\.(?:[a-zA-Z0-9]{16}\.)?js$/;
|
|
136
|
+
const maybeMain = fs.readdirSync(outputPath).find((x) => re.test(x));
|
|
137
|
+
if (!maybeMain) {
|
|
138
|
+
throw new Error('Could not find the main bundle.');
|
|
139
|
+
}
|
|
140
|
+
return path.join(outputPath, maybeMain);
|
|
141
|
+
}
|
|
142
|
+
async function _appShellBuilder(options, context) {
|
|
143
|
+
const browserTarget = (0, architect_1.targetFromTargetString)(options.browserTarget);
|
|
144
|
+
const serverTarget = (0, architect_1.targetFromTargetString)(options.serverTarget);
|
|
145
|
+
// Never run the browser target in watch mode.
|
|
146
|
+
// If service worker is needed, it will be added in _renderUniversal();
|
|
147
|
+
const browserOptions = (await context.getTargetOptions(browserTarget));
|
|
148
|
+
const optimization = (0, utils_1.normalizeOptimization)(browserOptions.optimization);
|
|
149
|
+
optimization.styles.inlineCritical = false;
|
|
150
|
+
const browserTargetRun = await context.scheduleTarget(browserTarget, {
|
|
151
|
+
watch: false,
|
|
152
|
+
serviceWorker: false,
|
|
153
|
+
optimization: optimization,
|
|
154
|
+
});
|
|
155
|
+
if (browserTargetRun.info.builderName === '@angular-devkit/build-angular:application') {
|
|
156
|
+
return {
|
|
157
|
+
success: false,
|
|
158
|
+
error: '"@angular-devkit/build-angular:application" has built-in app-shell generation capabilities. ' +
|
|
159
|
+
'The "appShell" option should be used instead.',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const serverTargetRun = await context.scheduleTarget(serverTarget, {
|
|
163
|
+
watch: false,
|
|
164
|
+
});
|
|
165
|
+
let spinner;
|
|
166
|
+
try {
|
|
167
|
+
const [browserResult, serverResult] = await Promise.all([
|
|
168
|
+
browserTargetRun.result,
|
|
169
|
+
serverTargetRun.result,
|
|
170
|
+
]);
|
|
171
|
+
if (browserResult.success === false || browserResult.baseOutputPath === undefined) {
|
|
172
|
+
return browserResult;
|
|
173
|
+
}
|
|
174
|
+
else if (serverResult.success === false) {
|
|
175
|
+
return serverResult;
|
|
176
|
+
}
|
|
177
|
+
spinner = new spinner_1.Spinner();
|
|
178
|
+
spinner.start('Generating application shell...');
|
|
179
|
+
const result = await _renderUniversal(options, context, browserResult, serverResult, spinner);
|
|
180
|
+
spinner.succeed('Application shell generation complete.');
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
spinner?.fail('Application shell generation failed.');
|
|
185
|
+
(0, error_1.assertIsError)(err);
|
|
186
|
+
return { success: false, error: err.message };
|
|
187
|
+
}
|
|
188
|
+
finally {
|
|
189
|
+
await Promise.all([browserTargetRun.stop(), serverTargetRun.stop()]);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
exports.default = (0, architect_1.createBuilder)(_appShellBuilder);
|
|
193
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAqE;AACrE,yDAKmC;AAEnC,4CAA8B;AAC9B,gDAAkC;AAClC,sDAA8B;AAC9B,uCAAoD;AACpD,6CAAkD;AAClD,iDAA8C;AAM9C,KAAK,UAAU,gBAAgB,CAC7B,OAAmC,EACnC,OAAuB,EACvB,aAAmC,EACnC,YAAiC,EACjC,OAAgB;IAEhB,8BAA8B;IAC9B,MAAM,aAAa,GAAG,IAAA,kCAAsB,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,eAAe,CAClD,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;IAEF,8CAA8C;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IACnC,IAAI,WAA+B,CAAC;IAEpC,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAG,eAAe,CAAC,IAA2B,IAAI,EAAE,CAAC,CAAC;IAExF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,6BAAqB,EAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACtE,IAAI,0BAA0B,CAAC;IAC/B,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;QAC9E,0BAA0B,GAAG,IAAI,0BAA0B,CAAC;YAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,cAAc,CAAC,SAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,iBAAO,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC5C,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE,WAAW,EAAE;QAC3B,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAChF,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC7E,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CACvD,OAAO,EACP,OAAO,EACP,YAAY,EACZ,eAAe,CAChB,CAAC;YAEF,IAAI,IAAI,GAAW,MAAM,YAAY,CAAC,GAAG,CAAC;gBACxC,gBAAgB;gBAChB,QAAQ,EAAE,SAAS;gBACnB,GAAG,EAAE,OAAO,CAAC,KAAK;aACnB,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe;gBAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC;gBAC1C,CAAC,CAAC,sBAAsB,CAAC;YAE3B,IAAI,0BAA0B,EAAE,CAAC;gBAC/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE;oBACnF,UAAU;iBACX,CAAC,CAAC;gBACH,IAAI,GAAG,OAAO,CAAC;gBAEf,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;gBACjC,MAAM,IAAA,qCAA2B,EAC/B,WAAW,EACX,IAAI,EACJ,UAAU,EACV,QAAQ,IAAI,GAAG,EACf,cAAc,CAAC,cAAc,CAC9B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAmC,EACnC,OAAuB,EACvB,YAAiC,EACjC,sBAA8B;IAE9B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAErE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,EAAE,GAAG,kCAAkC,CAAC;IAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAmC,EACnC,OAAuB;IAEvB,MAAM,aAAa,GAAG,IAAA,kCAAsB,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAA,kCAAsB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE,8CAA8C;IAC9C,uEAAuE;IACvE,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC/C,CAAC;IAEvB,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACxE,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;IAE3C,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE;QACnE,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,YAAqC;KACpD,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,KAAK,2CAA2C,EAAE,CAAC;QACtF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EACH,8FAA8F;gBAC9F,+CAA+C;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACjE,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,IAAI,OAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtD,gBAAgB,CAAC,MAAuC;YACxD,eAAe,CAAC,MAAsC;SACvD,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,IAAI,aAAa,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAClF,OAAO,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC9F,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACtD,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;QAEnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,kBAAe,IAAA,yBAAa,EAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
* A request to render a Server bundle generate by the universal server builder.
|
|
10
|
+
*/
|
|
11
|
+
interface RenderRequest {
|
|
12
|
+
/**
|
|
13
|
+
* The path to the server bundle that should be loaded and rendered.
|
|
14
|
+
*/
|
|
15
|
+
serverBundlePath: string;
|
|
16
|
+
/**
|
|
17
|
+
* The existing HTML document as a string that will be augmented with the rendered application.
|
|
18
|
+
*/
|
|
19
|
+
document: string;
|
|
20
|
+
/**
|
|
21
|
+
* An optional URL path that represents the Angular route that should be rendered.
|
|
22
|
+
*/
|
|
23
|
+
url: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Renders an application based on a provided server bundle path, initial document, and optional URL route.
|
|
27
|
+
* @param param0 A request to render a server bundle.
|
|
28
|
+
* @returns A promise that resolves to the render HTML document for the application.
|
|
29
|
+
*/
|
|
30
|
+
declare function render({ serverBundlePath, document, url }: RenderRequest): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* The default export will be the promise returned by the initialize function.
|
|
33
|
+
* This is awaited by piscina prior to using the Worker.
|
|
34
|
+
*/
|
|
35
|
+
declare const _default: Promise<typeof render>;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
47
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
48
|
+
/**
|
|
49
|
+
* The fully resolved path to the zone.js package that will be loaded during worker initialization.
|
|
50
|
+
* This is passed as workerData when setting up the worker via the `piscina` package.
|
|
51
|
+
*/
|
|
52
|
+
const { zonePackage } = node_worker_threads_1.workerData;
|
|
53
|
+
/**
|
|
54
|
+
* Renders an application based on a provided server bundle path, initial document, and optional URL route.
|
|
55
|
+
* @param param0 A request to render a server bundle.
|
|
56
|
+
* @returns A promise that resolves to the render HTML document for the application.
|
|
57
|
+
*/
|
|
58
|
+
async function render({ serverBundlePath, document, url }) {
|
|
59
|
+
const { ɵSERVER_CONTEXT, AppServerModule, renderModule, renderApplication, default: bootstrapAppFn, } = (await Promise.resolve(`${serverBundlePath}`).then(s => __importStar(require(s))));
|
|
60
|
+
(0, node_assert_1.default)(ɵSERVER_CONTEXT, `ɵSERVER_CONTEXT was not exported from: ${serverBundlePath}.`);
|
|
61
|
+
const platformProviders = [
|
|
62
|
+
{
|
|
63
|
+
provide: ɵSERVER_CONTEXT,
|
|
64
|
+
useValue: 'app-shell',
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
let renderAppPromise;
|
|
68
|
+
// Render platform server module
|
|
69
|
+
if (isBootstrapFn(bootstrapAppFn)) {
|
|
70
|
+
(0, node_assert_1.default)(renderApplication, `renderApplication was not exported from: ${serverBundlePath}.`);
|
|
71
|
+
renderAppPromise = renderApplication(bootstrapAppFn, {
|
|
72
|
+
document,
|
|
73
|
+
url,
|
|
74
|
+
platformProviders,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
(0, node_assert_1.default)(renderModule, `renderModule was not exported from: ${serverBundlePath}.`);
|
|
79
|
+
const moduleClass = bootstrapAppFn || AppServerModule;
|
|
80
|
+
(0, node_assert_1.default)(moduleClass, `Neither an AppServerModule nor a bootstrapping function was exported from: ${serverBundlePath}.`);
|
|
81
|
+
renderAppPromise = renderModule(moduleClass, {
|
|
82
|
+
document,
|
|
83
|
+
url,
|
|
84
|
+
extraProviders: platformProviders,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// The below should really handled by the framework!!!.
|
|
88
|
+
// See: https://github.com/angular/angular/issues/51549
|
|
89
|
+
let timer;
|
|
90
|
+
const renderingTimeout = new Promise((_, reject) => (timer = setTimeout(() => reject(new Error(`Page ${new URL(url, 'resolve://').pathname} did not render in 30 seconds.`)), 30_000)));
|
|
91
|
+
return Promise.race([renderAppPromise, renderingTimeout]).finally(() => clearTimeout(timer));
|
|
92
|
+
}
|
|
93
|
+
function isBootstrapFn(value) {
|
|
94
|
+
// We can differentiate between a module and a bootstrap function by reading compiler-generated `ɵmod` static property:
|
|
95
|
+
return typeof value === 'function' && !('ɵmod' in value);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Initializes the worker when it is first created by loading the Zone.js package
|
|
99
|
+
* into the worker instance.
|
|
100
|
+
*
|
|
101
|
+
* @returns A promise resolving to the render function of the worker.
|
|
102
|
+
*/
|
|
103
|
+
async function initialize() {
|
|
104
|
+
if (zonePackage) {
|
|
105
|
+
await Promise.resolve(`${zonePackage}`).then(s => __importStar(require(s)));
|
|
106
|
+
}
|
|
107
|
+
// Return the render function for use
|
|
108
|
+
return render;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The default export will be the promise returned by the initialize function.
|
|
112
|
+
* This is awaited by piscina prior to using the Worker.
|
|
113
|
+
*/
|
|
114
|
+
exports.default = initialize();
|
|
115
|
+
//# sourceMappingURL=render-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-worker.js","sourceRoot":"","sources":["render-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,8DAAiC;AACjC,6DAAiD;AAEjD;;;GAGG;AACH,MAAM,EAAE,WAAW,EAAE,GAAG,gCAEvB,CAAC;AAuCF;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAiB;IACtE,MAAM,EACJ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,OAAO,EAAE,cAAc,GACxB,GAAG,CAAC,yBAAa,gBAAgB,uCAAC,CAAwB,CAAC;IAE5D,IAAA,qBAAM,EAAC,eAAe,EAAE,0CAA0C,gBAAgB,GAAG,CAAC,CAAC;IAEvF,MAAM,iBAAiB,GAAqB;QAC1C;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,WAAW;SACtB;KACF,CAAC;IAEF,IAAI,gBAAiC,CAAC;IACtC,gCAAgC;IAChC,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,IAAA,qBAAM,EAAC,iBAAiB,EAAE,4CAA4C,gBAAgB,GAAG,CAAC,CAAC;QAE3F,gBAAgB,GAAG,iBAAiB,CAAC,cAAc,EAAE;YACnD,QAAQ;YACR,GAAG;YACH,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAA,qBAAM,EAAC,YAAY,EAAE,uCAAuC,gBAAgB,GAAG,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,cAAc,IAAI,eAAe,CAAC;QACtD,IAAA,qBAAM,EACJ,WAAW,EACX,8EAA8E,gBAAgB,GAAG,CAClG,CAAC;QAEF,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE;YAC3C,QAAQ;YACR,GAAG;YACH,cAAc,EAAE,iBAAiB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,uDAAuD;IACvD,IAAI,KAAqB,CAAC;IAC1B,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAClC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACZ,CAAC,KAAK,GAAG,UAAU,CACjB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,QAAQ,gCAAgC,CAAC,CACvF,EACH,MAAM,CACP,CAAC,CACL,CAAC;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,aAAa,CACpB,KAAc;IAEd,uHAAuH;IACvH,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW,EAAE,CAAC;QAChB,yBAAa,WAAW,uCAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,kBAAe,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App Shell target options for Build Facade.
|
|
3
|
+
*/
|
|
4
|
+
export type Schema = {
|
|
5
|
+
/**
|
|
6
|
+
* Script that exports the Server AppModule to render. This should be the main JavaScript
|
|
7
|
+
* outputted by the server target. By default we will resolve the outputPath of the
|
|
8
|
+
* serverTarget and find a bundle named 'main' in it (whether or not there's a hash tag).
|
|
9
|
+
*/
|
|
10
|
+
appModuleBundle?: string;
|
|
11
|
+
/**
|
|
12
|
+
* A browser builder target use for rendering the application shell in the format of
|
|
13
|
+
* `project:target[:configuration]`. You can also pass in more than one configuration name
|
|
14
|
+
* as a comma-separated list. Example: `project:target:production,staging`.
|
|
15
|
+
*/
|
|
16
|
+
browserTarget: string;
|
|
17
|
+
/**
|
|
18
|
+
* The input path for the index.html file. By default uses the output index.html of the
|
|
19
|
+
* browser target.
|
|
20
|
+
*/
|
|
21
|
+
inputIndexPath?: string;
|
|
22
|
+
/**
|
|
23
|
+
* The output path of the index.html file. By default will overwrite the input file.
|
|
24
|
+
*/
|
|
25
|
+
outputIndexPath?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The route to render.
|
|
28
|
+
*/
|
|
29
|
+
route?: string;
|
|
30
|
+
/**
|
|
31
|
+
* A server builder target use for rendering the application shell in the format of
|
|
32
|
+
* `project:target[:configuration]`. You can also pass in more than one configuration name
|
|
33
|
+
* as a comma-separated list. Example: `project:target:production,staging`.
|
|
34
|
+
*/
|
|
35
|
+
serverTarget: string;
|
|
36
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
|
|
3
|
+
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"title": "App Shell Target",
|
|
4
|
+
"description": "App Shell target options for Build Facade.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"browserTarget": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "A browser builder target use for rendering the application shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.",
|
|
10
|
+
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
11
|
+
},
|
|
12
|
+
"serverTarget": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "A server builder target use for rendering the application shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.",
|
|
15
|
+
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
16
|
+
},
|
|
17
|
+
"appModuleBundle": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Script that exports the Server AppModule to render. This should be the main JavaScript outputted by the server target. By default we will resolve the outputPath of the serverTarget and find a bundle named 'main' in it (whether or not there's a hash tag)."
|
|
20
|
+
},
|
|
21
|
+
"route": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "The route to render.",
|
|
24
|
+
"default": "/"
|
|
25
|
+
},
|
|
26
|
+
"inputIndexPath": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "The input path for the index.html file. By default uses the output index.html of the browser target."
|
|
29
|
+
},
|
|
30
|
+
"outputIndexPath": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "The output path of the index.html file. By default will overwrite the input file."
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"additionalProperties": false,
|
|
36
|
+
"required": ["browserTarget", "serverTarget"]
|
|
37
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 { IndexHtmlTransform } from '@angular/build/private';
|
|
9
|
+
import { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
|
|
10
|
+
import { WebpackLoggingCallback } from '@angular-devkit/build-webpack';
|
|
11
|
+
import { Observable } from 'rxjs';
|
|
12
|
+
import webpack from 'webpack';
|
|
13
|
+
import { BuildEventStats } from '../../tools/webpack/utils/stats';
|
|
14
|
+
import { ExecutionTransformer } from '../../transforms';
|
|
15
|
+
import { Schema as BrowserBuilderSchema } from './schema';
|
|
16
|
+
/**
|
|
17
|
+
* @experimental Direct usage of this type is considered experimental.
|
|
18
|
+
*/
|
|
19
|
+
export type BrowserBuilderOutput = BuilderOutput & {
|
|
20
|
+
stats: BuildEventStats;
|
|
21
|
+
baseOutputPath: string;
|
|
22
|
+
outputs: {
|
|
23
|
+
locale?: string;
|
|
24
|
+
path: string;
|
|
25
|
+
baseHref?: string;
|
|
26
|
+
}[];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Maximum time in milliseconds for single build/rebuild
|
|
30
|
+
* This accounts for CI variability.
|
|
31
|
+
*/
|
|
32
|
+
export declare const BUILD_TIMEOUT = 30000;
|
|
33
|
+
/**
|
|
34
|
+
* @experimental Direct usage of this function is considered experimental.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildWebpackBrowser(options: BrowserBuilderSchema, context: BuilderContext, transforms?: {
|
|
37
|
+
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
|
|
38
|
+
logging?: WebpackLoggingCallback;
|
|
39
|
+
indexHtml?: IndexHtmlTransform;
|
|
40
|
+
}): Observable<BrowserBuilderOutput>;
|
|
41
|
+
declare const _default: import("@angular-devkit/architect").Builder<BrowserBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
42
|
+
export default _default;
|