@angular/build 21.0.0-next.1 → 21.0.0-next.10
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/index.js +1 -0
- package/index.js.map +1 -0
- package/package.json +18 -18
- package/private/index.js +1 -0
- package/private/index.js.map +1 -0
- package/src/builders/application/build-action.js +1 -0
- package/src/builders/application/build-action.js.map +1 -0
- package/src/builders/application/chunk-optimizer.js +1 -0
- package/src/builders/application/chunk-optimizer.js.map +1 -0
- package/src/builders/application/execute-build.js +1 -0
- package/src/builders/application/execute-build.js.map +1 -0
- package/src/builders/application/execute-post-bundle.js +1 -0
- package/src/builders/application/execute-post-bundle.js.map +1 -0
- package/src/builders/application/i18n.js +1 -0
- package/src/builders/application/i18n.js.map +1 -0
- package/src/builders/application/index.js +42 -1
- package/src/builders/application/index.js.map +1 -0
- package/src/builders/application/options.d.ts +4 -1
- package/src/builders/application/options.js +1 -0
- package/src/builders/application/options.js.map +1 -0
- package/src/builders/application/results.js +1 -0
- package/src/builders/application/results.js.map +1 -0
- package/src/builders/application/schema.d.ts +14 -1
- package/src/builders/application/schema.js +7 -0
- package/src/builders/application/schema.js.map +1 -0
- package/src/builders/application/schema.json +2 -2
- package/src/builders/application/setup-bundling.js +1 -0
- package/src/builders/application/setup-bundling.js.map +1 -0
- package/src/builders/dev-server/builder.js +1 -0
- package/src/builders/dev-server/builder.js.map +1 -0
- package/src/builders/dev-server/index.js +1 -0
- package/src/builders/dev-server/index.js.map +1 -0
- package/src/builders/dev-server/internal.js +1 -0
- package/src/builders/dev-server/internal.js.map +1 -0
- package/src/builders/dev-server/options.d.ts +3 -0
- package/src/builders/dev-server/options.js +3 -1
- package/src/builders/dev-server/options.js.map +1 -0
- package/src/builders/dev-server/output.js +1 -0
- package/src/builders/dev-server/output.js.map +1 -0
- package/src/builders/dev-server/schema.d.ts +9 -0
- package/src/builders/dev-server/schema.js +1 -0
- package/src/builders/dev-server/schema.js.map +1 -0
- package/src/builders/dev-server/schema.json +7 -0
- package/src/builders/dev-server/vite/hmr.js +1 -0
- package/src/builders/dev-server/vite/hmr.js.map +1 -0
- package/src/builders/dev-server/vite/index.js +14 -5
- package/src/builders/dev-server/vite/index.js.map +1 -0
- package/src/builders/dev-server/vite/server.js +2 -4
- package/src/builders/dev-server/vite/server.js.map +1 -0
- package/src/builders/dev-server/vite/utils.js +1 -0
- package/src/builders/dev-server/vite/utils.js.map +1 -0
- package/src/builders/extract-i18n/application-extraction.js +1 -0
- package/src/builders/extract-i18n/application-extraction.js.map +1 -0
- package/src/builders/extract-i18n/builder.js +2 -3
- package/src/builders/extract-i18n/builder.js.map +1 -0
- package/src/builders/extract-i18n/index.js +1 -0
- package/src/builders/extract-i18n/index.js.map +1 -0
- package/src/builders/extract-i18n/options.js +1 -0
- package/src/builders/extract-i18n/options.js.map +1 -0
- package/src/builders/extract-i18n/schema.js +1 -0
- package/src/builders/extract-i18n/schema.js.map +1 -0
- package/src/builders/karma/application_builder.d.ts +0 -2
- package/src/builders/karma/application_builder.js +52 -352
- 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 +1 -8
- package/src/builders/karma/find-tests.js +7 -102
- package/src/builders/karma/find-tests.js.map +1 -0
- package/src/builders/karma/index.js +1 -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.js +1 -0
- package/src/builders/karma/options.js.map +1 -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.js +1 -0
- package/src/builders/karma/schema.js.map +1 -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.js +1 -0
- package/src/builders/ng-packagr/builder.js.map +1 -0
- package/src/builders/ng-packagr/index.js +1 -0
- package/src/builders/ng-packagr/index.js.map +1 -0
- package/src/builders/ng-packagr/schema.js +1 -0
- package/src/builders/ng-packagr/schema.js.map +1 -0
- package/src/builders/unit-test/builder.js +158 -44
- package/src/builders/unit-test/builder.js.map +1 -0
- package/src/builders/unit-test/index.js +1 -0
- package/src/builders/unit-test/index.js.map +1 -0
- package/src/builders/unit-test/options.d.ts +25 -6
- package/src/builders/unit-test/options.js +61 -13
- package/src/builders/unit-test/options.js.map +1 -0
- package/src/builders/unit-test/runners/api.d.ts +19 -1
- package/src/builders/unit-test/runners/api.js +1 -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.js +72 -5
- package/src/builders/unit-test/runners/karma/executor.js.map +1 -0
- package/src/builders/unit-test/runners/karma/index.js +18 -0
- package/src/builders/unit-test/runners/karma/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.d.ts +8 -3
- package/src/builders/unit-test/runners/vitest/browser-provider.js +71 -17
- package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/build-options.js +48 -9
- 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 +6 -4
- package/src/builders/unit-test/runners/vitest/executor.js +169 -115
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/index.js +25 -2
- package/src/builders/unit-test/runners/vitest/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +23 -0
- package/src/builders/unit-test/runners/vitest/plugins.js +141 -0
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -0
- package/src/builders/unit-test/schema.d.ts +163 -39
- package/src/builders/unit-test/schema.js +14 -13
- package/src/builders/unit-test/schema.js.map +1 -0
- package/src/builders/unit-test/schema.json +186 -40
- package/src/builders/unit-test/test-discovery.d.ts +29 -1
- package/src/builders/unit-test/test-discovery.js +215 -5
- package/src/builders/unit-test/test-discovery.js.map +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -0
- package/src/private.js +1 -0
- package/src/private.js.map +1 -0
- package/src/tools/angular/angular-host.js +1 -0
- package/src/tools/angular/angular-host.js.map +1 -0
- package/src/tools/angular/compilation/angular-compilation.js +2 -5
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -0
- package/src/tools/angular/compilation/aot-compilation.js +1 -0
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -0
- package/src/tools/angular/compilation/factory.js +1 -0
- package/src/tools/angular/compilation/factory.js.map +1 -0
- package/src/tools/angular/compilation/hmr-candidates.js +1 -0
- package/src/tools/angular/compilation/hmr-candidates.js.map +1 -0
- package/src/tools/angular/compilation/index.js +1 -0
- package/src/tools/angular/compilation/index.js.map +1 -0
- package/src/tools/angular/compilation/jit-compilation.js +35 -2
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -0
- package/src/tools/angular/compilation/noop-compilation.js +1 -0
- package/src/tools/angular/compilation/noop-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-compilation.js +1 -0
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-worker.js +1 -0
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js +2 -1
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js.map +1 -0
- package/src/tools/angular/transformers/jit-resource-transformer.js +2 -1
- package/src/tools/angular/transformers/jit-resource-transformer.js.map +1 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js +1 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js.map +1 -0
- package/src/tools/angular/transformers/web-worker-transformer.js +1 -0
- package/src/tools/angular/transformers/web-worker-transformer.js.map +1 -0
- package/src/tools/angular/uri.js +1 -0
- package/src/tools/angular/uri.js.map +1 -0
- package/src/tools/babel/plugins/add-code-coverage.js +1 -0
- package/src/tools/babel/plugins/add-code-coverage.js.map +1 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js +1 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js.map +1 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js +1 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js.map +1 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js +1 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js.map +1 -0
- package/src/tools/babel/plugins/index.js +1 -0
- package/src/tools/babel/plugins/index.js.map +1 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +0 -1
- package/src/tools/babel/plugins/pure-toplevel-functions.js +22 -5
- package/src/tools/babel/plugins/pure-toplevel-functions.js.map +1 -0
- package/src/tools/esbuild/angular/compilation-state.js +1 -0
- package/src/tools/esbuild/angular/compilation-state.js.map +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +39 -14
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -0
- package/src/tools/esbuild/angular/component-stylesheets.js +1 -0
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -0
- package/src/tools/esbuild/angular/diagnostics.js +1 -0
- package/src/tools/esbuild/angular/diagnostics.js.map +1 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js +1 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js.map +1 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js +1 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js.map +1 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js +1 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js.map +1 -0
- package/src/tools/esbuild/angular/source-file-cache.js +1 -0
- package/src/tools/esbuild/angular/source-file-cache.js.map +1 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js +1 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js.map +1 -0
- package/src/tools/esbuild/application-code-bundle.js +2 -1
- package/src/tools/esbuild/application-code-bundle.js.map +1 -0
- package/src/tools/esbuild/budget-stats.js +1 -0
- package/src/tools/esbuild/budget-stats.js.map +1 -0
- package/src/tools/esbuild/bundler-context.js +1 -0
- package/src/tools/esbuild/bundler-context.js.map +1 -0
- package/src/tools/esbuild/bundler-execution-result.js +1 -0
- package/src/tools/esbuild/bundler-execution-result.js.map +1 -0
- package/src/tools/esbuild/cache.js +1 -0
- package/src/tools/esbuild/cache.js.map +1 -0
- package/src/tools/esbuild/commonjs-checker.js +1 -0
- package/src/tools/esbuild/commonjs-checker.js.map +1 -0
- package/src/tools/esbuild/compiler-plugin-options.js +1 -0
- package/src/tools/esbuild/compiler-plugin-options.js.map +1 -0
- package/src/tools/esbuild/external-packages-plugin.js +1 -0
- package/src/tools/esbuild/external-packages-plugin.js.map +1 -0
- package/src/tools/esbuild/global-scripts.js +1 -0
- package/src/tools/esbuild/global-scripts.js.map +1 -0
- package/src/tools/esbuild/global-styles.js +1 -0
- package/src/tools/esbuild/global-styles.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner-worker.js +35 -2
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner.js +1 -0
- package/src/tools/esbuild/i18n-inliner.js.map +1 -0
- package/src/tools/esbuild/i18n-locale-plugin.js +34 -15
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -0
- package/src/tools/esbuild/index-html-generator.js +1 -0
- package/src/tools/esbuild/index-html-generator.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +5 -10
- package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer.js +1 -0
- package/src/tools/esbuild/javascript-transformer.js.map +1 -0
- package/src/tools/esbuild/license-extractor.js +1 -0
- package/src/tools/esbuild/license-extractor.js.map +1 -0
- package/src/tools/esbuild/lmdb-cache-store.js +1 -0
- package/src/tools/esbuild/lmdb-cache-store.js.map +1 -0
- package/src/tools/esbuild/load-result-cache.js +1 -0
- package/src/tools/esbuild/load-result-cache.js.map +1 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js +1 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js.map +1 -0
- package/src/tools/esbuild/profiling.js +1 -0
- package/src/tools/esbuild/profiling.js.map +1 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +1 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js.map +1 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js +1 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js.map +1 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +1 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.d.ts +4 -1
- package/src/tools/esbuild/stylesheets/bundle-options.js +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js +1 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-language.js +1 -0
- package/src/tools/esbuild/stylesheets/css-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +1 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/less-language.js +3 -26
- package/src/tools/esbuild/stylesheets/less-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +1 -0
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +4 -1
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +8 -3
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js.map +1 -0
- package/src/tools/esbuild/utils.js +1 -0
- package/src/tools/esbuild/utils.js.map +1 -0
- package/src/tools/esbuild/virtual-module-plugin.js +1 -0
- package/src/tools/esbuild/virtual-module-plugin.js.map +1 -0
- package/src/tools/esbuild/wasm-plugin.js +1 -0
- package/src/tools/esbuild/wasm-plugin.js.map +1 -0
- package/src/tools/esbuild/watcher.js +1 -0
- package/src/tools/esbuild/watcher.js.map +1 -0
- package/src/tools/sass/lexer.js +1 -0
- package/src/tools/sass/lexer.js.map +1 -0
- package/src/tools/sass/rebasing-importer.js +1 -0
- package/src/tools/sass/rebasing-importer.js.map +1 -0
- package/src/tools/sass/sass-service.js +1 -0
- package/src/tools/sass/sass-service.js.map +1 -0
- package/src/tools/sass/worker.js +1 -0
- package/src/tools/sass/worker.js.map +1 -0
- package/src/tools/vite/middlewares/assets-middleware.d.ts +2 -0
- package/src/tools/vite/middlewares/assets-middleware.js +32 -0
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js +1 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/component-middleware.js +1 -0
- package/src/tools/vite/middlewares/component-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/headers-middleware.js +1 -0
- package/src/tools/vite/middlewares/headers-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js +1 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index-html-middleware.js +1 -0
- package/src/tools/vite/middlewares/index-html-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index.js +1 -0
- package/src/tools/vite/middlewares/index.js.map +1 -0
- package/src/tools/vite/middlewares/ssr-middleware.js +42 -5
- package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -0
- package/src/tools/vite/plugins/angular-memory-plugin.js +35 -2
- package/src/tools/vite/plugins/angular-memory-plugin.js.map +1 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js +1 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js.map +1 -0
- package/src/tools/vite/plugins/index.d.ts +0 -1
- package/src/tools/vite/plugins/index.js +2 -3
- package/src/tools/vite/plugins/index.js.map +1 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.js +35 -2
- package/src/tools/vite/plugins/setup-middlewares-plugin.js.map +1 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.js +35 -2
- package/src/tools/vite/plugins/ssr-transform-plugin.js.map +1 -0
- package/src/tools/vite/utils.js +1 -0
- package/src/tools/vite/utils.js.map +1 -0
- package/src/utils/bundle-calculator.js +1 -0
- package/src/utils/bundle-calculator.js.map +1 -0
- package/src/utils/check-port.js +1 -0
- package/src/utils/check-port.js.map +1 -0
- package/src/utils/color.js +1 -0
- package/src/utils/color.js.map +1 -0
- package/src/utils/delete-output-dir.js +1 -0
- package/src/utils/delete-output-dir.js.map +1 -0
- package/src/utils/environment-options.d.ts +1 -0
- package/src/utils/environment-options.js +7 -1
- package/src/utils/environment-options.js.map +1 -0
- package/src/utils/error.js +1 -0
- package/src/utils/error.js.map +1 -0
- package/src/utils/format-bytes.js +1 -0
- package/src/utils/format-bytes.js.map +1 -0
- package/src/utils/i18n-options.js +1 -0
- package/src/utils/i18n-options.js.map +1 -0
- package/src/utils/index-file/add-event-dispatch-contract.js +1 -0
- package/src/utils/index-file/add-event-dispatch-contract.js.map +1 -0
- package/src/utils/index-file/augment-index-html.js +35 -2
- package/src/utils/index-file/augment-index-html.js.map +1 -0
- package/src/utils/index-file/auto-csp.js +1 -0
- package/src/utils/index-file/auto-csp.js.map +1 -0
- package/src/utils/index-file/html-rewriting-stream.js +35 -2
- package/src/utils/index-file/html-rewriting-stream.js.map +1 -0
- package/src/utils/index-file/index-html-generator.js +1 -0
- package/src/utils/index-file/index-html-generator.js.map +1 -0
- package/src/utils/index-file/inline-critical-css.js +1 -0
- package/src/utils/index-file/inline-critical-css.js.map +1 -0
- package/src/utils/index-file/inline-fonts.js +1 -0
- package/src/utils/index-file/inline-fonts.js.map +1 -0
- package/src/utils/index-file/ngcm-attribute.js +1 -0
- package/src/utils/index-file/ngcm-attribute.js.map +1 -0
- package/src/utils/index-file/nonce.js +1 -0
- package/src/utils/index-file/nonce.js.map +1 -0
- package/src/utils/index-file/valid-self-closing-tags.js +1 -0
- package/src/utils/index-file/valid-self-closing-tags.js.map +1 -0
- package/src/utils/index.js +1 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/load-esm.js +1 -0
- package/src/utils/load-esm.js.map +1 -0
- package/src/utils/load-proxy-config.js +8 -21
- package/src/utils/load-proxy-config.js.map +1 -0
- package/src/utils/load-translations.js +2 -2
- package/src/utils/load-translations.js.map +1 -0
- package/src/utils/normalize-asset-patterns.js +1 -0
- package/src/utils/normalize-asset-patterns.js.map +1 -0
- package/src/utils/normalize-cache.js +2 -1
- package/src/utils/normalize-cache.js.map +1 -0
- package/src/utils/normalize-optimization.js +1 -0
- package/src/utils/normalize-optimization.js.map +1 -0
- package/src/utils/normalize-source-maps.js +1 -0
- package/src/utils/normalize-source-maps.js.map +1 -0
- package/src/utils/path.js +1 -0
- package/src/utils/path.js.map +1 -0
- package/src/utils/postcss-configuration.d.ts +4 -1
- package/src/utils/postcss-configuration.js +3 -2
- package/src/utils/postcss-configuration.js.map +1 -0
- package/src/utils/project-metadata.js +1 -0
- package/src/utils/project-metadata.js.map +1 -0
- package/src/utils/purge-cache.js +1 -0
- package/src/utils/purge-cache.js.map +1 -0
- package/src/utils/resolve-assets.js +1 -0
- package/src/utils/resolve-assets.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +3 -13
- 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.js +1 -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.js +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -0
- package/src/utils/server-rendering/fetch-patch.js +1 -0
- package/src/utils/server-rendering/fetch-patch.js.map +1 -0
- package/src/utils/server-rendering/launch-server.js +37 -2
- package/src/utils/server-rendering/launch-server.js.map +1 -0
- package/src/utils/server-rendering/load-esm-from-memory.d.ts +2 -1
- package/src/utils/server-rendering/load-esm-from-memory.js +1 -0
- package/src/utils/server-rendering/load-esm-from-memory.js.map +1 -0
- package/src/utils/server-rendering/manifest.js +1 -0
- package/src/utils/server-rendering/manifest.js.map +1 -0
- package/src/utils/server-rendering/models.js +1 -0
- package/src/utils/server-rendering/models.js.map +1 -0
- package/src/utils/server-rendering/prerender.js +3 -25
- package/src/utils/server-rendering/prerender.js.map +1 -0
- package/src/utils/server-rendering/render-worker.js +43 -1
- package/src/utils/server-rendering/render-worker.js.map +1 -0
- package/src/utils/server-rendering/routes-extractor-worker.js +37 -0
- package/src/utils/server-rendering/routes-extractor-worker.js.map +1 -0
- package/src/utils/server-rendering/utils.d.ts +11 -1
- package/src/utils/server-rendering/utils.js +26 -0
- package/src/utils/server-rendering/utils.js.map +1 -0
- package/src/utils/service-worker.d.ts +1 -1
- package/src/utils/service-worker.js +4 -6
- package/src/utils/service-worker.js.map +1 -0
- package/src/utils/stats-table.js +1 -0
- package/src/utils/stats-table.js.map +1 -0
- package/src/utils/supported-browsers.js +8 -3
- 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.js +1 -0
- package/src/utils/tty.js.map +1 -0
- package/src/utils/url.js +1 -0
- package/src/utils/url.js.map +1 -0
- package/src/utils/version.js +1 -0
- package/src/utils/version.js.map +1 -0
- package/src/utils/worker-pool.js +1 -0
- package/src/utils/worker-pool.js.map +1 -0
- package/.browserslistrc +0 -7
- package/src/tools/vite/plugins/i18n-locale-plugin.d.ts +0 -14
- package/src/tools/vite/plugins/i18n-locale-plugin.js +0 -54
- package/src/typings.d.ts +0 -19
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.createInstrumentationFilter = createInstrumentationFilter;
|
|
14
|
+
exports.getInstrumentationExcludedPaths = getInstrumentationExcludedPaths;
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
17
|
+
function createInstrumentationFilter(includedBasePath, excludedPaths) {
|
|
18
|
+
return (request) => {
|
|
19
|
+
return (!excludedPaths.has(request) &&
|
|
20
|
+
!/\.(e2e|spec)\.tsx?$|[\\/]node_modules[\\/]|[\\/]\.angular[\\/]/.test(request) &&
|
|
21
|
+
request.startsWith(includedBasePath));
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function getInstrumentationExcludedPaths(root, excludedPaths) {
|
|
25
|
+
const excluded = new Set();
|
|
26
|
+
for (const excludeGlob of excludedPaths) {
|
|
27
|
+
const excludePath = excludeGlob[0] === '/' ? excludeGlob.slice(1) : excludeGlob;
|
|
28
|
+
(0, tinyglobby_1.globSync)(excludePath, { cwd: root }).forEach((p) => excluded.add(node_path_1.default.join(root, p)));
|
|
29
|
+
}
|
|
30
|
+
return excluded;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["coverage.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAKH,kEAQC;AAED,0EAYC;AAzBD,0DAA6B;AAC7B,2CAAsC;AAEtC,SAAgB,2BAA2B,CAAC,gBAAwB,EAAE,aAA0B;IAC9F,OAAO,CAAC,OAAe,EAAW,EAAE;QAClC,OAAO,CACL,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;YAC3B,CAAC,gEAAgE,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/E,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,+BAA+B,CAC7C,IAAY,EACZ,aAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAChF,IAAA,qBAAQ,EAAC,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -5,11 +5,4 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
9
|
-
interface TestEntrypointsOptions {
|
|
10
|
-
projectSourceRoot: string;
|
|
11
|
-
workspaceRoot: string;
|
|
12
|
-
}
|
|
13
|
-
/** Generate unique bundle names for a set of test files. */
|
|
14
|
-
export declare function getTestEntrypoints(testFiles: string[], { projectSourceRoot, workspaceRoot }: TestEntrypointsOptions): Map<string, string>;
|
|
15
|
-
export {};
|
|
8
|
+
export { findTests, getTestEntrypoints } from '../unit-test/test-discovery';
|
|
@@ -7,105 +7,10 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.findTests =
|
|
11
|
-
exports
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
async function findTests(include, exclude, workspaceRoot, projectSourceRoot) {
|
|
18
|
-
const matchingTestsPromises = include.map((pattern) => findMatchingTests(pattern, exclude, workspaceRoot, projectSourceRoot));
|
|
19
|
-
const files = await Promise.all(matchingTestsPromises);
|
|
20
|
-
// Unique file names
|
|
21
|
-
return [...new Set(files.flat())];
|
|
22
|
-
}
|
|
23
|
-
/** Generate unique bundle names for a set of test files. */
|
|
24
|
-
function getTestEntrypoints(testFiles, { projectSourceRoot, workspaceRoot }) {
|
|
25
|
-
const seen = new Set();
|
|
26
|
-
return new Map(Array.from(testFiles, (testFile) => {
|
|
27
|
-
const relativePath = removeRoots(testFile, [projectSourceRoot, workspaceRoot])
|
|
28
|
-
// Strip leading dots and path separators.
|
|
29
|
-
.replace(/^[./\\]+/, '')
|
|
30
|
-
// Replace any path separators with dashes.
|
|
31
|
-
.replace(/[/\\]/g, '-');
|
|
32
|
-
const baseName = `spec-${(0, node_path_1.basename)(relativePath, (0, node_path_1.extname)(relativePath))}`;
|
|
33
|
-
let uniqueName = baseName;
|
|
34
|
-
let suffix = 2;
|
|
35
|
-
while (seen.has(uniqueName)) {
|
|
36
|
-
uniqueName = `${baseName}-${suffix}`.replace(/([^\w](?:spec|test))-([\d]+)$/, '-$2$1');
|
|
37
|
-
++suffix;
|
|
38
|
-
}
|
|
39
|
-
seen.add(uniqueName);
|
|
40
|
-
return [uniqueName, testFile];
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
const removeLeadingSlash = (pattern) => {
|
|
44
|
-
if (pattern.charAt(0) === '/') {
|
|
45
|
-
return pattern.substring(1);
|
|
46
|
-
}
|
|
47
|
-
return pattern;
|
|
48
|
-
};
|
|
49
|
-
const removeRelativeRoot = (path, root) => {
|
|
50
|
-
if (path.startsWith(root)) {
|
|
51
|
-
return path.substring(root.length);
|
|
52
|
-
}
|
|
53
|
-
return path;
|
|
54
|
-
};
|
|
55
|
-
function removeRoots(path, roots) {
|
|
56
|
-
for (const root of roots) {
|
|
57
|
-
if (path.startsWith(root)) {
|
|
58
|
-
return path.substring(root.length);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return (0, node_path_1.basename)(path);
|
|
62
|
-
}
|
|
63
|
-
async function findMatchingTests(pattern, ignore, workspaceRoot, projectSourceRoot) {
|
|
64
|
-
// normalize pattern, glob lib only accepts forward slashes
|
|
65
|
-
let normalizedPattern = (0, path_1.toPosixPath)(pattern);
|
|
66
|
-
normalizedPattern = removeLeadingSlash(normalizedPattern);
|
|
67
|
-
const relativeProjectRoot = (0, path_1.toPosixPath)((0, node_path_1.relative)(workspaceRoot, projectSourceRoot) + '/');
|
|
68
|
-
// remove relativeProjectRoot to support relative paths from root
|
|
69
|
-
// such paths are easy to get when running scripts via IDEs
|
|
70
|
-
normalizedPattern = removeRelativeRoot(normalizedPattern, relativeProjectRoot);
|
|
71
|
-
// special logic when pattern does not look like a glob
|
|
72
|
-
if (!(0, tinyglobby_1.isDynamicPattern)(normalizedPattern)) {
|
|
73
|
-
if (await isDirectory((0, node_path_1.join)(projectSourceRoot, normalizedPattern))) {
|
|
74
|
-
normalizedPattern = `${normalizedPattern}/**/*.spec.@(ts|tsx)`;
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// see if matching spec file exists
|
|
78
|
-
const fileExt = (0, node_path_1.extname)(normalizedPattern);
|
|
79
|
-
// Replace extension to `.spec.ext`. Example: `src/app/app.component.ts`-> `src/app/app.component.spec.ts`
|
|
80
|
-
const potentialSpec = (0, node_path_1.join)(projectSourceRoot, (0, node_path_1.dirname)(normalizedPattern), `${(0, node_path_1.basename)(normalizedPattern, fileExt)}.spec${fileExt}`);
|
|
81
|
-
if (await exists(potentialSpec)) {
|
|
82
|
-
return [potentialSpec];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
// normalize the patterns in the ignore list
|
|
87
|
-
const normalizedIgnorePatternList = ignore.map((pattern) => removeRelativeRoot(removeLeadingSlash((0, path_1.toPosixPath)(pattern)), relativeProjectRoot));
|
|
88
|
-
return (0, tinyglobby_1.glob)(normalizedPattern, {
|
|
89
|
-
cwd: projectSourceRoot,
|
|
90
|
-
absolute: true,
|
|
91
|
-
ignore: ['**/node_modules/**', ...normalizedIgnorePatternList],
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
async function isDirectory(path) {
|
|
95
|
-
try {
|
|
96
|
-
const stats = await node_fs_1.promises.stat(path);
|
|
97
|
-
return stats.isDirectory();
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
async function exists(path) {
|
|
104
|
-
try {
|
|
105
|
-
await node_fs_1.promises.access(path, node_fs_1.constants.F_OK);
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
10
|
+
exports.getTestEntrypoints = exports.findTests = void 0;
|
|
11
|
+
// This file is a compatibility layer that re-exports the test discovery logic from its new location.
|
|
12
|
+
// This is necessary to avoid breaking the Karma builder, which still depends on this file.
|
|
13
|
+
var test_discovery_1 = require("../unit-test/test-discovery");
|
|
14
|
+
Object.defineProperty(exports, "findTests", { enumerable: true, get: function () { return test_discovery_1.findTests; } });
|
|
15
|
+
Object.defineProperty(exports, "getTestEntrypoints", { enumerable: true, get: function () { return test_discovery_1.getTestEntrypoints; } });
|
|
16
|
+
//# sourceMappingURL=find-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-tests.js","sourceRoot":"","sources":["find-tests.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qGAAqG;AACrG,2FAA2F;AAC3F,8DAA4E;AAAnE,2GAAA,SAAS,OAAA;AAAE,oHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,0BAQC;AAzBD,yDAKmC;AASnC;;GAEG;AACI,KAAK,SAAS,CAAC,CAAC,OAAO,CAC5B,OAA4B,EAC5B,OAAuB,EACvB,UAA0C;IAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;IAE1D,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAID,MAAM,OAAO,GAAiC,IAAA,yBAAa,EAAsB,OAAO,CAAC,CAAC;AAE1F,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { BuilderContext } from '@angular-devkit/architect';
|
|
9
|
+
import type { ConfigOptions } from 'karma';
|
|
10
|
+
import type { NormalizedKarmaBuilderOptions } from './options';
|
|
11
|
+
export declare function getBaseKarmaOptions(options: NormalizedKarmaBuilderOptions, context: BuilderContext): ConfigOptions;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.getBaseKarmaOptions = getBaseKarmaOptions;
|
|
14
|
+
const node_module_1 = require("node:module");
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
function getBaseKarmaOptions(options, context) {
|
|
17
|
+
// Determine project name from builder context target
|
|
18
|
+
const projectName = context.target?.project;
|
|
19
|
+
if (!projectName) {
|
|
20
|
+
throw new Error(`The 'karma' builder requires a target to be specified.`);
|
|
21
|
+
}
|
|
22
|
+
const karmaOptions = options.karmaConfig
|
|
23
|
+
? {}
|
|
24
|
+
: getBuiltInKarmaConfig(context.workspaceRoot, projectName);
|
|
25
|
+
const singleRun = !options.watch;
|
|
26
|
+
karmaOptions.singleRun = singleRun;
|
|
27
|
+
// Workaround https://github.com/angular/angular-cli/issues/28271, by clearing context by default
|
|
28
|
+
// for single run executions. Not clearing context for multi-run (watched) builds allows the
|
|
29
|
+
// Jasmine Spec Runner to be visible in the browser after test execution.
|
|
30
|
+
karmaOptions.client ??= {};
|
|
31
|
+
karmaOptions.client.clearContext ??= singleRun;
|
|
32
|
+
// Convert browsers from a string to an array
|
|
33
|
+
if (options.browsers) {
|
|
34
|
+
karmaOptions.browsers = options.browsers;
|
|
35
|
+
}
|
|
36
|
+
if (options.reporters) {
|
|
37
|
+
karmaOptions.reporters = options.reporters;
|
|
38
|
+
}
|
|
39
|
+
return karmaOptions;
|
|
40
|
+
}
|
|
41
|
+
function getBuiltInKarmaConfig(workspaceRoot, projectName) {
|
|
42
|
+
let coverageFolderName = projectName.charAt(0) === '@' ? projectName.slice(1) : projectName;
|
|
43
|
+
coverageFolderName = coverageFolderName.toLowerCase();
|
|
44
|
+
const workspaceRootRequire = (0, node_module_1.createRequire)(workspaceRoot + '/');
|
|
45
|
+
// Any changes to the config here need to be synced to: packages/schematics/angular/config/files/karma.conf.js.template
|
|
46
|
+
return {
|
|
47
|
+
basePath: '',
|
|
48
|
+
frameworks: ['jasmine'],
|
|
49
|
+
plugins: [
|
|
50
|
+
'karma-jasmine',
|
|
51
|
+
'karma-chrome-launcher',
|
|
52
|
+
'karma-jasmine-html-reporter',
|
|
53
|
+
'karma-coverage',
|
|
54
|
+
].map((p) => workspaceRootRequire(p)),
|
|
55
|
+
jasmineHtmlReporter: {
|
|
56
|
+
suppressAll: true, // removes the duplicated traces
|
|
57
|
+
},
|
|
58
|
+
coverageReporter: {
|
|
59
|
+
dir: node_path_1.default.join(workspaceRoot, 'coverage', coverageFolderName),
|
|
60
|
+
subdir: '.',
|
|
61
|
+
reporters: [{ type: 'html' }, { type: 'text-summary' }],
|
|
62
|
+
},
|
|
63
|
+
reporters: ['progress', 'kjhtml'],
|
|
64
|
+
browsers: ['Chrome'],
|
|
65
|
+
customLaunchers: {
|
|
66
|
+
// Chrome configured to run in a bazel sandbox.
|
|
67
|
+
// Disable the use of the gpu and `/dev/shm` because it causes Chrome to
|
|
68
|
+
// crash on some environments.
|
|
69
|
+
// See:
|
|
70
|
+
// https://github.com/puppeteer/puppeteer/blob/v1.0.0/docs/troubleshooting.md#tips
|
|
71
|
+
// https://stackoverflow.com/questions/50642308/webdriverexception-unknown-error-devtoolsactiveport-file-doesnt-exist-while-t
|
|
72
|
+
ChromeHeadlessNoSandbox: {
|
|
73
|
+
base: 'ChromeHeadless',
|
|
74
|
+
flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
restartOnFileChange: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=karma-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"karma-config.js","sourceRoot":"","sources":["karma-config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAQH,kDAiCC;AArCD,6CAA4C;AAC5C,0DAA6B;AAG7B,SAAgB,mBAAmB,CACjC,OAAsC,EACtC,OAAuB;IAEvB,qDAAqD;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,YAAY,GAAkB,OAAO,CAAC,WAAW;QACrD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IAEnC,iGAAiG;IACjG,4FAA4F;IAC5F,yEAAyE;IACzE,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC;IAC3B,YAAY,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC;IAE/C,6CAA6C;IAC7C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAAqB,EACrB,WAAmB;IAEnB,IAAI,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5F,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAEtD,MAAM,oBAAoB,GAAG,IAAA,2BAAa,EAAC,aAAa,GAAG,GAAG,CAAC,CAAC;IAEhE,uHAAuH;IACvH,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,OAAO,EAAE;YACP,eAAe;YACf,uBAAuB;YACvB,6BAA6B;YAC7B,gBAAgB;SACjB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACrC,mBAAmB,EAAE;YACnB,WAAW,EAAE,IAAI,EAAE,gCAAgC;SACpD;QACD,gBAAgB,EAAE;YAChB,GAAG,EAAE,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,kBAAkB,CAAC;YAC7D,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SACxD;QACD,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;QACjC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,eAAe,EAAE;YACf,+CAA+C;YAC/C,wEAAwE;YACxE,8BAA8B;YAC9B,OAAO;YACP,oFAAoF;YACpF,+HAA+H;YAC/H,uBAAuB,EAAE;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,yBAAyB,CAAC;aAClF;SACF;QACD,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["options.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAQH,4CA2CC;AAhDD,yCAAoC;AAKpC,SAAgB,gBAAgB,CAAC,OAAuB,EAAE,OAA4B;IACpF,MAAM,EACJ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,IAAI,EACZ,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,EAAE,EACd,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;IAEZ,IAAI,kBAAwC,CAAC;IAC7C,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7D,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACtC,kBAAkB,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,SAAS;SAClC,MAAM,CAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;SAChE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtB,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY;QAC9C,CAAC,CAAC;YACE,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,mBAAmB;QAC9B,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAClF,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACvE,QAAQ,EAAE,kBAAkB;QAC5B,KAAK;QACL,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { FilePattern, InlinePluginDef } from 'karma';
|
|
9
|
+
export declare class AngularPolyfillsPlugin {
|
|
10
|
+
static readonly $inject: string[];
|
|
11
|
+
static readonly NAME = "angular-polyfills";
|
|
12
|
+
static createPlugin(polyfillsFile: FilePattern, jasmineCleanupFiles: FilePattern, scriptsFiles: FilePattern[]): InlinePluginDef;
|
|
13
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.AngularPolyfillsPlugin = void 0;
|
|
11
|
+
const node_module_1 = require("node:module");
|
|
12
|
+
const localResolve = (0, node_module_1.createRequire)(__filename).resolve;
|
|
13
|
+
class AngularPolyfillsPlugin {
|
|
14
|
+
static $inject = ['config.files'];
|
|
15
|
+
static NAME = 'angular-polyfills';
|
|
16
|
+
static createPlugin(polyfillsFile, jasmineCleanupFiles, scriptsFiles) {
|
|
17
|
+
return {
|
|
18
|
+
// This has to be a "reporter" because reporters run _after_ frameworks
|
|
19
|
+
// and karma-jasmine-html-reporter injects additional scripts that may
|
|
20
|
+
// depend on Jasmine but aren't modules - which means that they would run
|
|
21
|
+
// _before_ all module code (including jasmine).
|
|
22
|
+
[`reporter:${AngularPolyfillsPlugin.NAME}`]: [
|
|
23
|
+
'factory',
|
|
24
|
+
Object.assign((files) => {
|
|
25
|
+
// The correct order is zone.js -> jasmine -> zone.js/testing.
|
|
26
|
+
// Jasmine has to see the patched version of the global `setTimeout`
|
|
27
|
+
// function so it doesn't cache the unpatched version. And /testing
|
|
28
|
+
// needs to see the global `jasmine` object so it can patch it.
|
|
29
|
+
const polyfillsIndex = 0;
|
|
30
|
+
files.splice(polyfillsIndex, 0, polyfillsFile);
|
|
31
|
+
// Insert just before test_main.js.
|
|
32
|
+
const zoneTestingIndex = files.findIndex((f) => {
|
|
33
|
+
if (typeof f === 'string') {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return f.pattern.endsWith('/test_main.js');
|
|
37
|
+
});
|
|
38
|
+
if (zoneTestingIndex === -1) {
|
|
39
|
+
throw new Error('Could not find test entrypoint file.');
|
|
40
|
+
}
|
|
41
|
+
files.splice(zoneTestingIndex, 0, jasmineCleanupFiles);
|
|
42
|
+
// We need to ensure that all files are served as modules, otherwise
|
|
43
|
+
// the order in the files list gets really confusing: Karma doesn't
|
|
44
|
+
// set defer on scripts, so all scripts with type=js will run first,
|
|
45
|
+
// even if type=module files appeared earlier in `files`.
|
|
46
|
+
for (const f of files) {
|
|
47
|
+
if (typeof f === 'string') {
|
|
48
|
+
throw new Error(`Unexpected string-based file: "${f}"`);
|
|
49
|
+
}
|
|
50
|
+
if (f.included === false) {
|
|
51
|
+
// Don't worry about files that aren't included on the initial
|
|
52
|
+
// page load. `type` won't affect them.
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (f.pattern.endsWith('.js') && 'js' === (f.type ?? 'js')) {
|
|
56
|
+
f.type = 'module';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Add "scripts" option files as classic scripts
|
|
60
|
+
files.unshift(...scriptsFiles);
|
|
61
|
+
// Add browser sourcemap support as a classic script
|
|
62
|
+
files.unshift({
|
|
63
|
+
pattern: localResolve('source-map-support/browser-source-map-support.js'),
|
|
64
|
+
included: true,
|
|
65
|
+
watched: false,
|
|
66
|
+
});
|
|
67
|
+
// Karma needs a return value for a factory and Karma's multi-reporter expects an `adapters` array
|
|
68
|
+
return { adapters: [] };
|
|
69
|
+
}, AngularPolyfillsPlugin),
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.AngularPolyfillsPlugin = AngularPolyfillsPlugin;
|
|
75
|
+
//# sourceMappingURL=polyfills-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polyfills-plugin.js","sourceRoot":"","sources":["polyfills-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,6CAA4C;AAE5C,MAAM,YAAY,GAAG,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC;AAEvD,MAAa,sBAAsB;IACjC,MAAM,CAAU,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAE3C,MAAM,CAAU,IAAI,GAAG,mBAAmB,CAAC;IAE3C,MAAM,CAAC,YAAY,CACjB,aAA0B,EAC1B,mBAAgC,EAChC,YAA2B;QAE3B,OAAO;YACL,uEAAuE;YACvE,sEAAsE;YACtE,yEAAyE;YACzE,gDAAgD;YAChD,CAAC,YAAY,sBAAsB,CAAC,IAAI,EAAE,CAAC,EAAE;gBAC3C,SAAS;gBACT,MAAM,CAAC,MAAM,CAAC,CAAC,KAA+B,EAAE,EAAE;oBAChD,8DAA8D;oBAC9D,oEAAoE;oBACpE,mEAAmE;oBACnE,+DAA+D;oBAC/D,MAAM,cAAc,GAAG,CAAC,CAAC;oBACzB,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;oBAE/C,mCAAmC;oBACnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC1B,OAAO,KAAK,CAAC;wBACf,CAAC;wBAED,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC1D,CAAC;oBACD,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBAEvD,oEAAoE;oBACpE,mEAAmE;oBACnE,oEAAoE;oBACpE,yDAAyD;oBACzD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;wBAC1D,CAAC;wBACD,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;4BACzB,8DAA8D;4BAC9D,uCAAuC;4BACvC,SAAS;wBACX,CAAC;wBACD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;4BAC3D,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;wBACpB,CAAC;oBACH,CAAC;oBAED,gDAAgD;oBAChD,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;oBAE/B,oDAAoD;oBACpD,KAAK,CAAC,OAAO,CAAC;wBACZ,OAAO,EAAE,YAAY,CAAC,kDAAkD,CAAC;wBACzE,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,KAAK;qBACf,CAAC,CAAC;oBAEH,kGAAkG;oBAClG,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC1B,CAAC,EAAE,sBAAsB,CAAC;aAC3B;SACF,CAAC;IACJ,CAAC;;AAvEH,wDAwEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { BuilderOutput } from '@angular-devkit/architect';
|
|
9
|
+
import type { Config, ConfigOptions } from 'karma';
|
|
10
|
+
import type { ReadableStreamController } from 'node:stream/web';
|
|
11
|
+
import type { ApplicationBuilderInternalOptions } from '../application/options';
|
|
12
|
+
import type { Result } from '../application/results';
|
|
13
|
+
interface BuildOptions extends ApplicationBuilderInternalOptions {
|
|
14
|
+
outputPath: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function injectKarmaReporter(buildOptions: BuildOptions, buildIterator: AsyncIterator<Result>, karmaConfig: Config & ConfigOptions, controller: ReadableStreamController<BuilderOutput>): void;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.injectKarmaReporter = injectKarmaReporter;
|
|
11
|
+
const test_files_1 = require("../../utils/test-files");
|
|
12
|
+
const results_1 = require("../application/results");
|
|
13
|
+
const LATEST_BUILD_FILES_TOKEN = 'angularLatestBuildFiles';
|
|
14
|
+
function injectKarmaReporter(buildOptions, buildIterator, karmaConfig, controller) {
|
|
15
|
+
const reporterName = 'angular-progress-notifier';
|
|
16
|
+
class ProgressNotifierReporter {
|
|
17
|
+
emitter;
|
|
18
|
+
latestBuildFiles;
|
|
19
|
+
static $inject = ['emitter', LATEST_BUILD_FILES_TOKEN];
|
|
20
|
+
// Needed for the karma reporter interface, see https://github.com/angular/angular-cli/issues/31629
|
|
21
|
+
adapters = [];
|
|
22
|
+
constructor(emitter, latestBuildFiles) {
|
|
23
|
+
this.emitter = emitter;
|
|
24
|
+
this.latestBuildFiles = latestBuildFiles;
|
|
25
|
+
this.startWatchingBuild();
|
|
26
|
+
}
|
|
27
|
+
startWatchingBuild() {
|
|
28
|
+
void (async () => {
|
|
29
|
+
// This is effectively "for await of but skip what's already consumed".
|
|
30
|
+
let isDone = false; // to mark the loop condition as "not constant".
|
|
31
|
+
while (!isDone) {
|
|
32
|
+
const { done, value: buildOutput } = await buildIterator.next();
|
|
33
|
+
if (done) {
|
|
34
|
+
isDone = true;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
if (buildOutput.kind === results_1.ResultKind.Failure) {
|
|
38
|
+
controller.enqueue({ success: false, message: 'Build failed' });
|
|
39
|
+
}
|
|
40
|
+
else if (buildOutput.kind === results_1.ResultKind.Incremental ||
|
|
41
|
+
buildOutput.kind === results_1.ResultKind.Full) {
|
|
42
|
+
if (buildOutput.kind === results_1.ResultKind.Full) {
|
|
43
|
+
this.latestBuildFiles.files = buildOutput.files;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.latestBuildFiles.files = {
|
|
47
|
+
...this.latestBuildFiles.files,
|
|
48
|
+
...buildOutput.files,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
await (0, test_files_1.writeTestFiles)(buildOutput.files, buildOptions.outputPath);
|
|
52
|
+
this.emitter.refreshFiles();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
})();
|
|
56
|
+
}
|
|
57
|
+
onRunComplete = function (_browsers, results) {
|
|
58
|
+
if (results.exitCode === 0) {
|
|
59
|
+
controller.enqueue({ success: true });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
controller.enqueue({ success: false });
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
karmaConfig.reporters ??= [];
|
|
67
|
+
karmaConfig.reporters.push(reporterName);
|
|
68
|
+
karmaConfig.plugins ??= [];
|
|
69
|
+
karmaConfig.plugins.push({
|
|
70
|
+
[`reporter:${reporterName}`]: [
|
|
71
|
+
'factory',
|
|
72
|
+
Object.assign((...args) => new ProgressNotifierReporter(...args), ProgressNotifierReporter),
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=progress-reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-reporter.js","sourceRoot":"","sources":["progress-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AAgKpF;;GAEG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC3B,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,oCAAa,CAAA;IACb,oCAAa,CAAA;AACjB,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { BuilderContext } from '@angular-devkit/architect';
|
|
9
|
+
import type { NormalizedKarmaBuilderOptions } from './options';
|
|
10
|
+
export declare function getProjectSourceRoot(context: BuilderContext): Promise<string>;
|
|
11
|
+
export declare function normalizePolyfills(polyfills?: string[]): [polyfills: string[], jasmineCleanup: string[]];
|
|
12
|
+
export declare function collectEntrypoints(options: NormalizedKarmaBuilderOptions, context: BuilderContext, projectSourceRoot: string): Promise<Map<string, string>>;
|
|
13
|
+
export declare function hasChunkOrWorkerFiles(files: Record<string, unknown>): boolean;
|
|
14
|
+
/** Returns the first item yielded by the given generator and cancels the execution. */
|
|
15
|
+
export declare function first<T>(generator: AsyncIterable<T>, { cancel }: {
|
|
16
|
+
cancel: boolean;
|
|
17
|
+
}): Promise<[T, AsyncIterator<T> | null]>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.getProjectSourceRoot = getProjectSourceRoot;
|
|
11
|
+
exports.normalizePolyfills = normalizePolyfills;
|
|
12
|
+
exports.collectEntrypoints = collectEntrypoints;
|
|
13
|
+
exports.hasChunkOrWorkerFiles = hasChunkOrWorkerFiles;
|
|
14
|
+
exports.first = first;
|
|
15
|
+
const node_module_1 = require("node:module");
|
|
16
|
+
const project_metadata_1 = require("../../utils/project-metadata");
|
|
17
|
+
const find_tests_1 = require("./find-tests");
|
|
18
|
+
const localResolve = (0, node_module_1.createRequire)(__filename).resolve;
|
|
19
|
+
async function getProjectSourceRoot(context) {
|
|
20
|
+
// We have already validated that the project name is set before calling this function.
|
|
21
|
+
const projectName = context.target?.project;
|
|
22
|
+
if (!projectName) {
|
|
23
|
+
return context.workspaceRoot;
|
|
24
|
+
}
|
|
25
|
+
const projectMetadata = await context.getProjectMetadata(projectName);
|
|
26
|
+
const { projectSourceRoot } = (0, project_metadata_1.getProjectRootPaths)(context.workspaceRoot, projectMetadata);
|
|
27
|
+
return projectSourceRoot;
|
|
28
|
+
}
|
|
29
|
+
function normalizePolyfills(polyfills = []) {
|
|
30
|
+
const jasmineGlobalEntryPoint = localResolve('./polyfills/jasmine_global.js');
|
|
31
|
+
const jasmineGlobalCleanupEntrypoint = localResolve('./polyfills/jasmine_global_cleanup.js');
|
|
32
|
+
const sourcemapEntrypoint = localResolve('./polyfills/init_sourcemaps.js');
|
|
33
|
+
const zoneTestingEntryPoint = 'zone.js/testing';
|
|
34
|
+
const polyfillsExludingZoneTesting = polyfills.filter((p) => p !== zoneTestingEntryPoint);
|
|
35
|
+
return [
|
|
36
|
+
polyfillsExludingZoneTesting.concat([jasmineGlobalEntryPoint, sourcemapEntrypoint]),
|
|
37
|
+
polyfillsExludingZoneTesting.length === polyfills.length
|
|
38
|
+
? [jasmineGlobalCleanupEntrypoint]
|
|
39
|
+
: [jasmineGlobalCleanupEntrypoint, zoneTestingEntryPoint],
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
async function collectEntrypoints(options, context, projectSourceRoot) {
|
|
43
|
+
// Glob for files to test.
|
|
44
|
+
const testFiles = await (0, find_tests_1.findTests)(options.include, options.exclude, context.workspaceRoot, projectSourceRoot);
|
|
45
|
+
return (0, find_tests_1.getTestEntrypoints)(testFiles, { projectSourceRoot, workspaceRoot: context.workspaceRoot });
|
|
46
|
+
}
|
|
47
|
+
function hasChunkOrWorkerFiles(files) {
|
|
48
|
+
return Object.keys(files).some((filename) => {
|
|
49
|
+
return /(?:^|\/)(?:worker|chunk)[^/]+\.js$/.test(filename);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/** Returns the first item yielded by the given generator and cancels the execution. */
|
|
53
|
+
async function first(generator, { cancel }) {
|
|
54
|
+
if (!cancel) {
|
|
55
|
+
const iterator = generator[Symbol.asyncIterator]();
|
|
56
|
+
const firstValue = await iterator.next();
|
|
57
|
+
if (firstValue.done) {
|
|
58
|
+
throw new Error('Expected generator to emit at least once.');
|
|
59
|
+
}
|
|
60
|
+
return [firstValue.value, iterator];
|
|
61
|
+
}
|
|
62
|
+
for await (const value of generator) {
|
|
63
|
+
return [value, null];
|
|
64
|
+
}
|
|
65
|
+
throw new Error('Expected generator to emit at least once.');
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["builder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,0BAgEC;AA/ED,yCAA0C;AAC1C,6CAAkD;AAClD,iEAAoE;AACpE,yDAA+D;AAG/D;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,OAAO,CAC5B,OAAgC,EAChC,OAAuB;IAEvB,8BAA8B;IAC9B,MAAM,IAAA,kCAAoB,EAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,wDAAa,YAAY,GAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,iHAAiH;aACpH,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;QACrC,CAAC,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAG,QAAQ,CAAC,IAA2B,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAExF,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,QAAQ,CAAC,YAAY,CAAC,IAAA,mBAAO,EAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAA,uCAAqB,EAC3E,QAAQ,EACR,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAqB;QACzC,YAAY;QACZ,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,cAAc,EAAE,IAAA,gBAAI,EAAC,cAAc,EAAE,YAAY,CAAC;KACnD,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;QAErB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;AACH,CAAC"}
|
|
@@ -13,3 +13,4 @@ const builder_1 = require("./builder");
|
|
|
13
13
|
Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return builder_1.execute; } });
|
|
14
14
|
const builder = (0, architect_1.createBuilder)(builder_1.execute);
|
|
15
15
|
exports.default = builder;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,yDAAmE;AACnE,uCAAoC;AAGG,wFAH9B,iBAAO,OAG8B;AAE9C,MAAM,OAAO,GAAqC,IAAA,yBAAa,EAA0B,iBAAO,CAAC,CAAC;AAElG,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}
|