@angular/build 21.0.0-next.0 → 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 +3 -1
- 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 -350
- 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 +7 -4
- package/src/builders/unit-test/runners/vitest/executor.js +183 -89
- 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 +44 -16
- 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.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.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
|
@@ -39,8 +39,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
return result;
|
|
40
40
|
};
|
|
41
41
|
})();
|
|
42
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
+
};
|
|
42
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
46
|
exports.KarmaExecutor = void 0;
|
|
47
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
48
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
44
49
|
class KarmaExecutor {
|
|
45
50
|
context;
|
|
46
51
|
options;
|
|
@@ -50,15 +55,38 @@ class KarmaExecutor {
|
|
|
50
55
|
}
|
|
51
56
|
async *execute() {
|
|
52
57
|
const { context, options: unitTestOptions } = this;
|
|
58
|
+
if (unitTestOptions.browserViewport) {
|
|
59
|
+
context.logger.warn('The "karma" test runner does not support the "browserViewport" option. The option will be ignored.');
|
|
60
|
+
}
|
|
53
61
|
if (unitTestOptions.debug) {
|
|
54
62
|
context.logger.warn('The "karma" test runner does not support the "debug" option. The option will be ignored.');
|
|
55
63
|
}
|
|
56
64
|
if (unitTestOptions.setupFiles.length) {
|
|
57
65
|
context.logger.warn('The "karma" test runner does not support the "setupFiles" option. The option will be ignored.');
|
|
58
66
|
}
|
|
67
|
+
if (unitTestOptions.coverage?.include) {
|
|
68
|
+
context.logger.warn('The "karma" test runner does not support the "coverageInclude" option. The option will be ignored.');
|
|
69
|
+
}
|
|
59
70
|
const buildTargetOptions = (await context.validateOptions(await context.getTargetOptions(unitTestOptions.buildTarget), await context.getBuilderNameForTarget(unitTestOptions.buildTarget)));
|
|
71
|
+
let karmaConfig;
|
|
72
|
+
if (typeof unitTestOptions.runnerConfig === 'string') {
|
|
73
|
+
karmaConfig = unitTestOptions.runnerConfig;
|
|
74
|
+
context.logger.info(`Using Karma configuration file: ${karmaConfig}`);
|
|
75
|
+
}
|
|
76
|
+
else if (unitTestOptions.runnerConfig) {
|
|
77
|
+
const potentialPath = node_path_1.default.join(unitTestOptions.projectRoot, 'karma.conf.js');
|
|
78
|
+
try {
|
|
79
|
+
await promises_1.default.access(potentialPath);
|
|
80
|
+
karmaConfig = potentialPath;
|
|
81
|
+
context.logger.info(`Using Karma configuration file: ${karmaConfig}`);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
context.logger.info('No Karma configuration file found. Using default configuration.');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
60
87
|
const karmaOptions = {
|
|
61
|
-
|
|
88
|
+
karmaConfig,
|
|
89
|
+
tsConfig: unitTestOptions.tsConfig ?? buildTargetOptions.tsConfig,
|
|
62
90
|
polyfills: buildTargetOptions.polyfills,
|
|
63
91
|
assets: buildTargetOptions.assets,
|
|
64
92
|
scripts: buildTargetOptions.scripts,
|
|
@@ -76,18 +104,57 @@ class KarmaExecutor {
|
|
|
76
104
|
poll: buildTargetOptions.poll,
|
|
77
105
|
preserveSymlinks: buildTargetOptions.preserveSymlinks,
|
|
78
106
|
browsers: unitTestOptions.browsers?.join(','),
|
|
79
|
-
codeCoverage:
|
|
80
|
-
codeCoverageExclude: unitTestOptions.
|
|
107
|
+
codeCoverage: unitTestOptions.coverage.enabled,
|
|
108
|
+
codeCoverageExclude: unitTestOptions.coverage.exclude,
|
|
81
109
|
fileReplacements: buildTargetOptions.fileReplacements,
|
|
82
|
-
reporters: unitTestOptions.reporters
|
|
110
|
+
reporters: unitTestOptions.reporters?.map((reporter) => {
|
|
111
|
+
// Karma only supports string reporters.
|
|
112
|
+
if (Object.keys(reporter[1]).length > 0) {
|
|
113
|
+
context.logger.warn(`The "karma" test runner does not support options for the "${reporter[0]}" reporter. The options will be ignored.`);
|
|
114
|
+
}
|
|
115
|
+
return reporter[0];
|
|
116
|
+
}),
|
|
83
117
|
webWorkerTsConfig: buildTargetOptions.webWorkerTsConfig,
|
|
84
118
|
aot: buildTargetOptions.aot,
|
|
85
119
|
};
|
|
120
|
+
const transformOptions = {
|
|
121
|
+
karmaOptions: (options) => {
|
|
122
|
+
if (unitTestOptions.filter) {
|
|
123
|
+
let filter = unitTestOptions.filter;
|
|
124
|
+
if (filter[0] === '/' && filter.at(-1) === '/') {
|
|
125
|
+
this.context.logger.warn('The `--filter` option is always a regular expression.' +
|
|
126
|
+
'Leading and trailing `/` are not required and will be ignored.');
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
filter = `/${filter}/`;
|
|
130
|
+
}
|
|
131
|
+
options.client ??= {};
|
|
132
|
+
options.client.args ??= [];
|
|
133
|
+
options.client.args.push('--grep', filter);
|
|
134
|
+
}
|
|
135
|
+
// Add coverage options
|
|
136
|
+
if (unitTestOptions.coverage.enabled) {
|
|
137
|
+
const { thresholds, watermarks } = unitTestOptions.coverage;
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
139
|
+
const coverageReporter = (options.coverageReporter ??= {});
|
|
140
|
+
if (thresholds) {
|
|
141
|
+
coverageReporter.check = thresholds.perFile
|
|
142
|
+
? { each: thresholds }
|
|
143
|
+
: { global: thresholds };
|
|
144
|
+
}
|
|
145
|
+
if (watermarks) {
|
|
146
|
+
coverageReporter.watermarks = watermarks;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return options;
|
|
150
|
+
},
|
|
151
|
+
};
|
|
86
152
|
const { execute } = await Promise.resolve().then(() => __importStar(require('../../../karma')));
|
|
87
|
-
yield* execute(karmaOptions, context);
|
|
153
|
+
yield* execute(karmaOptions, context, transformOptions);
|
|
88
154
|
}
|
|
89
155
|
async [Symbol.asyncDispose]() {
|
|
90
156
|
// The Karma builder handles its own teardown
|
|
91
157
|
}
|
|
92
158
|
}
|
|
93
159
|
exports.KarmaExecutor = KarmaExecutor;
|
|
160
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const dependency_checker_1 = require("../dependency-checker");
|
|
10
11
|
const executor_1 = require("./executor");
|
|
11
12
|
/**
|
|
12
13
|
* A declarative definition of the Karma test runner.
|
|
@@ -14,6 +15,22 @@ const executor_1 = require("./executor");
|
|
|
14
15
|
const KarmaTestRunner = {
|
|
15
16
|
name: 'karma',
|
|
16
17
|
isStandalone: true,
|
|
18
|
+
validateDependencies(options) {
|
|
19
|
+
const checker = new dependency_checker_1.DependencyChecker(options.projectSourceRoot);
|
|
20
|
+
checker.check('karma');
|
|
21
|
+
checker.check('karma-jasmine');
|
|
22
|
+
// Check for browser launchers
|
|
23
|
+
if (options.browsers?.length) {
|
|
24
|
+
for (const browser of options.browsers) {
|
|
25
|
+
const launcherName = `karma-${browser.toLowerCase().split('headless')[0]}-launcher`;
|
|
26
|
+
checker.check(launcherName);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (options.coverage) {
|
|
30
|
+
checker.check('karma-coverage');
|
|
31
|
+
}
|
|
32
|
+
checker.report();
|
|
33
|
+
},
|
|
17
34
|
getBuildOptions() {
|
|
18
35
|
return {
|
|
19
36
|
buildOptions: {},
|
|
@@ -24,3 +41,4 @@ const KarmaTestRunner = {
|
|
|
24
41
|
},
|
|
25
42
|
};
|
|
26
43
|
exports.default = KarmaTestRunner;
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAGH,8DAA0D;AAC1D,yCAA2C;AAE3C;;GAEG;AACH,MAAM,eAAe,GAAe;IAClC,IAAI,EAAE,OAAO;IACb,YAAY,EAAE,IAAI;IAElB,oBAAoB,CAAC,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,sCAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE/B,8BAA8B;QAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,SAAS,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACpF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;QACb,OAAO;YACL,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO;QACnC,OAAO,IAAI,wBAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -5,7 +5,12 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
8
|
+
import type { BrowserConfigOptions } from 'vitest/node';
|
|
9
|
+
export interface BrowserConfiguration {
|
|
10
|
+
browser?: BrowserConfigOptions;
|
|
10
11
|
errors?: string[];
|
|
11
|
-
}
|
|
12
|
+
}
|
|
13
|
+
export declare function setupBrowserConfiguration(browsers: string[] | undefined, debug: boolean, projectSourceRoot: string, viewport: {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
} | undefined): Promise<BrowserConfiguration>;
|
|
@@ -6,9 +6,43 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
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
|
+
})();
|
|
9
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
43
|
exports.setupBrowserConfiguration = setupBrowserConfiguration;
|
|
11
44
|
const node_module_1 = require("node:module");
|
|
45
|
+
const error_1 = require("../../../../utils/error");
|
|
12
46
|
function findBrowserProvider(projectResolver) {
|
|
13
47
|
// One of these must be installed in the project to use browser testing
|
|
14
48
|
const vitestBuiltinProviders = ['playwright', 'webdriverio'];
|
|
@@ -28,42 +62,62 @@ function normalizeBrowserName(browserName) {
|
|
|
28
62
|
const normalized = browserName.toLowerCase();
|
|
29
63
|
return normalized.replace(/headless$/, '');
|
|
30
64
|
}
|
|
31
|
-
function setupBrowserConfiguration(browsers, debug, projectSourceRoot) {
|
|
65
|
+
async function setupBrowserConfiguration(browsers, debug, projectSourceRoot, viewport) {
|
|
32
66
|
if (browsers === undefined) {
|
|
33
67
|
return {};
|
|
34
68
|
}
|
|
35
69
|
const projectResolver = (0, node_module_1.createRequire)(projectSourceRoot + '/').resolve;
|
|
36
70
|
let errors;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
errors ??= [];
|
|
42
|
-
errors.push('The "browsers" option requires the "@vitest/browser" package to be installed within the project.' +
|
|
43
|
-
' Please install this package and rerun the test command.');
|
|
44
|
-
}
|
|
45
|
-
const provider = findBrowserProvider(projectResolver);
|
|
46
|
-
if (!provider) {
|
|
71
|
+
const providerName = findBrowserProvider(projectResolver);
|
|
72
|
+
if (!providerName) {
|
|
47
73
|
errors ??= [];
|
|
48
74
|
errors.push('The "browsers" option requires either "playwright" or "webdriverio" to be installed within the project.' +
|
|
49
75
|
' Please install one of these packages and rerun the test command.');
|
|
50
76
|
}
|
|
51
|
-
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
77
|
+
let provider;
|
|
78
|
+
if (providerName) {
|
|
79
|
+
const providerPackage = `@vitest/browser-${providerName}`;
|
|
80
|
+
try {
|
|
81
|
+
const providerModule = await Promise.resolve(`${projectResolver(providerPackage)}`).then(s => __importStar(require(s)));
|
|
82
|
+
// Validate that the imported module has the expected structure
|
|
83
|
+
const providerFactory = providerModule[providerName];
|
|
84
|
+
if (typeof providerFactory === 'function') {
|
|
85
|
+
provider = providerFactory();
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
errors ??= [];
|
|
89
|
+
errors.push(`The "${providerPackage}" package does not have a valid browser provider export.`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
(0, error_1.assertIsError)(e);
|
|
94
|
+
errors ??= [];
|
|
95
|
+
// Check for a module not found error to provide a more specific message
|
|
96
|
+
if (e.code === 'ERR_MODULE_NOT_FOUND') {
|
|
97
|
+
errors.push(`The "browsers" option with "${providerName}" requires the "${providerPackage}" package.` +
|
|
98
|
+
' Please install this package and rerun the test command.');
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Handle other potential errors during import
|
|
102
|
+
errors.push(`An error occurred while loading the "${providerPackage}" browser provider:\n ${e.message}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
56
105
|
}
|
|
57
106
|
if (errors) {
|
|
58
107
|
return { errors };
|
|
59
108
|
}
|
|
109
|
+
const isCI = !!process.env['CI'];
|
|
110
|
+
const headless = isCI || browsers.some((name) => name.toLowerCase().includes('headless'));
|
|
60
111
|
const browser = {
|
|
61
112
|
enabled: true,
|
|
62
113
|
provider,
|
|
63
|
-
headless
|
|
114
|
+
headless,
|
|
115
|
+
ui: !headless,
|
|
116
|
+
viewport,
|
|
64
117
|
instances: browsers.map((browserName) => ({
|
|
65
118
|
browser: normalizeBrowserName(browserName),
|
|
66
119
|
})),
|
|
67
120
|
};
|
|
68
121
|
return { browser };
|
|
69
122
|
}
|
|
123
|
+
//# sourceMappingURL=browser-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-provider.js","sourceRoot":"","sources":["browser-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,22 @@ const path_1 = require("../../../../utils/path");
|
|
|
16
16
|
const schema_1 = require("../../../application/schema");
|
|
17
17
|
const options_1 = require("../../options");
|
|
18
18
|
const test_discovery_1 = require("../../test-discovery");
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* A list of Angular related packages that should be marked as external.
|
|
21
|
+
* This allows Vite to pre-bundle them, improving performance.
|
|
22
|
+
*/
|
|
23
|
+
const ANGULAR_PACKAGES_TO_EXTERNALIZE = [
|
|
24
|
+
'@angular/core',
|
|
25
|
+
'@angular/common',
|
|
26
|
+
'@angular/platform-browser',
|
|
27
|
+
'@angular/compiler',
|
|
28
|
+
'@angular/router',
|
|
29
|
+
'@angular/forms',
|
|
30
|
+
'@angular/animations',
|
|
31
|
+
'rxjs',
|
|
32
|
+
];
|
|
33
|
+
function createTestBedInitVirtualFile(providersFile, projectSourceRoot, polyfills = []) {
|
|
34
|
+
const usesZoneJS = polyfills.includes('zone.js');
|
|
20
35
|
let providersImport = 'const providers = [];';
|
|
21
36
|
if (providersFile) {
|
|
22
37
|
const relativePath = node_path_1.default.relative(projectSourceRoot, providersFile);
|
|
@@ -26,7 +41,7 @@ function createTestBedInitVirtualFile(providersFile, projectSourceRoot) {
|
|
|
26
41
|
}
|
|
27
42
|
return `
|
|
28
43
|
// Initialize the Angular testing environment
|
|
29
|
-
import { NgModule } from '@angular/core';
|
|
44
|
+
import { NgModule${usesZoneJS ? ', provideZoneChangeDetection' : ''} } from '@angular/core';
|
|
30
45
|
import { getTestBed, ɵgetCleanupHook as getCleanupHook } from '@angular/core/testing';
|
|
31
46
|
import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing';
|
|
32
47
|
${providersImport}
|
|
@@ -34,7 +49,7 @@ function createTestBedInitVirtualFile(providersFile, projectSourceRoot) {
|
|
|
34
49
|
beforeEach(getCleanupHook(false));
|
|
35
50
|
afterEach(getCleanupHook(true));
|
|
36
51
|
@NgModule({
|
|
37
|
-
providers,
|
|
52
|
+
providers: [${usesZoneJS ? 'provideZoneChangeDetection(), ' : ''}...providers],
|
|
38
53
|
})
|
|
39
54
|
export class TestModule {}
|
|
40
55
|
getTestBed().initTestEnvironment([BrowserTestingModule, TestModule], platformBrowserTesting(), {
|
|
@@ -43,8 +58,18 @@ function createTestBedInitVirtualFile(providersFile, projectSourceRoot) {
|
|
|
43
58
|
});
|
|
44
59
|
`;
|
|
45
60
|
}
|
|
61
|
+
function adjustOutputHashing(hashing) {
|
|
62
|
+
switch (hashing) {
|
|
63
|
+
case schema_1.OutputHashing.All:
|
|
64
|
+
case schema_1.OutputHashing.Media:
|
|
65
|
+
// Ensure media is continued to be hashed to avoid overwriting of output media files
|
|
66
|
+
return schema_1.OutputHashing.Media;
|
|
67
|
+
default:
|
|
68
|
+
return schema_1.OutputHashing.None;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
46
71
|
async function getVitestBuildOptions(options, baseBuildOptions) {
|
|
47
|
-
const { workspaceRoot, projectSourceRoot, include, exclude, watch,
|
|
72
|
+
const { workspaceRoot, projectSourceRoot, include, exclude = [], watch, providersFile } = options;
|
|
48
73
|
// Find test files
|
|
49
74
|
const testFiles = await (0, test_discovery_1.findTests)(include, exclude, workspaceRoot, projectSourceRoot);
|
|
50
75
|
if (testFiles.length === 0) {
|
|
@@ -53,8 +78,21 @@ async function getVitestBuildOptions(options, baseBuildOptions) {
|
|
|
53
78
|
(exclude.length ? `- Excluded: ${exclude.join(', ')}\n` : '') +
|
|
54
79
|
`\nPlease check the 'test' target configuration in your project's 'angular.json' file.`);
|
|
55
80
|
}
|
|
56
|
-
const entryPoints = (0, test_discovery_1.getTestEntrypoints)(testFiles, {
|
|
81
|
+
const entryPoints = (0, test_discovery_1.getTestEntrypoints)(testFiles, {
|
|
82
|
+
projectSourceRoot,
|
|
83
|
+
workspaceRoot,
|
|
84
|
+
removeTestExtension: true,
|
|
85
|
+
});
|
|
57
86
|
entryPoints.set('init-testbed', 'angular:test-bed-init');
|
|
87
|
+
const externalDependencies = new Set(['vitest']);
|
|
88
|
+
if (!options.browsers?.length) {
|
|
89
|
+
// Only add for non-browser setups.
|
|
90
|
+
// Comprehensive browser prebundling will be handled separately.
|
|
91
|
+
ANGULAR_PACKAGES_TO_EXTERNALIZE.forEach((dep) => externalDependencies.add(dep));
|
|
92
|
+
}
|
|
93
|
+
if (baseBuildOptions.externalDependencies) {
|
|
94
|
+
baseBuildOptions.externalDependencies.forEach((dep) => externalDependencies.add(dep));
|
|
95
|
+
}
|
|
58
96
|
const buildOptions = {
|
|
59
97
|
...baseBuildOptions,
|
|
60
98
|
watch,
|
|
@@ -70,18 +108,19 @@ async function getVitestBuildOptions(options, baseBuildOptions) {
|
|
|
70
108
|
ssr: false,
|
|
71
109
|
prerender: false,
|
|
72
110
|
sourceMap: { scripts: true, vendor: false, styles: false },
|
|
73
|
-
outputHashing:
|
|
111
|
+
outputHashing: adjustOutputHashing(baseBuildOptions.outputHashing),
|
|
74
112
|
optimization: false,
|
|
75
|
-
tsConfig,
|
|
76
113
|
entryPoints,
|
|
77
|
-
externalDependencies: [
|
|
114
|
+
externalDependencies: [...externalDependencies],
|
|
78
115
|
};
|
|
79
116
|
buildOptions.polyfills = (0, options_1.injectTestingPolyfills)(buildOptions.polyfills);
|
|
80
|
-
const testBedInitContents = createTestBedInitVirtualFile(providersFile, projectSourceRoot);
|
|
117
|
+
const testBedInitContents = createTestBedInitVirtualFile(providersFile, projectSourceRoot, buildOptions.polyfills);
|
|
81
118
|
return {
|
|
82
119
|
buildOptions,
|
|
83
120
|
virtualFiles: {
|
|
84
121
|
'angular:test-bed-init': testBedInitContents,
|
|
85
122
|
},
|
|
123
|
+
testEntryPointMappings: entryPoints,
|
|
86
124
|
};
|
|
87
125
|
}
|
|
126
|
+
//# sourceMappingURL=build-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-options.js","sourceRoot":"","sources":["build-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Finds the Vitest configuration file in the given search directories.
|
|
10
|
+
*
|
|
11
|
+
* @param searchDirs An array of directories to search for the configuration file.
|
|
12
|
+
* @returns The path to the configuration file, or `false` if no file is found.
|
|
13
|
+
* Returning `false` is used to disable Vitest's default configuration file search.
|
|
14
|
+
*/
|
|
15
|
+
export declare function findVitestBaseConfig(searchDirs: string[]): Promise<string | false>;
|
|
@@ -0,0 +1,57 @@
|
|
|
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.findVitestBaseConfig = findVitestBaseConfig;
|
|
14
|
+
/**
|
|
15
|
+
* @fileoverview
|
|
16
|
+
* This file contains utility functions for finding the Vitest base configuration file.
|
|
17
|
+
*/
|
|
18
|
+
const promises_1 = require("node:fs/promises");
|
|
19
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
20
|
+
/**
|
|
21
|
+
* A list of potential Vitest configuration filenames.
|
|
22
|
+
* The order of the files is important as the first one found will be used.
|
|
23
|
+
*/
|
|
24
|
+
const POTENTIAL_CONFIGS = [
|
|
25
|
+
'vitest-base.config.ts',
|
|
26
|
+
'vitest-base.config.mts',
|
|
27
|
+
'vitest-base.config.cts',
|
|
28
|
+
'vitest-base.config.js',
|
|
29
|
+
'vitest-base.config.mjs',
|
|
30
|
+
'vitest-base.config.cjs',
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* Finds the Vitest configuration file in the given search directories.
|
|
34
|
+
*
|
|
35
|
+
* @param searchDirs An array of directories to search for the configuration file.
|
|
36
|
+
* @returns The path to the configuration file, or `false` if no file is found.
|
|
37
|
+
* Returning `false` is used to disable Vitest's default configuration file search.
|
|
38
|
+
*/
|
|
39
|
+
async function findVitestBaseConfig(searchDirs) {
|
|
40
|
+
const uniqueDirs = new Set(searchDirs);
|
|
41
|
+
for (const dir of uniqueDirs) {
|
|
42
|
+
try {
|
|
43
|
+
const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
|
|
44
|
+
const files = new Set(entries.filter((e) => e.isFile()).map((e) => e.name));
|
|
45
|
+
for (const potential of POTENTIAL_CONFIGS) {
|
|
46
|
+
if (files.has(potential)) {
|
|
47
|
+
return node_path_1.default.join(dir, potential);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Ignore directories that cannot be read
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AA8BH,oDAkBC;AA9CD;;;GAGG;AAEH,+CAA2C;AAC3C,0DAA6B;AAE7B;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;CACzB,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CAAC,UAAoB;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE5E,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,OAAO,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -6,17 +6,20 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import type { BuilderOutput } from '@angular-devkit/architect';
|
|
9
|
-
import type
|
|
9
|
+
import { type FullResult, type IncrementalResult } from '../../../application/results';
|
|
10
10
|
import { NormalizedUnitTestBuilderOptions } from '../../options';
|
|
11
11
|
import type { TestExecutor } from '../api';
|
|
12
12
|
export declare class VitestExecutor implements TestExecutor {
|
|
13
13
|
private vitest;
|
|
14
|
+
private normalizePath;
|
|
14
15
|
private readonly projectName;
|
|
15
16
|
private readonly options;
|
|
16
|
-
private readonly
|
|
17
|
-
private
|
|
18
|
-
|
|
17
|
+
private readonly buildResultFiles;
|
|
18
|
+
private readonly testFileToEntryPoint;
|
|
19
|
+
private readonly entryPointToTestFile;
|
|
20
|
+
constructor(projectName: string, options: NormalizedUnitTestBuilderOptions, testEntryPointMappings: Map<string, string> | undefined);
|
|
19
21
|
execute(buildResult: FullResult | IncrementalResult): AsyncIterable<BuilderOutput>;
|
|
20
22
|
[Symbol.asyncDispose](): Promise<void>;
|
|
23
|
+
private prepareSetupFiles;
|
|
21
24
|
private initializeVitest;
|
|
22
25
|
}
|