@depup/angular__build 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 +39 -0
- package/builders.json +34 -0
- package/changes.json +42 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/package.json +177 -0
- package/private/index.d.ts +8 -0
- package/private/index.js +25 -0
- package/private/index.js.map +1 -0
- package/src/builders/application/build-action.d.ts +29 -0
- package/src/builders/application/build-action.js +355 -0
- package/src/builders/application/build-action.js.map +1 -0
- package/src/builders/application/chunk-optimizer.d.ts +21 -0
- package/src/builders/application/chunk-optimizer.js +278 -0
- package/src/builders/application/chunk-optimizer.js.map +1 -0
- package/src/builders/application/execute-build.d.ts +11 -0
- package/src/builders/application/execute-build.js +250 -0
- package/src/builders/application/execute-build.js.map +1 -0
- package/src/builders/application/execute-post-bundle.d.ts +27 -0
- package/src/builders/application/execute-post-bundle.js +136 -0
- package/src/builders/application/execute-post-bundle.js.map +1 -0
- package/src/builders/application/i18n.d.ts +31 -0
- package/src/builders/application/i18n.js +138 -0
- package/src/builders/application/i18n.js.map +1 -0
- package/src/builders/application/index.d.ts +32 -0
- package/src/builders/application/index.js +253 -0
- package/src/builders/application/index.js.map +1 -0
- package/src/builders/application/options.d.ts +214 -0
- package/src/builders/application/options.js +499 -0
- package/src/builders/application/options.js.map +1 -0
- package/src/builders/application/results.d.ts +73 -0
- package/src/builders/application/results.js +18 -0
- package/src/builders/application/results.js.map +1 -0
- package/src/builders/application/schema.d.ts +650 -0
- package/src/builders/application/schema.js +93 -0
- package/src/builders/application/schema.js.map +1 -0
- package/src/builders/application/schema.json +728 -0
- package/src/builders/application/setup-bundling.d.ts +25 -0
- package/src/builders/application/setup-bundling.js +104 -0
- package/src/builders/application/setup-bundling.js.map +1 -0
- package/src/builders/dev-server/builder.d.ts +31 -0
- package/src/builders/dev-server/builder.js +61 -0
- package/src/builders/dev-server/builder.js.map +1 -0
- package/src/builders/dev-server/index.d.ts +15 -0
- package/src/builders/dev-server/index.js +17 -0
- package/src/builders/dev-server/index.js.map +1 -0
- package/src/builders/dev-server/internal.d.ts +18 -0
- package/src/builders/dev-server/internal.js +28 -0
- package/src/builders/dev-server/internal.js.map +1 -0
- package/src/builders/dev-server/options.d.ts +51 -0
- package/src/builders/dev-server/options.js +104 -0
- package/src/builders/dev-server/options.js.map +1 -0
- package/src/builders/dev-server/output.d.ts +16 -0
- package/src/builders/dev-server/output.js +10 -0
- package/src/builders/dev-server/output.js.map +1 -0
- package/src/builders/dev-server/schema.d.ts +121 -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 +138 -0
- package/src/builders/dev-server/vite/hmr.d.ts +25 -0
- package/src/builders/dev-server/vite/hmr.js +115 -0
- package/src/builders/dev-server/vite/hmr.js.map +1 -0
- package/src/builders/dev-server/vite/index.d.ts +21 -0
- package/src/builders/dev-server/vite/index.js +390 -0
- package/src/builders/dev-server/vite/index.js.map +1 -0
- package/src/builders/dev-server/vite/server.d.ts +15 -0
- package/src/builders/dev-server/vite/server.js +227 -0
- package/src/builders/dev-server/vite/server.js.map +1 -0
- package/src/builders/dev-server/vite/utils.d.ts +36 -0
- package/src/builders/dev-server/vite/utils.js +77 -0
- package/src/builders/dev-server/vite/utils.js.map +1 -0
- package/src/builders/extract-i18n/application-extraction.d.ts +18 -0
- package/src/builders/extract-i18n/application-extraction.js +132 -0
- package/src/builders/extract-i18n/application-extraction.js.map +1 -0
- package/src/builders/extract-i18n/builder.d.ts +14 -0
- package/src/builders/extract-i18n/builder.js +161 -0
- package/src/builders/extract-i18n/builder.js.map +1 -0
- package/src/builders/extract-i18n/index.d.ts +13 -0
- package/src/builders/extract-i18n/index.js +16 -0
- package/src/builders/extract-i18n/index.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/karma/application_builder.d.ts +11 -0
- package/src/builders/karma/application_builder.js +324 -0
- package/src/builders/karma/application_builder.js.map +1 -0
- package/src/builders/karma/assets-middleware.d.ts +26 -0
- package/src/builders/karma/assets-middleware.js +66 -0
- package/src/builders/karma/assets-middleware.js.map +1 -0
- package/src/builders/karma/coverage.d.ts +9 -0
- package/src/builders/karma/coverage.js +32 -0
- package/src/builders/karma/coverage.js.map +1 -0
- package/src/builders/karma/find-tests.d.ts +9 -0
- package/src/builders/karma/find-tests.js +24 -0
- package/src/builders/karma/find-tests.js.map +1 -0
- package/src/builders/karma/index.d.ts +20 -0
- package/src/builders/karma/index.js +54 -0
- package/src/builders/karma/index.js.map +1 -0
- package/src/builders/karma/karma-config.d.ts +11 -0
- package/src/builders/karma/karma-config.js +80 -0
- package/src/builders/karma/karma-config.js.map +1 -0
- package/src/builders/karma/options.d.ts +42 -0
- package/src/builders/karma/options.js +44 -0
- package/src/builders/karma/options.js.map +1 -0
- package/src/builders/karma/polyfills/init_sourcemaps.js +10 -0
- package/src/builders/karma/polyfills/jasmine_global.js +18 -0
- package/src/builders/karma/polyfills/jasmine_global_cleanup.js +14 -0
- package/src/builders/karma/polyfills-plugin.d.ts +13 -0
- package/src/builders/karma/polyfills-plugin.js +75 -0
- package/src/builders/karma/polyfills-plugin.js.map +1 -0
- package/src/builders/karma/progress-reporter.d.ts +17 -0
- package/src/builders/karma/progress-reporter.js +76 -0
- package/src/builders/karma/progress-reporter.js.map +1 -0
- package/src/builders/karma/schema.d.ts +250 -0
- package/src/builders/karma/schema.js +16 -0
- package/src/builders/karma/schema.js.map +1 -0
- package/src/builders/karma/schema.json +348 -0
- package/src/builders/karma/utils.d.ts +17 -0
- package/src/builders/karma/utils.js +67 -0
- package/src/builders/karma/utils.js.map +1 -0
- package/src/builders/ng-packagr/builder.d.ts +19 -0
- package/src/builders/ng-packagr/builder.js +107 -0
- package/src/builders/ng-packagr/builder.js.map +1 -0
- package/src/builders/ng-packagr/index.d.ts +13 -0
- package/src/builders/ng-packagr/index.js +16 -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 +26 -0
- package/src/builders/unit-test/builder.d.ts +15 -0
- package/src/builders/unit-test/builder.js +376 -0
- package/src/builders/unit-test/builder.js.map +1 -0
- package/src/builders/unit-test/index.d.ts +12 -0
- package/src/builders/unit-test/index.js +16 -0
- package/src/builders/unit-test/index.js.map +1 -0
- package/src/builders/unit-test/options.d.ts +53 -0
- package/src/builders/unit-test/options.js +119 -0
- package/src/builders/unit-test/options.js.map +1 -0
- package/src/builders/unit-test/runners/api.d.ts +65 -0
- package/src/builders/unit-test/runners/api.js +10 -0
- package/src/builders/unit-test/runners/api.js.map +1 -0
- package/src/builders/unit-test/runners/dependency-checker.d.ts +43 -0
- package/src/builders/unit-test/runners/dependency-checker.js +83 -0
- package/src/builders/unit-test/runners/dependency-checker.js.map +1 -0
- package/src/builders/unit-test/runners/karma/executor.d.ts +17 -0
- package/src/builders/unit-test/runners/karma/executor.js +164 -0
- package/src/builders/unit-test/runners/karma/executor.js.map +1 -0
- package/src/builders/unit-test/runners/karma/index.d.ts +13 -0
- package/src/builders/unit-test/runners/karma/index.js +44 -0
- package/src/builders/unit-test/runners/karma/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.d.ts +17 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.js +174 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/build-options.d.ts +11 -0
- package/src/builders/unit-test/runners/vitest/build-options.js +169 -0
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/configuration.d.ts +15 -0
- package/src/builders/unit-test/runners/vitest/configuration.js +57 -0
- package/src/builders/unit-test/runners/vitest/configuration.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/executor.d.ts +29 -0
- package/src/builders/unit-test/runners/vitest/executor.js +318 -0
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/index.d.ts +13 -0
- package/src/builders/unit-test/runners/vitest/index.js +69 -0
- package/src/builders/unit-test/runners/vitest/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +32 -0
- package/src/builders/unit-test/runners/vitest/plugins.js +382 -0
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -0
- package/src/builders/unit-test/schema.d.ts +229 -0
- package/src/builders/unit-test/schema.js +25 -0
- package/src/builders/unit-test/schema.js.map +1 -0
- package/src/builders/unit-test/schema.json +280 -0
- package/src/builders/unit-test/test-discovery.d.ts +47 -0
- package/src/builders/unit-test/test-discovery.js +280 -0
- package/src/builders/unit-test/test-discovery.js.map +1 -0
- package/src/index.d.ts +16 -0
- package/src/index.js +25 -0
- package/src/index.js.map +1 -0
- package/src/private.d.ts +57 -0
- package/src/private.js +104 -0
- package/src/private.js.map +1 -0
- package/src/tools/angular/angular-host.d.ts +27 -0
- package/src/tools/angular/angular-host.js +164 -0
- package/src/tools/angular/angular-host.js.map +1 -0
- package/src/tools/angular/compilation/angular-compilation.d.ts +45 -0
- package/src/tools/angular/compilation/angular-compilation.js +104 -0
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -0
- package/src/tools/angular/compilation/aot-compilation.d.ts +26 -0
- package/src/tools/angular/compilation/aot-compilation.js +341 -0
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -0
- package/src/tools/angular/compilation/factory.d.ts +17 -0
- package/src/tools/angular/compilation/factory.js +67 -0
- package/src/tools/angular/compilation/factory.js.map +1 -0
- package/src/tools/angular/compilation/hmr-candidates.d.ts +22 -0
- package/src/tools/angular/compilation/hmr-candidates.js +270 -0
- package/src/tools/angular/compilation/hmr-candidates.js.map +1 -0
- package/src/tools/angular/compilation/index.d.ts +10 -0
- package/src/tools/angular/compilation/index.js +18 -0
- package/src/tools/angular/compilation/index.js.map +1 -0
- package/src/tools/angular/compilation/jit-compilation.d.ts +23 -0
- package/src/tools/angular/compilation/jit-compilation.js +150 -0
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -0
- package/src/tools/angular/compilation/noop-compilation.d.ts +20 -0
- package/src/tools/angular/compilation/noop-compilation.js +27 -0
- package/src/tools/angular/compilation/noop-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-compilation.d.ts +44 -0
- package/src/tools/angular/compilation/parallel-compilation.js +119 -0
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-worker.d.ts +39 -0
- package/src/tools/angular/compilation/parallel-worker.js +102 -0
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.d.ts +10 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js +181 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js.map +1 -0
- package/src/tools/angular/transformers/jit-resource-transformer.d.ts +17 -0
- package/src/tools/angular/transformers/jit-resource-transformer.js +187 -0
- package/src/tools/angular/transformers/jit-resource-transformer.js.map +1 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.d.ts +39 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js +164 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js.map +1 -0
- package/src/tools/angular/transformers/web-worker-transformer.d.ts +17 -0
- package/src/tools/angular/transformers/web-worker-transformer.js +94 -0
- package/src/tools/angular/transformers/web-worker-transformer.js.map +1 -0
- package/src/tools/angular/uri.d.ts +54 -0
- package/src/tools/angular/uri.js +76 -0
- package/src/tools/angular/uri.js.map +1 -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/adjust-static-class-members.d.ts +25 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js +349 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js.map +1 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +21 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js +113 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js.map +1 -0
- package/src/tools/babel/plugins/elide-angular-metadata.d.ts +21 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js +110 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js.map +1 -0
- package/src/tools/babel/plugins/index.d.ts +11 -0
- package/src/tools/babel/plugins/index.js +22 -0
- package/src/tools/babel/plugins/index.js.map +1 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +13 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.js +128 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.js.map +1 -0
- package/src/tools/babel/plugins/types.d.ts +20 -0
- package/src/tools/babel/typings.d.ts +21 -0
- package/src/tools/esbuild/angular/compilation-state.d.ts +15 -0
- package/src/tools/esbuild/angular/compilation-state.js +45 -0
- package/src/tools/esbuild/angular/compilation-state.js.map +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.d.ts +34 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +631 -0
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -0
- package/src/tools/esbuild/angular/component-stylesheets.d.ts +49 -0
- package/src/tools/esbuild/angular/component-stylesheets.js +222 -0
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -0
- package/src/tools/esbuild/angular/diagnostics.d.ts +15 -0
- package/src/tools/esbuild/angular/diagnostics.js +72 -0
- package/src/tools/esbuild/angular/diagnostics.js.map +1 -0
- package/src/tools/esbuild/angular/file-reference-tracker.d.ts +17 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js +58 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js.map +1 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.d.ts +23 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js +120 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js.map +1 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.d.ts +8 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js +28 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js.map +1 -0
- package/src/tools/esbuild/angular/source-file-cache.d.ts +18 -0
- package/src/tools/esbuild/angular/source-file-cache.js +80 -0
- package/src/tools/esbuild/angular/source-file-cache.js.map +1 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.d.ts +16 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js +50 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js.map +1 -0
- package/src/tools/esbuild/application-code-bundle.d.ts +19 -0
- package/src/tools/esbuild/application-code-bundle.js +542 -0
- package/src/tools/esbuild/application-code-bundle.js.map +1 -0
- package/src/tools/esbuild/budget-stats.d.ts +19 -0
- package/src/tools/esbuild/budget-stats.js +67 -0
- package/src/tools/esbuild/budget-stats.js.map +1 -0
- package/src/tools/esbuild/bundler-context.d.ts +80 -0
- package/src/tools/esbuild/bundler-context.js +399 -0
- package/src/tools/esbuild/bundler-context.js.map +1 -0
- package/src/tools/esbuild/bundler-execution-result.d.ts +95 -0
- package/src/tools/esbuild/bundler-execution-result.js +149 -0
- package/src/tools/esbuild/bundler-execution-result.js.map +1 -0
- package/src/tools/esbuild/cache.d.ts +93 -0
- package/src/tools/esbuild/cache.js +100 -0
- package/src/tools/esbuild/cache.js.map +1 -0
- package/src/tools/esbuild/commonjs-checker.d.ts +28 -0
- package/src/tools/esbuild/commonjs-checker.js +151 -0
- package/src/tools/esbuild/commonjs-checker.js.map +1 -0
- package/src/tools/esbuild/compiler-plugin-options.d.ts +14 -0
- package/src/tools/esbuild/compiler-plugin-options.js +30 -0
- package/src/tools/esbuild/compiler-plugin-options.js.map +1 -0
- package/src/tools/esbuild/external-packages-plugin.d.ts +18 -0
- package/src/tools/esbuild/external-packages-plugin.js +97 -0
- package/src/tools/esbuild/external-packages-plugin.js.map +1 -0
- package/src/tools/esbuild/global-scripts.d.ts +16 -0
- package/src/tools/esbuild/global-scripts.js +153 -0
- package/src/tools/esbuild/global-scripts.js.map +1 -0
- package/src/tools/esbuild/global-styles.d.ts +10 -0
- package/src/tools/esbuild/global-styles.js +79 -0
- package/src/tools/esbuild/global-styles.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +77 -0
- package/src/tools/esbuild/i18n-inliner-worker.js +184 -0
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner.d.ts +58 -0
- package/src/tools/esbuild/i18n-inliner.js +266 -0
- package/src/tools/esbuild/i18n-inliner.js.map +1 -0
- package/src/tools/esbuild/i18n-locale-plugin.d.ts +22 -0
- package/src/tools/esbuild/i18n-locale-plugin.js +139 -0
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -0
- package/src/tools/esbuild/index-html-generator.d.ts +15 -0
- package/src/tools/esbuild/index-html-generator.js +91 -0
- package/src/tools/esbuild/index-html-generator.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer-worker.d.ts +20 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +162 -0
- package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer.d.ts +54 -0
- package/src/tools/esbuild/javascript-transformer.js +153 -0
- package/src/tools/esbuild/javascript-transformer.js.map +1 -0
- package/src/tools/esbuild/license-extractor.d.ts +25 -0
- package/src/tools/esbuild/license-extractor.js +158 -0
- package/src/tools/esbuild/license-extractor.js.map +1 -0
- package/src/tools/esbuild/lmdb-cache-store.d.ts +18 -0
- package/src/tools/esbuild/lmdb-cache-store.js +55 -0
- package/src/tools/esbuild/lmdb-cache-store.js.map +1 -0
- package/src/tools/esbuild/load-result-cache.d.ts +21 -0
- package/src/tools/esbuild/load-result-cache.js +76 -0
- package/src/tools/esbuild/load-result-cache.js.map +1 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.d.ts +9 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js +42 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js.map +1 -0
- package/src/tools/esbuild/profiling.d.ts +11 -0
- package/src/tools/esbuild/profiling.js +78 -0
- package/src/tools/esbuild/profiling.js.map +1 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.d.ts +18 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +44 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js.map +1 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.d.ts +22 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js +37 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js.map +1 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.d.ts +17 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +73 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.d.ts +41 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js +66 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.d.ts +25 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js +57 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/css-language.js +16 -0
- package/src/tools/esbuild/stylesheets/css-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +18 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +114 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/less-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/less-language.js +161 -0
- package/src/tools/esbuild/stylesheets/less-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/sass-language.d.ts +10 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +231 -0
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +77 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +333 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js.map +1 -0
- package/src/tools/esbuild/utils.d.ts +58 -0
- package/src/tools/esbuild/utils.js +394 -0
- package/src/tools/esbuild/utils.js.map +1 -0
- package/src/tools/esbuild/virtual-module-plugin.d.ts +33 -0
- package/src/tools/esbuild/virtual-module-plugin.js +43 -0
- package/src/tools/esbuild/virtual-module-plugin.js.map +1 -0
- package/src/tools/esbuild/wasm-plugin.d.ts +28 -0
- package/src/tools/esbuild/wasm-plugin.js +211 -0
- package/src/tools/esbuild/wasm-plugin.js.map +1 -0
- package/src/tools/esbuild/wasm.d.ts +25 -0
- package/src/tools/esbuild/watcher.d.ts +25 -0
- package/src/tools/esbuild/watcher.js +119 -0
- package/src/tools/esbuild/watcher.js.map +1 -0
- package/src/tools/sass/lexer.d.ts +18 -0
- package/src/tools/sass/lexer.js +172 -0
- package/src/tools/sass/lexer.js.map +1 -0
- package/src/tools/sass/rebasing-importer.d.ts +101 -0
- package/src/tools/sass/rebasing-importer.js +333 -0
- package/src/tools/sass/rebasing-importer.js.map +1 -0
- package/src/tools/sass/sass-service.d.ts +67 -0
- package/src/tools/sass/sass-service.js +242 -0
- package/src/tools/sass/sass-service.js.map +1 -0
- package/src/tools/sass/worker.d.ts +63 -0
- package/src/tools/sass/worker.js +202 -0
- package/src/tools/sass/worker.js.map +1 -0
- package/src/tools/vite/middlewares/assets-middleware.d.ts +17 -0
- package/src/tools/vite/middlewares/assets-middleware.js +205 -0
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/base-middleware.d.ts +17 -0
- package/src/tools/vite/middlewares/base-middleware.js +44 -0
- package/src/tools/vite/middlewares/base-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js +53 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/component-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/component-middleware.js +36 -0
- package/src/tools/vite/middlewares/component-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/headers-middleware.d.ts +19 -0
- package/src/tools/vite/middlewares/headers-middleware.js +35 -0
- package/src/tools/vite/middlewares/headers-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/host-check-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/host-check-middleware.js +61 -0
- package/src/tools/vite/middlewares/host-check-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js +42 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index-html-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/index-html-middleware.js +47 -0
- package/src/tools/vite/middlewares/index-html-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index.d.ts +16 -0
- package/src/tools/vite/middlewares/index.js +30 -0
- package/src/tools/vite/middlewares/index.js.map +1 -0
- package/src/tools/vite/middlewares/ssr-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/ssr-middleware.js +129 -0
- package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -0
- package/src/tools/vite/plugins/angular-memory-plugin.d.ts +18 -0
- package/src/tools/vite/plugins/angular-memory-plugin.js +149 -0
- package/src/tools/vite/plugins/angular-memory-plugin.js.map +1 -0
- package/src/tools/vite/plugins/id-prefix-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js +46 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js.map +1 -0
- package/src/tools/vite/plugins/index.d.ts +12 -0
- package/src/tools/vite/plugins/index.js +22 -0
- package/src/tools/vite/plugins/index.js.map +1 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.d.ts +45 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.js +108 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.js.map +1 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.js +92 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.js.map +1 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.js +68 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.js.map +1 -0
- package/src/tools/vite/utils.d.ts +45 -0
- package/src/tools/vite/utils.js +106 -0
- package/src/tools/vite/utils.js.map +1 -0
- package/src/utils/bundle-calculator.d.ts +45 -0
- package/src/utils/bundle-calculator.js +305 -0
- package/src/utils/bundle-calculator.js.map +1 -0
- package/src/utils/check-port.d.ts +8 -0
- package/src/utils/check-port.js +88 -0
- package/src/utils/check-port.js.map +1 -0
- package/src/utils/color.d.ts +9 -0
- package/src/utils/color.js +28 -0
- package/src/utils/color.js.map +1 -0
- package/src/utils/delete-output-dir.d.ts +11 -0
- package/src/utils/delete-output-dir.js +46 -0
- package/src/utils/delete-output-dir.js.map +1 -0
- package/src/utils/environment-options.d.ts +64 -0
- package/src/utils/environment-options.js +150 -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/format-bytes.d.ts +8 -0
- package/src/utils/format-bytes.js +22 -0
- package/src/utils/format-bytes.js.map +1 -0
- package/src/utils/i18n-options.d.ts +36 -0
- package/src/utils/i18n-options.js +208 -0
- package/src/utils/i18n-options.js.map +1 -0
- package/src/utils/index-file/add-event-dispatch-contract.d.ts +8 -0
- package/src/utils/index-file/add-event-dispatch-contract.js +28 -0
- package/src/utils/index-file/add-event-dispatch-contract.js.map +1 -0
- package/src/utils/index-file/augment-index-html.d.ts +40 -0
- package/src/utils/index-file/augment-index-html.js +300 -0
- package/src/utils/index-file/augment-index-html.js.map +1 -0
- package/src/utils/index-file/auto-csp.d.ts +23 -0
- package/src/utils/index-file/auto-csp.js +295 -0
- package/src/utils/index-file/auto-csp.js.map +1 -0
- package/src/utils/index-file/html-rewriting-stream.d.ts +15 -0
- package/src/utils/index-file/html-rewriting-stream.js +60 -0
- package/src/utils/index-file/html-rewriting-stream.js.map +1 -0
- package/src/utils/index-file/index-html-generator.d.ts +61 -0
- package/src/utils/index-file/index-html-generator.js +154 -0
- package/src/utils/index-file/index-html-generator.js.map +1 -0
- package/src/utils/index-file/inline-critical-css.d.ts +25 -0
- package/src/utils/index-file/inline-critical-css.js +193 -0
- package/src/utils/index-file/inline-critical-css.js.map +1 -0
- package/src/utils/index-file/inline-fonts.d.ts +23 -0
- package/src/utils/index-file/inline-fonts.js +240 -0
- package/src/utils/index-file/inline-fonts.js.map +1 -0
- package/src/utils/index-file/ngcm-attribute.d.ts +15 -0
- package/src/utils/index-file/ngcm-attribute.js +38 -0
- package/src/utils/index-file/ngcm-attribute.js.map +1 -0
- package/src/utils/index-file/nonce.d.ts +12 -0
- package/src/utils/index-file/nonce.js +54 -0
- package/src/utils/index-file/nonce.js.map +1 -0
- package/src/utils/index-file/valid-self-closing-tags.d.ts +9 -0
- package/src/utils/index-file/valid-self-closing-tags.js +90 -0
- package/src/utils/index-file/valid-self-closing-tags.js.map +1 -0
- package/src/utils/index.d.ts +11 -0
- package/src/utils/index.js +28 -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/load-proxy-config.d.ts +8 -0
- package/src/utils/load-proxy-config.js +186 -0
- package/src/utils/load-proxy-config.js.map +1 -0
- package/src/utils/load-translations.d.ts +16 -0
- package/src/utils/load-translations.js +93 -0
- package/src/utils/load-translations.js.map +1 -0
- package/src/utils/normalize-asset-patterns.d.ts +11 -0
- package/src/utils/normalize-asset-patterns.js +111 -0
- package/src/utils/normalize-asset-patterns.js.map +1 -0
- package/src/utils/normalize-cache.d.ts +16 -0
- package/src/utils/normalize-cache.js +46 -0
- package/src/utils/normalize-cache.js.map +1 -0
- package/src/utils/normalize-optimization.d.ts +13 -0
- package/src/utils/normalize-optimization.js +42 -0
- package/src/utils/normalize-optimization.js.map +1 -0
- package/src/utils/normalize-source-maps.d.ts +9 -0
- package/src/utils/normalize-source-maps.js +25 -0
- package/src/utils/normalize-source-maps.js.map +1 -0
- package/src/utils/path.d.ts +29 -0
- package/src/utils/path.js +38 -0
- package/src/utils/path.js.map +1 -0
- package/src/utils/postcss-configuration.d.ts +20 -0
- package/src/utils/postcss-configuration.js +86 -0
- package/src/utils/postcss-configuration.js.map +1 -0
- package/src/utils/project-metadata.d.ts +21 -0
- package/src/utils/project-metadata.js +32 -0
- package/src/utils/project-metadata.js.map +1 -0
- package/src/utils/purge-cache.d.ts +10 -0
- package/src/utils/purge-cache.js +40 -0
- package/src/utils/purge-cache.js.map +1 -0
- package/src/utils/resolve-assets.d.ts +18 -0
- package/src/utils/resolve-assets.js +35 -0
- package/src/utils/resolve-assets.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +18 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +125 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.d.ts +8 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +14 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.d.ts +8 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js +14 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -0
- package/src/utils/server-rendering/fetch-patch.d.ts +8 -0
- package/src/utils/server-rendering/fetch-patch.js +64 -0
- package/src/utils/server-rendering/fetch-patch.js.map +1 -0
- package/src/utils/server-rendering/launch-server.d.ts +14 -0
- package/src/utils/server-rendering/launch-server.js +96 -0
- package/src/utils/server-rendering/launch-server.js.map +1 -0
- package/src/utils/server-rendering/load-esm-from-memory.d.ts +27 -0
- package/src/utils/server-rendering/load-esm-from-memory.js +26 -0
- package/src/utils/server-rendering/load-esm-from-memory.js.map +1 -0
- package/src/utils/server-rendering/manifest.d.ts +58 -0
- package/src/utils/server-rendering/manifest.js +177 -0
- package/src/utils/server-rendering/manifest.js.map +1 -0
- package/src/utils/server-rendering/models.d.ts +28 -0
- package/src/utils/server-rendering/models.js +22 -0
- package/src/utils/server-rendering/models.js.map +1 -0
- package/src/utils/server-rendering/prerender.d.ts +39 -0
- package/src/utils/server-rendering/prerender.js +246 -0
- package/src/utils/server-rendering/prerender.js.map +1 -0
- package/src/utils/server-rendering/render-worker.d.ts +23 -0
- package/src/utils/server-rendering/render-worker.js +79 -0
- package/src/utils/server-rendering/render-worker.js.map +1 -0
- package/src/utils/server-rendering/routes-extractor-worker.d.ts +16 -0
- package/src/utils/server-rendering/routes-extractor-worker.js +73 -0
- package/src/utils/server-rendering/routes-extractor-worker.js.map +1 -0
- package/src/utils/server-rendering/utils.d.ts +21 -0
- package/src/utils/server-rendering/utils.js +43 -0
- package/src/utils/server-rendering/utils.js.map +1 -0
- package/src/utils/service-worker.d.ts +23 -0
- package/src/utils/service-worker.js +215 -0
- package/src/utils/service-worker.js.map +1 -0
- package/src/utils/stats-table.d.ts +20 -0
- package/src/utils/stats-table.js +205 -0
- package/src/utils/stats-table.js.map +1 -0
- package/src/utils/supported-browsers.d.ts +10 -0
- package/src/utils/supported-browsers.js +57 -0
- package/src/utils/supported-browsers.js.map +1 -0
- package/src/utils/test-files.d.ts +17 -0
- package/src/utils/test-files.js +83 -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 +81 -0
- package/src/utils/url.js +122 -0
- package/src/utils/url.js.map +1 -0
- package/src/utils/version.d.ts +8 -0
- package/src/utils/version.js +58 -0
- package/src/utils/version.js.map +1 -0
- package/src/utils/worker-pool.d.ts +12 -0
- package/src/utils/worker-pool.js +46 -0
- package/src/utils/worker-pool.js.map +1 -0
|
@@ -0,0 +1,631 @@
|
|
|
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
|
+
exports.createCompilerPlugin = createCompilerPlugin;
|
|
47
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
48
|
+
const node_crypto_1 = require("node:crypto");
|
|
49
|
+
const promises_1 = require("node:fs/promises");
|
|
50
|
+
const path = __importStar(require("node:path"));
|
|
51
|
+
const environment_options_1 = require("../../../utils/environment-options");
|
|
52
|
+
const compilation_1 = require("../../angular/compilation");
|
|
53
|
+
const javascript_transformer_1 = require("../javascript-transformer");
|
|
54
|
+
const load_result_cache_1 = require("../load-result-cache");
|
|
55
|
+
const profiling_1 = require("../profiling");
|
|
56
|
+
const compilation_state_1 = require("./compilation-state");
|
|
57
|
+
const file_reference_tracker_1 = require("./file-reference-tracker");
|
|
58
|
+
const jit_plugin_callbacks_1 = require("./jit-plugin-callbacks");
|
|
59
|
+
const rewrite_bazel_paths_1 = require("./rewrite-bazel-paths");
|
|
60
|
+
// eslint-disable-next-line max-lines-per-function
|
|
61
|
+
function createCompilerPlugin(pluginOptions, compilationOrFactory, stylesheetBundler) {
|
|
62
|
+
return {
|
|
63
|
+
name: 'angular-compiler',
|
|
64
|
+
// eslint-disable-next-line max-lines-per-function
|
|
65
|
+
async setup(build) {
|
|
66
|
+
let setupWarnings = [];
|
|
67
|
+
const preserveSymlinks = build.initialOptions.preserveSymlinks;
|
|
68
|
+
// Initialize a worker pool for JavaScript transformations.
|
|
69
|
+
// Webcontainers currently do not support this persistent cache store.
|
|
70
|
+
let cacheStore;
|
|
71
|
+
if (pluginOptions.sourceFileCache?.persistentCachePath && !process.versions.webcontainer) {
|
|
72
|
+
try {
|
|
73
|
+
const { LmdbCacheStore } = await Promise.resolve().then(() => __importStar(require('../lmdb-cache-store')));
|
|
74
|
+
cacheStore = new LmdbCacheStore(path.join(pluginOptions.sourceFileCache.persistentCachePath, 'angular-compiler.db'));
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
setupWarnings.push({
|
|
78
|
+
text: 'Unable to initialize JavaScript cache storage.',
|
|
79
|
+
location: null,
|
|
80
|
+
notes: [
|
|
81
|
+
// Only show first line of lmdb load error which has platform support listed
|
|
82
|
+
{ text: e?.message.split('\n')[0] ?? `${e}` },
|
|
83
|
+
{
|
|
84
|
+
text: 'This will not affect the build output content but may result in slower builds.',
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const javascriptTransformer = new javascript_transformer_1.JavaScriptTransformer({
|
|
91
|
+
sourcemap: !!pluginOptions.sourcemap,
|
|
92
|
+
thirdPartySourcemaps: pluginOptions.thirdPartySourcemaps,
|
|
93
|
+
advancedOptimizations: pluginOptions.advancedOptimizations,
|
|
94
|
+
jit: pluginOptions.jit || pluginOptions.includeTestMetadata,
|
|
95
|
+
}, environment_options_1.maxWorkers, cacheStore?.createCache('jstransformer'));
|
|
96
|
+
// Setup defines based on the values used by the Angular compiler-cli
|
|
97
|
+
build.initialOptions.define ??= {};
|
|
98
|
+
build.initialOptions.define['ngI18nClosureMode'] ??= 'false';
|
|
99
|
+
// The factory is only relevant for compatibility purposes with the private API.
|
|
100
|
+
// TODO: Update private API in the next major to allow compilation function factory removal here.
|
|
101
|
+
const compilation = typeof compilationOrFactory === 'function'
|
|
102
|
+
? await compilationOrFactory()
|
|
103
|
+
: compilationOrFactory;
|
|
104
|
+
// The in-memory cache of TypeScript file outputs will be used during the build in `onLoad` callbacks for TS files.
|
|
105
|
+
// A string value indicates direct TS/NG output and a Uint8Array indicates fully transformed code.
|
|
106
|
+
const typeScriptFileCache = pluginOptions.sourceFileCache?.typeScriptFileCache ??
|
|
107
|
+
new Map();
|
|
108
|
+
// The resources from component stylesheets and web workers that will be added to the build results output files
|
|
109
|
+
const additionalResults = new Map();
|
|
110
|
+
// Compilation is initially assumed to have errors until emitted
|
|
111
|
+
let hasCompilationErrors = true;
|
|
112
|
+
// Determines if TypeScript should process JavaScript files based on tsconfig `allowJs` option
|
|
113
|
+
let shouldTsIgnoreJs = true;
|
|
114
|
+
// Determines if transpilation should be handle by TypeScript or esbuild
|
|
115
|
+
let useTypeScriptTranspilation = true;
|
|
116
|
+
let sharedTSCompilationState;
|
|
117
|
+
// To fully invalidate files, track resource referenced files and their referencing source
|
|
118
|
+
const referencedFileTracker = new file_reference_tracker_1.FileReferenceTracker();
|
|
119
|
+
// eslint-disable-next-line max-lines-per-function
|
|
120
|
+
build.onStart(async () => {
|
|
121
|
+
sharedTSCompilationState = (0, compilation_state_1.getSharedCompilationState)();
|
|
122
|
+
if (!(compilation instanceof compilation_1.NoopCompilation)) {
|
|
123
|
+
sharedTSCompilationState.markAsInProgress();
|
|
124
|
+
}
|
|
125
|
+
const result = {
|
|
126
|
+
warnings: setupWarnings,
|
|
127
|
+
};
|
|
128
|
+
// Reset debug performance tracking
|
|
129
|
+
(0, profiling_1.resetCumulativeDurations)();
|
|
130
|
+
// Update the reference tracker and generate a full set of modified files for the
|
|
131
|
+
// Angular compiler which does not have direct knowledge of transitive resource
|
|
132
|
+
// dependencies or web worker processing.
|
|
133
|
+
let modifiedFiles;
|
|
134
|
+
if (!(compilation instanceof compilation_1.NoopCompilation) &&
|
|
135
|
+
pluginOptions.sourceFileCache?.modifiedFiles.size) {
|
|
136
|
+
// TODO: Differentiate between changed input files and stale output files
|
|
137
|
+
modifiedFiles = referencedFileTracker.update(pluginOptions.sourceFileCache.modifiedFiles);
|
|
138
|
+
pluginOptions.sourceFileCache.invalidate(modifiedFiles);
|
|
139
|
+
// External runtime styles are invalidated and rebuilt at the beginning of a rebuild to avoid
|
|
140
|
+
// the need to execute the application bundler for component style only changes.
|
|
141
|
+
if (!pluginOptions.externalRuntimeStyles) {
|
|
142
|
+
stylesheetBundler.invalidate(modifiedFiles);
|
|
143
|
+
}
|
|
144
|
+
// Remove any stale additional results based on modified files
|
|
145
|
+
modifiedFiles.forEach((file) => additionalResults.delete(file));
|
|
146
|
+
}
|
|
147
|
+
if (compilation.update && pluginOptions.sourceFileCache?.modifiedFiles.size) {
|
|
148
|
+
await compilation.update(modifiedFiles ?? pluginOptions.sourceFileCache.modifiedFiles);
|
|
149
|
+
}
|
|
150
|
+
// Create Angular compiler host options
|
|
151
|
+
const hostOptions = {
|
|
152
|
+
fileReplacements: pluginOptions.fileReplacements,
|
|
153
|
+
modifiedFiles,
|
|
154
|
+
sourceFileCache: pluginOptions.sourceFileCache,
|
|
155
|
+
async transformStylesheet(data, containingFile, stylesheetFile, order, className) {
|
|
156
|
+
let stylesheetResult;
|
|
157
|
+
let resultSource = stylesheetFile ?? containingFile;
|
|
158
|
+
// Stylesheet file only exists for external stylesheets
|
|
159
|
+
if (stylesheetFile) {
|
|
160
|
+
stylesheetResult = await stylesheetBundler.bundleFile(stylesheetFile);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
stylesheetResult = await stylesheetBundler.bundleInline(data, containingFile,
|
|
164
|
+
// Inline stylesheets from a template style element are always CSS; Otherwise, use default.
|
|
165
|
+
containingFile.endsWith('.html') ? 'css' : undefined,
|
|
166
|
+
// When external runtime styles are enabled, an identifier for the style that does not change
|
|
167
|
+
// based on the content is required to avoid emitted JS code changes. Any JS code changes will
|
|
168
|
+
// invalid the output and force a full page reload for HMR cases. The containing file and order
|
|
169
|
+
// of the style within the containing file is used.
|
|
170
|
+
pluginOptions.externalRuntimeStyles
|
|
171
|
+
? (0, node_crypto_1.createHash)('sha256')
|
|
172
|
+
.update(containingFile)
|
|
173
|
+
.update((order ?? 0).toString())
|
|
174
|
+
.update(className ?? '')
|
|
175
|
+
.digest('hex')
|
|
176
|
+
: undefined);
|
|
177
|
+
// Adjust result source for inline styles.
|
|
178
|
+
// There may be multiple inline styles with the same containing file and to ensure that the results
|
|
179
|
+
// do not overwrite each other the result source identifier needs to be unique for each. The class
|
|
180
|
+
// name and order fields can be used for this. The structure is arbitrary as long as it is unique.
|
|
181
|
+
resultSource += `?class=${className}&order=${order}`;
|
|
182
|
+
}
|
|
183
|
+
(result.warnings ??= []).push(...stylesheetResult.warnings);
|
|
184
|
+
if (stylesheetResult.errors) {
|
|
185
|
+
(result.errors ??= []).push(...stylesheetResult.errors);
|
|
186
|
+
return '';
|
|
187
|
+
}
|
|
188
|
+
const { contents, outputFiles, metafile, referencedFiles } = stylesheetResult;
|
|
189
|
+
additionalResults.set(resultSource, {
|
|
190
|
+
outputFiles,
|
|
191
|
+
metafile,
|
|
192
|
+
});
|
|
193
|
+
if (referencedFiles) {
|
|
194
|
+
referencedFileTracker.add(containingFile, referencedFiles);
|
|
195
|
+
if (stylesheetFile) {
|
|
196
|
+
// Angular AOT compiler needs modified direct resource files to correctly invalidate its analysis
|
|
197
|
+
referencedFileTracker.add(stylesheetFile, referencedFiles);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return contents;
|
|
201
|
+
},
|
|
202
|
+
processWebWorker(workerFile, containingFile) {
|
|
203
|
+
const fullWorkerPath = path.join(path.dirname(containingFile), workerFile);
|
|
204
|
+
// The synchronous API must be used due to the TypeScript compilation currently being
|
|
205
|
+
// fully synchronous and this process callback being called from within a TypeScript
|
|
206
|
+
// transformer.
|
|
207
|
+
const workerResult = bundleWebWorker(build, pluginOptions, fullWorkerPath);
|
|
208
|
+
(result.warnings ??= []).push(...workerResult.warnings);
|
|
209
|
+
if (workerResult.errors.length > 0) {
|
|
210
|
+
(result.errors ??= []).push(...workerResult.errors);
|
|
211
|
+
// Track worker file errors to allow rebuilds on changes
|
|
212
|
+
referencedFileTracker.add(containingFile, workerResult.errors
|
|
213
|
+
.map((error) => error.location?.file)
|
|
214
|
+
.filter((file) => !!file)
|
|
215
|
+
.map((file) => path.join(build.initialOptions.absWorkingDir ?? '', file)));
|
|
216
|
+
additionalResults.set(fullWorkerPath, { errors: result.errors });
|
|
217
|
+
// Return the original path if the build failed
|
|
218
|
+
return workerFile;
|
|
219
|
+
}
|
|
220
|
+
(0, node_assert_1.default)('outputFiles' in workerResult, 'Invalid web worker bundle result.');
|
|
221
|
+
additionalResults.set(fullWorkerPath, {
|
|
222
|
+
outputFiles: workerResult.outputFiles,
|
|
223
|
+
metafile: workerResult.metafile,
|
|
224
|
+
});
|
|
225
|
+
referencedFileTracker.add(containingFile, Object.keys(workerResult.metafile.inputs).map((input) => path.join(build.initialOptions.absWorkingDir ?? '', input)));
|
|
226
|
+
// Return bundled worker file entry name to be used in the built output
|
|
227
|
+
const workerCodeFile = workerResult.outputFiles.find((file) => /^worker-[A-Z0-9]{8}.[cm]?js$/.test(path.basename(file.path)));
|
|
228
|
+
(0, node_assert_1.default)(workerCodeFile, 'Web Worker bundled code file should always be present.');
|
|
229
|
+
const workerCodePath = path.relative(build.initialOptions.outdir ?? '', workerCodeFile.path);
|
|
230
|
+
return workerCodePath.replaceAll('\\', '/');
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
// Initialize the Angular compilation for the current build.
|
|
234
|
+
// In watch mode, previous build state will be reused.
|
|
235
|
+
let referencedFiles;
|
|
236
|
+
let externalStylesheets;
|
|
237
|
+
try {
|
|
238
|
+
const initializationResult = await compilation.initialize(pluginOptions.tsconfig, hostOptions, createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, build.initialOptions.conditions));
|
|
239
|
+
shouldTsIgnoreJs = !initializationResult.compilerOptions.allowJs;
|
|
240
|
+
// Isolated modules option ensures safe non-TypeScript transpilation.
|
|
241
|
+
// Typescript printing support for sourcemaps is not yet integrated.
|
|
242
|
+
useTypeScriptTranspilation =
|
|
243
|
+
!initializationResult.compilerOptions.isolatedModules ||
|
|
244
|
+
!!initializationResult.compilerOptions.sourceMap ||
|
|
245
|
+
!!initializationResult.compilerOptions.inlineSourceMap;
|
|
246
|
+
referencedFiles = initializationResult.referencedFiles;
|
|
247
|
+
externalStylesheets = initializationResult.externalStylesheets;
|
|
248
|
+
if (initializationResult.templateUpdates) {
|
|
249
|
+
// Propagate any template updates
|
|
250
|
+
initializationResult.templateUpdates.forEach((value, key) => pluginOptions.templateUpdates?.set(key, value));
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
(result.errors ??= []).push({
|
|
255
|
+
text: 'Angular compilation initialization failed.',
|
|
256
|
+
location: null,
|
|
257
|
+
notes: [
|
|
258
|
+
{
|
|
259
|
+
text: error instanceof Error ? (error.stack ?? error.message) : `${error}`,
|
|
260
|
+
location: null,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
});
|
|
264
|
+
// Initialization failure prevents further compilation steps
|
|
265
|
+
hasCompilationErrors = true;
|
|
266
|
+
return result;
|
|
267
|
+
}
|
|
268
|
+
if (compilation instanceof compilation_1.NoopCompilation) {
|
|
269
|
+
hasCompilationErrors = await sharedTSCompilationState.waitUntilReady;
|
|
270
|
+
return result;
|
|
271
|
+
}
|
|
272
|
+
if (externalStylesheets) {
|
|
273
|
+
// Process any new external stylesheets
|
|
274
|
+
for (const [stylesheetFile, externalId] of externalStylesheets) {
|
|
275
|
+
await bundleExternalStylesheet(stylesheetBundler, stylesheetFile, externalId, result, additionalResults);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Update TypeScript file output cache for all affected files
|
|
279
|
+
try {
|
|
280
|
+
await (0, profiling_1.profileAsync)('NG_EMIT_TS', async () => {
|
|
281
|
+
for (const { filename, contents } of await compilation.emitAffectedFiles()) {
|
|
282
|
+
typeScriptFileCache.set(path.normalize(filename), contents);
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
(result.errors ??= []).push({
|
|
288
|
+
text: 'Angular compilation emit failed.',
|
|
289
|
+
location: null,
|
|
290
|
+
notes: [
|
|
291
|
+
{
|
|
292
|
+
text: error instanceof Error ? (error.stack ?? error.message) : `${error}`,
|
|
293
|
+
location: null,
|
|
294
|
+
},
|
|
295
|
+
],
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
const diagnostics = await compilation.diagnoseFiles(environment_options_1.useTypeChecking ? compilation_1.DiagnosticModes.All : compilation_1.DiagnosticModes.All & ~compilation_1.DiagnosticModes.Semantic);
|
|
299
|
+
if (diagnostics.errors?.length) {
|
|
300
|
+
(result.errors ??= []).push(...diagnostics.errors);
|
|
301
|
+
}
|
|
302
|
+
if (diagnostics.warnings?.length) {
|
|
303
|
+
(result.warnings ??= []).push(...diagnostics.warnings);
|
|
304
|
+
}
|
|
305
|
+
// Add errors from failed additional results.
|
|
306
|
+
// This must be done after emit to capture latest web worker results.
|
|
307
|
+
for (const { errors } of additionalResults.values()) {
|
|
308
|
+
if (errors) {
|
|
309
|
+
(result.errors ??= []).push(...errors);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// Store referenced files for updated file watching if enabled
|
|
313
|
+
if (pluginOptions.sourceFileCache) {
|
|
314
|
+
pluginOptions.sourceFileCache.referencedFiles = [
|
|
315
|
+
...referencedFiles,
|
|
316
|
+
...referencedFileTracker.referencedFiles,
|
|
317
|
+
];
|
|
318
|
+
}
|
|
319
|
+
hasCompilationErrors = !!result.errors?.length;
|
|
320
|
+
// Reset the setup warnings so that they are only shown during the first build.
|
|
321
|
+
setupWarnings = undefined;
|
|
322
|
+
sharedTSCompilationState.markAsReady(hasCompilationErrors);
|
|
323
|
+
return result;
|
|
324
|
+
});
|
|
325
|
+
build.onLoad({ filter: /\.[cm]?[jt]sx?$/ }, async (args) => {
|
|
326
|
+
const request = (0, rewrite_bazel_paths_1.rewriteForBazel)(path.normalize(pluginOptions.fileReplacements?.[path.normalize(args.path)] ?? args.path));
|
|
327
|
+
const isJS = /\.[cm]?js$/.test(request);
|
|
328
|
+
// Skip TS load attempt if JS TypeScript compilation not enabled and file is JS
|
|
329
|
+
if (shouldTsIgnoreJs && isJS) {
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
// The filename is currently used as a cache key. Since the cache is memory only,
|
|
333
|
+
// the options cannot change and do not need to be represented in the key. If the
|
|
334
|
+
// cache is later stored to disk, then the options that affect transform output
|
|
335
|
+
// would need to be added to the key as well as a check for any change of content.
|
|
336
|
+
let contents = typeScriptFileCache.get(request);
|
|
337
|
+
if (contents === undefined) {
|
|
338
|
+
// If the Angular compilation had errors the file may not have been emitted.
|
|
339
|
+
// To avoid additional errors about missing files, return empty contents.
|
|
340
|
+
if (hasCompilationErrors) {
|
|
341
|
+
return { contents: '', loader: 'js' };
|
|
342
|
+
}
|
|
343
|
+
// No TS result indicates the file is not part of the TypeScript program.
|
|
344
|
+
// If allowJs is enabled and the file is JS then defer to the next load hook.
|
|
345
|
+
if (!shouldTsIgnoreJs && isJS) {
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
const diangosticRoot = build.initialOptions.absWorkingDir ?? '';
|
|
349
|
+
// Evaluate whether the file requires the Angular compiler transpilation.
|
|
350
|
+
// If not, issue a warning but allow bundler to process the file (no type-checking).
|
|
351
|
+
const directContents = await (0, promises_1.readFile)(request, 'utf-8');
|
|
352
|
+
if (!requiresAngularCompiler(directContents)) {
|
|
353
|
+
return {
|
|
354
|
+
warnings: [createMissingFileDiagnostic(request, args.path, diangosticRoot, false)],
|
|
355
|
+
contents,
|
|
356
|
+
loader: 'ts',
|
|
357
|
+
resolveDir: path.dirname(request),
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
// Otherwise return an error
|
|
361
|
+
return {
|
|
362
|
+
errors: [createMissingFileDiagnostic(request, args.path, diangosticRoot, true)],
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
else if (typeof contents === 'string' && (useTypeScriptTranspilation || isJS)) {
|
|
366
|
+
// A string indicates untransformed output from the TS/NG compiler.
|
|
367
|
+
// This step is unneeded when using esbuild transpilation.
|
|
368
|
+
const sideEffects = await hasSideEffects(request);
|
|
369
|
+
const instrumentForCoverage = pluginOptions.instrumentForCoverage?.(request);
|
|
370
|
+
contents = await javascriptTransformer.transformData(request, contents, true /* skipLinker */, sideEffects, instrumentForCoverage);
|
|
371
|
+
// Store as the returned Uint8Array to allow caching the fully transformed code
|
|
372
|
+
typeScriptFileCache.set(request, contents);
|
|
373
|
+
}
|
|
374
|
+
let loader;
|
|
375
|
+
if (useTypeScriptTranspilation || isJS) {
|
|
376
|
+
// TypeScript has transpiled to JS or is already JS
|
|
377
|
+
loader = 'js';
|
|
378
|
+
}
|
|
379
|
+
else if (request.at(-1) === 'x') {
|
|
380
|
+
// TSX and TS have different syntax rules. Only set if input is a TSX file.
|
|
381
|
+
loader = 'tsx';
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
// Otherwise, directly bundle TS
|
|
385
|
+
loader = 'ts';
|
|
386
|
+
}
|
|
387
|
+
return {
|
|
388
|
+
contents,
|
|
389
|
+
loader,
|
|
390
|
+
resolveDir: path.dirname(request),
|
|
391
|
+
};
|
|
392
|
+
});
|
|
393
|
+
build.onLoad({ filter: /\.[cm]?js$/ }, (0, load_result_cache_1.createCachedLoad)(pluginOptions.loadResultCache, async (args) => {
|
|
394
|
+
let request = (0, rewrite_bazel_paths_1.rewriteForBazel)(args.path);
|
|
395
|
+
if (pluginOptions.fileReplacements) {
|
|
396
|
+
const replacement = pluginOptions.fileReplacements[path.normalize(args.path)];
|
|
397
|
+
if (replacement) {
|
|
398
|
+
request = path.normalize(replacement);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return (0, profiling_1.profileAsync)('NG_EMIT_JS*', async () => {
|
|
402
|
+
const sideEffects = await hasSideEffects(request);
|
|
403
|
+
const contents = await javascriptTransformer.transformFile(request, pluginOptions.jit, sideEffects);
|
|
404
|
+
return {
|
|
405
|
+
contents,
|
|
406
|
+
loader: 'js',
|
|
407
|
+
resolveDir: path.dirname(request),
|
|
408
|
+
watchFiles: request !== args.path ? [request] : undefined,
|
|
409
|
+
};
|
|
410
|
+
}, true);
|
|
411
|
+
}));
|
|
412
|
+
// Add a load handler if there are file replacement option entries for JSON files
|
|
413
|
+
if (pluginOptions.fileReplacements &&
|
|
414
|
+
Object.keys(pluginOptions.fileReplacements).some((value) => value.endsWith('.json'))) {
|
|
415
|
+
build.onLoad({ filter: /\.json$/ }, (0, load_result_cache_1.createCachedLoad)(pluginOptions.loadResultCache, async (args) => {
|
|
416
|
+
const replacement = pluginOptions.fileReplacements?.[path.normalize(args.path)];
|
|
417
|
+
if (replacement) {
|
|
418
|
+
return {
|
|
419
|
+
contents: await Promise.resolve().then(() => __importStar(require('node:fs/promises'))).then(({ readFile }) => readFile(path.normalize(replacement))),
|
|
420
|
+
loader: 'json',
|
|
421
|
+
watchFiles: [replacement],
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
// If no replacement defined, let esbuild handle it directly
|
|
425
|
+
return null;
|
|
426
|
+
}));
|
|
427
|
+
}
|
|
428
|
+
// Setup bundling of component templates and stylesheets when in JIT mode
|
|
429
|
+
if (pluginOptions.jit) {
|
|
430
|
+
(0, jit_plugin_callbacks_1.setupJitPluginCallbacks)(build, stylesheetBundler, additionalResults, pluginOptions.loadResultCache);
|
|
431
|
+
}
|
|
432
|
+
build.onEnd((result) => {
|
|
433
|
+
// Ensure other compilations are unblocked if the main compilation throws during start
|
|
434
|
+
sharedTSCompilationState?.markAsReady(hasCompilationErrors);
|
|
435
|
+
for (const { outputFiles, metafile } of additionalResults.values()) {
|
|
436
|
+
// Add any additional output files to the main output files
|
|
437
|
+
if (outputFiles?.length) {
|
|
438
|
+
result.outputFiles?.push(...outputFiles);
|
|
439
|
+
}
|
|
440
|
+
// Combine additional metafiles with main metafile
|
|
441
|
+
if (result.metafile && metafile) {
|
|
442
|
+
// Append the existing object, by appending to it we prevent unnecessary new objections creations with spread
|
|
443
|
+
// mitigating significant performance overhead for large apps.
|
|
444
|
+
// See: https://bugs.chromium.org/p/v8/issues/detail?id=11536
|
|
445
|
+
Object.assign(result.metafile.inputs, metafile.inputs);
|
|
446
|
+
Object.assign(result.metafile.outputs, metafile.outputs);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
(0, profiling_1.logCumulativeDurations)();
|
|
450
|
+
});
|
|
451
|
+
build.onDispose(() => {
|
|
452
|
+
sharedTSCompilationState?.dispose();
|
|
453
|
+
void compilation.close?.();
|
|
454
|
+
void javascriptTransformer.close();
|
|
455
|
+
void cacheStore?.close();
|
|
456
|
+
});
|
|
457
|
+
/**
|
|
458
|
+
* Checks if the file has side-effects when `advancedOptimizations` is enabled.
|
|
459
|
+
*/
|
|
460
|
+
async function hasSideEffects(path) {
|
|
461
|
+
if (!pluginOptions.advancedOptimizations) {
|
|
462
|
+
return undefined;
|
|
463
|
+
}
|
|
464
|
+
const { sideEffects } = await build.resolve(path, {
|
|
465
|
+
kind: 'import-statement',
|
|
466
|
+
resolveDir: build.initialOptions.absWorkingDir ?? '',
|
|
467
|
+
});
|
|
468
|
+
return sideEffects;
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
async function bundleExternalStylesheet(stylesheetBundler, stylesheetFile, externalId, result, additionalResults) {
|
|
474
|
+
const styleResult = await stylesheetBundler.bundleFile(stylesheetFile, externalId);
|
|
475
|
+
(result.warnings ??= []).push(...styleResult.warnings);
|
|
476
|
+
if (styleResult.errors) {
|
|
477
|
+
(result.errors ??= []).push(...styleResult.errors);
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
const { outputFiles, metafile } = styleResult;
|
|
481
|
+
// Clear inputs to prevent triggering a rebuild of the application code for component
|
|
482
|
+
// stylesheet file only changes when the dev server enables the internal-only external
|
|
483
|
+
// stylesheet option. This does not affect builds since only the dev server can enable
|
|
484
|
+
// the internal option.
|
|
485
|
+
metafile.inputs = {};
|
|
486
|
+
additionalResults.set(stylesheetFile, {
|
|
487
|
+
outputFiles,
|
|
488
|
+
metafile,
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, customConditions) {
|
|
493
|
+
return (compilerOptions) => {
|
|
494
|
+
// target of 9 is ES2022 (using the number avoids an expensive import of typescript just for an enum)
|
|
495
|
+
if (compilerOptions.target === undefined || compilerOptions.target < 9 /** ES2022 */) {
|
|
496
|
+
// If 'useDefineForClassFields' is already defined in the users project leave the value as is.
|
|
497
|
+
// Otherwise fallback to false due to https://github.com/microsoft/TypeScript/issues/45995
|
|
498
|
+
// which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well.
|
|
499
|
+
compilerOptions.target = 9 /** ES2022 */;
|
|
500
|
+
compilerOptions.useDefineForClassFields ??= false;
|
|
501
|
+
// Only add the warning on the initial build
|
|
502
|
+
setupWarnings?.push({
|
|
503
|
+
text: `TypeScript compiler options 'target' and 'useDefineForClassFields' are set to 'ES2022' and ` +
|
|
504
|
+
`'false' respectively by the Angular CLI.`,
|
|
505
|
+
location: { file: pluginOptions.tsconfig },
|
|
506
|
+
notes: [
|
|
507
|
+
{
|
|
508
|
+
text: 'To control ECMA version and features use the Browserslist configuration. ' +
|
|
509
|
+
'For more information, see https://angular.dev/tools/cli/build#configuring-browser-compatibility',
|
|
510
|
+
},
|
|
511
|
+
],
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
if (compilerOptions.compilationMode === 'partial') {
|
|
515
|
+
setupWarnings?.push({
|
|
516
|
+
text: 'Angular partial compilation mode is not supported when building applications.',
|
|
517
|
+
location: null,
|
|
518
|
+
notes: [{ text: 'Full compilation mode will be used instead.' }],
|
|
519
|
+
});
|
|
520
|
+
compilerOptions.compilationMode = 'full';
|
|
521
|
+
}
|
|
522
|
+
// Enable incremental compilation by default if caching is enabled and incremental is not explicitly disabled
|
|
523
|
+
if (compilerOptions.incremental !== false &&
|
|
524
|
+
pluginOptions.sourceFileCache?.persistentCachePath) {
|
|
525
|
+
compilerOptions.incremental = true;
|
|
526
|
+
// Set the build info file location to the configured cache directory
|
|
527
|
+
compilerOptions.tsBuildInfoFile = path.join(pluginOptions.sourceFileCache?.persistentCachePath, '.tsbuildinfo');
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
compilerOptions.incremental = false;
|
|
531
|
+
}
|
|
532
|
+
if (compilerOptions.module === undefined || compilerOptions.module < 5 /** ES2015 */) {
|
|
533
|
+
compilerOptions.module = 7; /** ES2022 */
|
|
534
|
+
setupWarnings?.push({
|
|
535
|
+
text: `TypeScript compiler options 'module' values 'CommonJS', 'UMD', 'System' and 'AMD' are not supported.`,
|
|
536
|
+
location: null,
|
|
537
|
+
notes: [{ text: `The 'module' option will be set to 'ES2022' instead.` }],
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
if (compilerOptions.isolatedModules && compilerOptions.emitDecoratorMetadata) {
|
|
541
|
+
setupWarnings?.push({
|
|
542
|
+
text: `TypeScript compiler option 'isolatedModules' may prevent the 'emitDecoratorMetadata' option from emitting all metadata.`,
|
|
543
|
+
location: null,
|
|
544
|
+
notes: [
|
|
545
|
+
{
|
|
546
|
+
text: `The 'emitDecoratorMetadata' option is not required by Angular` +
|
|
547
|
+
'and can be removed if not explictly required by the project.',
|
|
548
|
+
},
|
|
549
|
+
],
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
// Synchronize custom resolve conditions.
|
|
553
|
+
// Set if using the supported bundler resolution mode (bundler is the default in new projects)
|
|
554
|
+
if (compilerOptions.moduleResolution === 100 /* ModuleResolutionKind.Bundler */ ||
|
|
555
|
+
compilerOptions.module === 200 /** ModuleKind.Preserve */) {
|
|
556
|
+
compilerOptions.customConditions = customConditions;
|
|
557
|
+
}
|
|
558
|
+
return {
|
|
559
|
+
...compilerOptions,
|
|
560
|
+
noEmitOnError: false,
|
|
561
|
+
composite: false,
|
|
562
|
+
inlineSources: !!pluginOptions.sourcemap,
|
|
563
|
+
inlineSourceMap: !!pluginOptions.sourcemap,
|
|
564
|
+
sourceMap: undefined,
|
|
565
|
+
mapRoot: undefined,
|
|
566
|
+
sourceRoot: undefined,
|
|
567
|
+
preserveSymlinks,
|
|
568
|
+
externalRuntimeStyles: pluginOptions.externalRuntimeStyles,
|
|
569
|
+
_enableHmr: !!pluginOptions.templateUpdates,
|
|
570
|
+
supportTestBed: !!pluginOptions.includeTestMetadata,
|
|
571
|
+
supportJitMode: !!pluginOptions.includeTestMetadata,
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
function bundleWebWorker(build, pluginOptions, workerFile) {
|
|
576
|
+
try {
|
|
577
|
+
return build.esbuild.buildSync({
|
|
578
|
+
...build.initialOptions,
|
|
579
|
+
platform: 'browser',
|
|
580
|
+
write: false,
|
|
581
|
+
bundle: true,
|
|
582
|
+
metafile: true,
|
|
583
|
+
format: 'esm',
|
|
584
|
+
entryNames: 'worker-[hash]',
|
|
585
|
+
entryPoints: [workerFile],
|
|
586
|
+
sourcemap: pluginOptions.sourcemap,
|
|
587
|
+
// Zone.js is not used in Web workers so no need to disable
|
|
588
|
+
supported: undefined,
|
|
589
|
+
// Plugins are not supported in sync esbuild calls
|
|
590
|
+
plugins: undefined,
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
catch (error) {
|
|
594
|
+
if (error && typeof error === 'object' && 'errors' in error && 'warnings' in error) {
|
|
595
|
+
return error;
|
|
596
|
+
}
|
|
597
|
+
throw error;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
function createMissingFileDiagnostic(request, original, root, angular) {
|
|
601
|
+
const relativeRequest = path.relative(root, request);
|
|
602
|
+
const notes = [];
|
|
603
|
+
if (angular) {
|
|
604
|
+
notes.push({
|
|
605
|
+
text: `Files containing Angular metadata ('@Component'/'@Directive'/etc.) must be part of the TypeScript compilation.` +
|
|
606
|
+
` You can ensure the file is part of the TypeScript program via the 'files' or 'include' property.`,
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
else {
|
|
610
|
+
notes.push({
|
|
611
|
+
text: `The file will be bundled and included in the output but will not be type-checked at build time.` +
|
|
612
|
+
` To remove this message you can add the file to the TypeScript program via the 'files' or 'include' property.`,
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
const relativeOriginal = path.relative(root, original);
|
|
616
|
+
if (relativeRequest !== relativeOriginal) {
|
|
617
|
+
notes.push({
|
|
618
|
+
text: `File is requested from a file replacement of '${relativeOriginal}'.`,
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
const diagnostic = {
|
|
622
|
+
text: `File '${relativeRequest}' not found in TypeScript compilation.`,
|
|
623
|
+
notes,
|
|
624
|
+
};
|
|
625
|
+
return diagnostic;
|
|
626
|
+
}
|
|
627
|
+
const POTENTIAL_METADATA_REGEX = /@angular\/core|@Component|@Directive|@Injectable|@Pipe|@NgModule/;
|
|
628
|
+
function requiresAngularCompiler(contents) {
|
|
629
|
+
return POTENTIAL_METADATA_REGEX.test(contents);
|
|
630
|
+
}
|
|
631
|
+
//# sourceMappingURL=compiler-plugin.js.map
|