@depup/angular__build 21.2.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +39 -0
- package/builders.json +34 -0
- package/changes.json +42 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/package.json +177 -0
- package/private/index.d.ts +8 -0
- package/private/index.js +25 -0
- package/private/index.js.map +1 -0
- package/src/builders/application/build-action.d.ts +29 -0
- package/src/builders/application/build-action.js +355 -0
- package/src/builders/application/build-action.js.map +1 -0
- package/src/builders/application/chunk-optimizer.d.ts +21 -0
- package/src/builders/application/chunk-optimizer.js +278 -0
- package/src/builders/application/chunk-optimizer.js.map +1 -0
- package/src/builders/application/execute-build.d.ts +11 -0
- package/src/builders/application/execute-build.js +250 -0
- package/src/builders/application/execute-build.js.map +1 -0
- package/src/builders/application/execute-post-bundle.d.ts +27 -0
- package/src/builders/application/execute-post-bundle.js +136 -0
- package/src/builders/application/execute-post-bundle.js.map +1 -0
- package/src/builders/application/i18n.d.ts +31 -0
- package/src/builders/application/i18n.js +138 -0
- package/src/builders/application/i18n.js.map +1 -0
- package/src/builders/application/index.d.ts +32 -0
- package/src/builders/application/index.js +253 -0
- package/src/builders/application/index.js.map +1 -0
- package/src/builders/application/options.d.ts +214 -0
- package/src/builders/application/options.js +499 -0
- package/src/builders/application/options.js.map +1 -0
- package/src/builders/application/results.d.ts +73 -0
- package/src/builders/application/results.js +18 -0
- package/src/builders/application/results.js.map +1 -0
- package/src/builders/application/schema.d.ts +650 -0
- package/src/builders/application/schema.js +93 -0
- package/src/builders/application/schema.js.map +1 -0
- package/src/builders/application/schema.json +728 -0
- package/src/builders/application/setup-bundling.d.ts +25 -0
- package/src/builders/application/setup-bundling.js +104 -0
- package/src/builders/application/setup-bundling.js.map +1 -0
- package/src/builders/dev-server/builder.d.ts +31 -0
- package/src/builders/dev-server/builder.js +61 -0
- package/src/builders/dev-server/builder.js.map +1 -0
- package/src/builders/dev-server/index.d.ts +15 -0
- package/src/builders/dev-server/index.js +17 -0
- package/src/builders/dev-server/index.js.map +1 -0
- package/src/builders/dev-server/internal.d.ts +18 -0
- package/src/builders/dev-server/internal.js +28 -0
- package/src/builders/dev-server/internal.js.map +1 -0
- package/src/builders/dev-server/options.d.ts +51 -0
- package/src/builders/dev-server/options.js +104 -0
- package/src/builders/dev-server/options.js.map +1 -0
- package/src/builders/dev-server/output.d.ts +16 -0
- package/src/builders/dev-server/output.js +10 -0
- package/src/builders/dev-server/output.js.map +1 -0
- package/src/builders/dev-server/schema.d.ts +121 -0
- package/src/builders/dev-server/schema.js +5 -0
- package/src/builders/dev-server/schema.js.map +1 -0
- package/src/builders/dev-server/schema.json +138 -0
- package/src/builders/dev-server/vite/hmr.d.ts +25 -0
- package/src/builders/dev-server/vite/hmr.js +115 -0
- package/src/builders/dev-server/vite/hmr.js.map +1 -0
- package/src/builders/dev-server/vite/index.d.ts +21 -0
- package/src/builders/dev-server/vite/index.js +390 -0
- package/src/builders/dev-server/vite/index.js.map +1 -0
- package/src/builders/dev-server/vite/server.d.ts +15 -0
- package/src/builders/dev-server/vite/server.js +227 -0
- package/src/builders/dev-server/vite/server.js.map +1 -0
- package/src/builders/dev-server/vite/utils.d.ts +36 -0
- package/src/builders/dev-server/vite/utils.js +77 -0
- package/src/builders/dev-server/vite/utils.js.map +1 -0
- package/src/builders/extract-i18n/application-extraction.d.ts +18 -0
- package/src/builders/extract-i18n/application-extraction.js +132 -0
- package/src/builders/extract-i18n/application-extraction.js.map +1 -0
- package/src/builders/extract-i18n/builder.d.ts +14 -0
- package/src/builders/extract-i18n/builder.js +161 -0
- package/src/builders/extract-i18n/builder.js.map +1 -0
- package/src/builders/extract-i18n/index.d.ts +13 -0
- package/src/builders/extract-i18n/index.js +16 -0
- package/src/builders/extract-i18n/index.js.map +1 -0
- package/src/builders/extract-i18n/options.d.ts +33 -0
- package/src/builders/extract-i18n/options.js +86 -0
- package/src/builders/extract-i18n/options.js.map +1 -0
- package/src/builders/extract-i18n/schema.d.ts +53 -0
- package/src/builders/extract-i18n/schema.js +30 -0
- package/src/builders/extract-i18n/schema.js.map +1 -0
- package/src/builders/extract-i18n/schema.json +38 -0
- package/src/builders/karma/application_builder.d.ts +11 -0
- package/src/builders/karma/application_builder.js +324 -0
- package/src/builders/karma/application_builder.js.map +1 -0
- package/src/builders/karma/assets-middleware.d.ts +26 -0
- package/src/builders/karma/assets-middleware.js +66 -0
- package/src/builders/karma/assets-middleware.js.map +1 -0
- package/src/builders/karma/coverage.d.ts +9 -0
- package/src/builders/karma/coverage.js +32 -0
- package/src/builders/karma/coverage.js.map +1 -0
- package/src/builders/karma/find-tests.d.ts +9 -0
- package/src/builders/karma/find-tests.js +24 -0
- package/src/builders/karma/find-tests.js.map +1 -0
- package/src/builders/karma/index.d.ts +20 -0
- package/src/builders/karma/index.js +54 -0
- package/src/builders/karma/index.js.map +1 -0
- package/src/builders/karma/karma-config.d.ts +11 -0
- package/src/builders/karma/karma-config.js +80 -0
- package/src/builders/karma/karma-config.js.map +1 -0
- package/src/builders/karma/options.d.ts +42 -0
- package/src/builders/karma/options.js +44 -0
- package/src/builders/karma/options.js.map +1 -0
- package/src/builders/karma/polyfills/init_sourcemaps.js +10 -0
- package/src/builders/karma/polyfills/jasmine_global.js +18 -0
- package/src/builders/karma/polyfills/jasmine_global_cleanup.js +14 -0
- package/src/builders/karma/polyfills-plugin.d.ts +13 -0
- package/src/builders/karma/polyfills-plugin.js +75 -0
- package/src/builders/karma/polyfills-plugin.js.map +1 -0
- package/src/builders/karma/progress-reporter.d.ts +17 -0
- package/src/builders/karma/progress-reporter.js +76 -0
- package/src/builders/karma/progress-reporter.js.map +1 -0
- package/src/builders/karma/schema.d.ts +250 -0
- package/src/builders/karma/schema.js +16 -0
- package/src/builders/karma/schema.js.map +1 -0
- package/src/builders/karma/schema.json +348 -0
- package/src/builders/karma/utils.d.ts +17 -0
- package/src/builders/karma/utils.js +67 -0
- package/src/builders/karma/utils.js.map +1 -0
- package/src/builders/ng-packagr/builder.d.ts +19 -0
- package/src/builders/ng-packagr/builder.js +107 -0
- package/src/builders/ng-packagr/builder.js.map +1 -0
- package/src/builders/ng-packagr/index.d.ts +13 -0
- package/src/builders/ng-packagr/index.js +16 -0
- package/src/builders/ng-packagr/index.js.map +1 -0
- package/src/builders/ng-packagr/schema.d.ts +21 -0
- package/src/builders/ng-packagr/schema.js +5 -0
- package/src/builders/ng-packagr/schema.js.map +1 -0
- package/src/builders/ng-packagr/schema.json +26 -0
- package/src/builders/unit-test/builder.d.ts +15 -0
- package/src/builders/unit-test/builder.js +376 -0
- package/src/builders/unit-test/builder.js.map +1 -0
- package/src/builders/unit-test/index.d.ts +12 -0
- package/src/builders/unit-test/index.js +16 -0
- package/src/builders/unit-test/index.js.map +1 -0
- package/src/builders/unit-test/options.d.ts +53 -0
- package/src/builders/unit-test/options.js +119 -0
- package/src/builders/unit-test/options.js.map +1 -0
- package/src/builders/unit-test/runners/api.d.ts +65 -0
- package/src/builders/unit-test/runners/api.js +10 -0
- package/src/builders/unit-test/runners/api.js.map +1 -0
- package/src/builders/unit-test/runners/dependency-checker.d.ts +43 -0
- package/src/builders/unit-test/runners/dependency-checker.js +83 -0
- package/src/builders/unit-test/runners/dependency-checker.js.map +1 -0
- package/src/builders/unit-test/runners/karma/executor.d.ts +17 -0
- package/src/builders/unit-test/runners/karma/executor.js +164 -0
- package/src/builders/unit-test/runners/karma/executor.js.map +1 -0
- package/src/builders/unit-test/runners/karma/index.d.ts +13 -0
- package/src/builders/unit-test/runners/karma/index.js +44 -0
- package/src/builders/unit-test/runners/karma/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.d.ts +17 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.js +174 -0
- package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/build-options.d.ts +11 -0
- package/src/builders/unit-test/runners/vitest/build-options.js +169 -0
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/configuration.d.ts +15 -0
- package/src/builders/unit-test/runners/vitest/configuration.js +57 -0
- package/src/builders/unit-test/runners/vitest/configuration.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/executor.d.ts +29 -0
- package/src/builders/unit-test/runners/vitest/executor.js +318 -0
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/index.d.ts +13 -0
- package/src/builders/unit-test/runners/vitest/index.js +69 -0
- package/src/builders/unit-test/runners/vitest/index.js.map +1 -0
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +32 -0
- package/src/builders/unit-test/runners/vitest/plugins.js +382 -0
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -0
- package/src/builders/unit-test/schema.d.ts +229 -0
- package/src/builders/unit-test/schema.js +25 -0
- package/src/builders/unit-test/schema.js.map +1 -0
- package/src/builders/unit-test/schema.json +280 -0
- package/src/builders/unit-test/test-discovery.d.ts +47 -0
- package/src/builders/unit-test/test-discovery.js +280 -0
- package/src/builders/unit-test/test-discovery.js.map +1 -0
- package/src/index.d.ts +16 -0
- package/src/index.js +25 -0
- package/src/index.js.map +1 -0
- package/src/private.d.ts +57 -0
- package/src/private.js +104 -0
- package/src/private.js.map +1 -0
- package/src/tools/angular/angular-host.d.ts +27 -0
- package/src/tools/angular/angular-host.js +164 -0
- package/src/tools/angular/angular-host.js.map +1 -0
- package/src/tools/angular/compilation/angular-compilation.d.ts +45 -0
- package/src/tools/angular/compilation/angular-compilation.js +104 -0
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -0
- package/src/tools/angular/compilation/aot-compilation.d.ts +26 -0
- package/src/tools/angular/compilation/aot-compilation.js +341 -0
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -0
- package/src/tools/angular/compilation/factory.d.ts +17 -0
- package/src/tools/angular/compilation/factory.js +67 -0
- package/src/tools/angular/compilation/factory.js.map +1 -0
- package/src/tools/angular/compilation/hmr-candidates.d.ts +22 -0
- package/src/tools/angular/compilation/hmr-candidates.js +270 -0
- package/src/tools/angular/compilation/hmr-candidates.js.map +1 -0
- package/src/tools/angular/compilation/index.d.ts +10 -0
- package/src/tools/angular/compilation/index.js +18 -0
- package/src/tools/angular/compilation/index.js.map +1 -0
- package/src/tools/angular/compilation/jit-compilation.d.ts +23 -0
- package/src/tools/angular/compilation/jit-compilation.js +150 -0
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -0
- package/src/tools/angular/compilation/noop-compilation.d.ts +20 -0
- package/src/tools/angular/compilation/noop-compilation.js +27 -0
- package/src/tools/angular/compilation/noop-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-compilation.d.ts +44 -0
- package/src/tools/angular/compilation/parallel-compilation.js +119 -0
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -0
- package/src/tools/angular/compilation/parallel-worker.d.ts +39 -0
- package/src/tools/angular/compilation/parallel-worker.js +102 -0
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.d.ts +10 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js +181 -0
- package/src/tools/angular/transformers/jit-bootstrap-transformer.js.map +1 -0
- package/src/tools/angular/transformers/jit-resource-transformer.d.ts +17 -0
- package/src/tools/angular/transformers/jit-resource-transformer.js +187 -0
- package/src/tools/angular/transformers/jit-resource-transformer.js.map +1 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.d.ts +39 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js +164 -0
- package/src/tools/angular/transformers/lazy-routes-transformer.js.map +1 -0
- package/src/tools/angular/transformers/web-worker-transformer.d.ts +17 -0
- package/src/tools/angular/transformers/web-worker-transformer.js +94 -0
- package/src/tools/angular/transformers/web-worker-transformer.js.map +1 -0
- package/src/tools/angular/uri.d.ts +54 -0
- package/src/tools/angular/uri.js +76 -0
- package/src/tools/angular/uri.js.map +1 -0
- package/src/tools/babel/plugins/add-code-coverage.d.ts +14 -0
- package/src/tools/babel/plugins/add-code-coverage.js +45 -0
- package/src/tools/babel/plugins/add-code-coverage.js.map +1 -0
- package/src/tools/babel/plugins/adjust-static-class-members.d.ts +25 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js +349 -0
- package/src/tools/babel/plugins/adjust-static-class-members.js.map +1 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +21 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js +113 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js.map +1 -0
- package/src/tools/babel/plugins/elide-angular-metadata.d.ts +21 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js +110 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js.map +1 -0
- package/src/tools/babel/plugins/index.d.ts +11 -0
- package/src/tools/babel/plugins/index.js +22 -0
- package/src/tools/babel/plugins/index.js.map +1 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +13 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.js +128 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.js.map +1 -0
- package/src/tools/babel/plugins/types.d.ts +20 -0
- package/src/tools/babel/typings.d.ts +21 -0
- package/src/tools/esbuild/angular/compilation-state.d.ts +15 -0
- package/src/tools/esbuild/angular/compilation-state.js +45 -0
- package/src/tools/esbuild/angular/compilation-state.js.map +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.d.ts +34 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +631 -0
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -0
- package/src/tools/esbuild/angular/component-stylesheets.d.ts +49 -0
- package/src/tools/esbuild/angular/component-stylesheets.js +222 -0
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -0
- package/src/tools/esbuild/angular/diagnostics.d.ts +15 -0
- package/src/tools/esbuild/angular/diagnostics.js +72 -0
- package/src/tools/esbuild/angular/diagnostics.js.map +1 -0
- package/src/tools/esbuild/angular/file-reference-tracker.d.ts +17 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js +58 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js.map +1 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.d.ts +23 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js +120 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js.map +1 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.d.ts +8 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js +28 -0
- package/src/tools/esbuild/angular/rewrite-bazel-paths.js.map +1 -0
- package/src/tools/esbuild/angular/source-file-cache.d.ts +18 -0
- package/src/tools/esbuild/angular/source-file-cache.js +80 -0
- package/src/tools/esbuild/angular/source-file-cache.js.map +1 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.d.ts +16 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js +50 -0
- package/src/tools/esbuild/angular-localize-init-warning-plugin.js.map +1 -0
- package/src/tools/esbuild/application-code-bundle.d.ts +19 -0
- package/src/tools/esbuild/application-code-bundle.js +542 -0
- package/src/tools/esbuild/application-code-bundle.js.map +1 -0
- package/src/tools/esbuild/budget-stats.d.ts +19 -0
- package/src/tools/esbuild/budget-stats.js +67 -0
- package/src/tools/esbuild/budget-stats.js.map +1 -0
- package/src/tools/esbuild/bundler-context.d.ts +80 -0
- package/src/tools/esbuild/bundler-context.js +399 -0
- package/src/tools/esbuild/bundler-context.js.map +1 -0
- package/src/tools/esbuild/bundler-execution-result.d.ts +95 -0
- package/src/tools/esbuild/bundler-execution-result.js +149 -0
- package/src/tools/esbuild/bundler-execution-result.js.map +1 -0
- package/src/tools/esbuild/cache.d.ts +93 -0
- package/src/tools/esbuild/cache.js +100 -0
- package/src/tools/esbuild/cache.js.map +1 -0
- package/src/tools/esbuild/commonjs-checker.d.ts +28 -0
- package/src/tools/esbuild/commonjs-checker.js +151 -0
- package/src/tools/esbuild/commonjs-checker.js.map +1 -0
- package/src/tools/esbuild/compiler-plugin-options.d.ts +14 -0
- package/src/tools/esbuild/compiler-plugin-options.js +30 -0
- package/src/tools/esbuild/compiler-plugin-options.js.map +1 -0
- package/src/tools/esbuild/external-packages-plugin.d.ts +18 -0
- package/src/tools/esbuild/external-packages-plugin.js +97 -0
- package/src/tools/esbuild/external-packages-plugin.js.map +1 -0
- package/src/tools/esbuild/global-scripts.d.ts +16 -0
- package/src/tools/esbuild/global-scripts.js +153 -0
- package/src/tools/esbuild/global-scripts.js.map +1 -0
- package/src/tools/esbuild/global-styles.d.ts +10 -0
- package/src/tools/esbuild/global-styles.js +79 -0
- package/src/tools/esbuild/global-styles.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +77 -0
- package/src/tools/esbuild/i18n-inliner-worker.js +184 -0
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner.d.ts +58 -0
- package/src/tools/esbuild/i18n-inliner.js +266 -0
- package/src/tools/esbuild/i18n-inliner.js.map +1 -0
- package/src/tools/esbuild/i18n-locale-plugin.d.ts +22 -0
- package/src/tools/esbuild/i18n-locale-plugin.js +139 -0
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -0
- package/src/tools/esbuild/index-html-generator.d.ts +15 -0
- package/src/tools/esbuild/index-html-generator.js +91 -0
- package/src/tools/esbuild/index-html-generator.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer-worker.d.ts +20 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +162 -0
- package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer.d.ts +54 -0
- package/src/tools/esbuild/javascript-transformer.js +153 -0
- package/src/tools/esbuild/javascript-transformer.js.map +1 -0
- package/src/tools/esbuild/license-extractor.d.ts +25 -0
- package/src/tools/esbuild/license-extractor.js +158 -0
- package/src/tools/esbuild/license-extractor.js.map +1 -0
- package/src/tools/esbuild/lmdb-cache-store.d.ts +18 -0
- package/src/tools/esbuild/lmdb-cache-store.js +55 -0
- package/src/tools/esbuild/lmdb-cache-store.js.map +1 -0
- package/src/tools/esbuild/load-result-cache.d.ts +21 -0
- package/src/tools/esbuild/load-result-cache.js +76 -0
- package/src/tools/esbuild/load-result-cache.js.map +1 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.d.ts +9 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js +42 -0
- package/src/tools/esbuild/loader-import-attribute-plugin.js.map +1 -0
- package/src/tools/esbuild/profiling.d.ts +11 -0
- package/src/tools/esbuild/profiling.js +78 -0
- package/src/tools/esbuild/profiling.js.map +1 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.d.ts +18 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +44 -0
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js.map +1 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.d.ts +22 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js +37 -0
- package/src/tools/esbuild/server-bundle-metadata-plugin.js.map +1 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.d.ts +17 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +73 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.d.ts +41 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js +66 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.d.ts +25 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js +57 -0
- package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/css-language.js +16 -0
- package/src/tools/esbuild/stylesheets/css-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +18 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +114 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -0
- package/src/tools/esbuild/stylesheets/less-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/less-language.js +161 -0
- package/src/tools/esbuild/stylesheets/less-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/sass-language.d.ts +10 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +231 -0
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +77 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +333 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js.map +1 -0
- package/src/tools/esbuild/utils.d.ts +58 -0
- package/src/tools/esbuild/utils.js +394 -0
- package/src/tools/esbuild/utils.js.map +1 -0
- package/src/tools/esbuild/virtual-module-plugin.d.ts +33 -0
- package/src/tools/esbuild/virtual-module-plugin.js +43 -0
- package/src/tools/esbuild/virtual-module-plugin.js.map +1 -0
- package/src/tools/esbuild/wasm-plugin.d.ts +28 -0
- package/src/tools/esbuild/wasm-plugin.js +211 -0
- package/src/tools/esbuild/wasm-plugin.js.map +1 -0
- package/src/tools/esbuild/wasm.d.ts +25 -0
- package/src/tools/esbuild/watcher.d.ts +25 -0
- package/src/tools/esbuild/watcher.js +119 -0
- package/src/tools/esbuild/watcher.js.map +1 -0
- package/src/tools/sass/lexer.d.ts +18 -0
- package/src/tools/sass/lexer.js +172 -0
- package/src/tools/sass/lexer.js.map +1 -0
- package/src/tools/sass/rebasing-importer.d.ts +101 -0
- package/src/tools/sass/rebasing-importer.js +333 -0
- package/src/tools/sass/rebasing-importer.js.map +1 -0
- package/src/tools/sass/sass-service.d.ts +67 -0
- package/src/tools/sass/sass-service.js +242 -0
- package/src/tools/sass/sass-service.js.map +1 -0
- package/src/tools/sass/worker.d.ts +63 -0
- package/src/tools/sass/worker.js +202 -0
- package/src/tools/sass/worker.js.map +1 -0
- package/src/tools/vite/middlewares/assets-middleware.d.ts +17 -0
- package/src/tools/vite/middlewares/assets-middleware.js +205 -0
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/base-middleware.d.ts +17 -0
- package/src/tools/vite/middlewares/base-middleware.js +44 -0
- package/src/tools/vite/middlewares/base-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js +53 -0
- package/src/tools/vite/middlewares/chrome-devtools-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/component-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/component-middleware.js +36 -0
- package/src/tools/vite/middlewares/component-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/headers-middleware.d.ts +19 -0
- package/src/tools/vite/middlewares/headers-middleware.js +35 -0
- package/src/tools/vite/middlewares/headers-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/host-check-middleware.d.ts +9 -0
- package/src/tools/vite/middlewares/host-check-middleware.js +61 -0
- package/src/tools/vite/middlewares/host-check-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js +42 -0
- package/src/tools/vite/middlewares/html-fallback-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index-html-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/index-html-middleware.js +47 -0
- package/src/tools/vite/middlewares/index-html-middleware.js.map +1 -0
- package/src/tools/vite/middlewares/index.d.ts +16 -0
- package/src/tools/vite/middlewares/index.js +30 -0
- package/src/tools/vite/middlewares/index.js.map +1 -0
- package/src/tools/vite/middlewares/ssr-middleware.d.ts +10 -0
- package/src/tools/vite/middlewares/ssr-middleware.js +129 -0
- package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -0
- package/src/tools/vite/plugins/angular-memory-plugin.d.ts +18 -0
- package/src/tools/vite/plugins/angular-memory-plugin.js +149 -0
- package/src/tools/vite/plugins/angular-memory-plugin.js.map +1 -0
- package/src/tools/vite/plugins/id-prefix-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js +46 -0
- package/src/tools/vite/plugins/id-prefix-plugin.js.map +1 -0
- package/src/tools/vite/plugins/index.d.ts +12 -0
- package/src/tools/vite/plugins/index.js +22 -0
- package/src/tools/vite/plugins/index.js.map +1 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.d.ts +45 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.js +108 -0
- package/src/tools/vite/plugins/setup-middlewares-plugin.js.map +1 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.js +92 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.js.map +1 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.d.ts +9 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.js +68 -0
- package/src/tools/vite/plugins/ssr-transform-plugin.js.map +1 -0
- package/src/tools/vite/utils.d.ts +45 -0
- package/src/tools/vite/utils.js +106 -0
- package/src/tools/vite/utils.js.map +1 -0
- package/src/utils/bundle-calculator.d.ts +45 -0
- package/src/utils/bundle-calculator.js +305 -0
- package/src/utils/bundle-calculator.js.map +1 -0
- package/src/utils/check-port.d.ts +8 -0
- package/src/utils/check-port.js +88 -0
- package/src/utils/check-port.js.map +1 -0
- package/src/utils/color.d.ts +9 -0
- package/src/utils/color.js +28 -0
- package/src/utils/color.js.map +1 -0
- package/src/utils/delete-output-dir.d.ts +11 -0
- package/src/utils/delete-output-dir.js +46 -0
- package/src/utils/delete-output-dir.js.map +1 -0
- package/src/utils/environment-options.d.ts +64 -0
- package/src/utils/environment-options.js +150 -0
- package/src/utils/environment-options.js.map +1 -0
- package/src/utils/error.d.ts +10 -0
- package/src/utils/error.js +21 -0
- package/src/utils/error.js.map +1 -0
- package/src/utils/format-bytes.d.ts +8 -0
- package/src/utils/format-bytes.js +22 -0
- package/src/utils/format-bytes.js.map +1 -0
- package/src/utils/i18n-options.d.ts +36 -0
- package/src/utils/i18n-options.js +208 -0
- package/src/utils/i18n-options.js.map +1 -0
- package/src/utils/index-file/add-event-dispatch-contract.d.ts +8 -0
- package/src/utils/index-file/add-event-dispatch-contract.js +28 -0
- package/src/utils/index-file/add-event-dispatch-contract.js.map +1 -0
- package/src/utils/index-file/augment-index-html.d.ts +40 -0
- package/src/utils/index-file/augment-index-html.js +300 -0
- package/src/utils/index-file/augment-index-html.js.map +1 -0
- package/src/utils/index-file/auto-csp.d.ts +23 -0
- package/src/utils/index-file/auto-csp.js +295 -0
- package/src/utils/index-file/auto-csp.js.map +1 -0
- package/src/utils/index-file/html-rewriting-stream.d.ts +15 -0
- package/src/utils/index-file/html-rewriting-stream.js +60 -0
- package/src/utils/index-file/html-rewriting-stream.js.map +1 -0
- package/src/utils/index-file/index-html-generator.d.ts +61 -0
- package/src/utils/index-file/index-html-generator.js +154 -0
- package/src/utils/index-file/index-html-generator.js.map +1 -0
- package/src/utils/index-file/inline-critical-css.d.ts +25 -0
- package/src/utils/index-file/inline-critical-css.js +193 -0
- package/src/utils/index-file/inline-critical-css.js.map +1 -0
- package/src/utils/index-file/inline-fonts.d.ts +23 -0
- package/src/utils/index-file/inline-fonts.js +240 -0
- package/src/utils/index-file/inline-fonts.js.map +1 -0
- package/src/utils/index-file/ngcm-attribute.d.ts +15 -0
- package/src/utils/index-file/ngcm-attribute.js +38 -0
- package/src/utils/index-file/ngcm-attribute.js.map +1 -0
- package/src/utils/index-file/nonce.d.ts +12 -0
- package/src/utils/index-file/nonce.js +54 -0
- package/src/utils/index-file/nonce.js.map +1 -0
- package/src/utils/index-file/valid-self-closing-tags.d.ts +9 -0
- package/src/utils/index-file/valid-self-closing-tags.js +90 -0
- package/src/utils/index-file/valid-self-closing-tags.js.map +1 -0
- package/src/utils/index.d.ts +11 -0
- package/src/utils/index.js +28 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/load-esm.d.ts +20 -0
- package/src/utils/load-esm.js +31 -0
- package/src/utils/load-esm.js.map +1 -0
- package/src/utils/load-proxy-config.d.ts +8 -0
- package/src/utils/load-proxy-config.js +186 -0
- package/src/utils/load-proxy-config.js.map +1 -0
- package/src/utils/load-translations.d.ts +16 -0
- package/src/utils/load-translations.js +93 -0
- package/src/utils/load-translations.js.map +1 -0
- package/src/utils/normalize-asset-patterns.d.ts +11 -0
- package/src/utils/normalize-asset-patterns.js +111 -0
- package/src/utils/normalize-asset-patterns.js.map +1 -0
- package/src/utils/normalize-cache.d.ts +16 -0
- package/src/utils/normalize-cache.js +46 -0
- package/src/utils/normalize-cache.js.map +1 -0
- package/src/utils/normalize-optimization.d.ts +13 -0
- package/src/utils/normalize-optimization.js +42 -0
- package/src/utils/normalize-optimization.js.map +1 -0
- package/src/utils/normalize-source-maps.d.ts +9 -0
- package/src/utils/normalize-source-maps.js +25 -0
- package/src/utils/normalize-source-maps.js.map +1 -0
- package/src/utils/path.d.ts +29 -0
- package/src/utils/path.js +38 -0
- package/src/utils/path.js.map +1 -0
- package/src/utils/postcss-configuration.d.ts +20 -0
- package/src/utils/postcss-configuration.js +86 -0
- package/src/utils/postcss-configuration.js.map +1 -0
- package/src/utils/project-metadata.d.ts +21 -0
- package/src/utils/project-metadata.js +32 -0
- package/src/utils/project-metadata.js.map +1 -0
- package/src/utils/purge-cache.d.ts +10 -0
- package/src/utils/purge-cache.js +40 -0
- package/src/utils/purge-cache.js.map +1 -0
- package/src/utils/resolve-assets.d.ts +18 -0
- package/src/utils/resolve-assets.js +35 -0
- package/src/utils/resolve-assets.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +18 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +125 -0
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.d.ts +8 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +14 -0
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js.map +1 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.d.ts +8 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js +14 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -0
- package/src/utils/server-rendering/fetch-patch.d.ts +8 -0
- package/src/utils/server-rendering/fetch-patch.js +64 -0
- package/src/utils/server-rendering/fetch-patch.js.map +1 -0
- package/src/utils/server-rendering/launch-server.d.ts +14 -0
- package/src/utils/server-rendering/launch-server.js +96 -0
- package/src/utils/server-rendering/launch-server.js.map +1 -0
- package/src/utils/server-rendering/load-esm-from-memory.d.ts +27 -0
- package/src/utils/server-rendering/load-esm-from-memory.js +26 -0
- package/src/utils/server-rendering/load-esm-from-memory.js.map +1 -0
- package/src/utils/server-rendering/manifest.d.ts +58 -0
- package/src/utils/server-rendering/manifest.js +177 -0
- package/src/utils/server-rendering/manifest.js.map +1 -0
- package/src/utils/server-rendering/models.d.ts +28 -0
- package/src/utils/server-rendering/models.js +22 -0
- package/src/utils/server-rendering/models.js.map +1 -0
- package/src/utils/server-rendering/prerender.d.ts +39 -0
- package/src/utils/server-rendering/prerender.js +246 -0
- package/src/utils/server-rendering/prerender.js.map +1 -0
- package/src/utils/server-rendering/render-worker.d.ts +23 -0
- package/src/utils/server-rendering/render-worker.js +79 -0
- package/src/utils/server-rendering/render-worker.js.map +1 -0
- package/src/utils/server-rendering/routes-extractor-worker.d.ts +16 -0
- package/src/utils/server-rendering/routes-extractor-worker.js +73 -0
- package/src/utils/server-rendering/routes-extractor-worker.js.map +1 -0
- package/src/utils/server-rendering/utils.d.ts +21 -0
- package/src/utils/server-rendering/utils.js +43 -0
- package/src/utils/server-rendering/utils.js.map +1 -0
- package/src/utils/service-worker.d.ts +23 -0
- package/src/utils/service-worker.js +215 -0
- package/src/utils/service-worker.js.map +1 -0
- package/src/utils/stats-table.d.ts +20 -0
- package/src/utils/stats-table.js +205 -0
- package/src/utils/stats-table.js.map +1 -0
- package/src/utils/supported-browsers.d.ts +10 -0
- package/src/utils/supported-browsers.js +57 -0
- package/src/utils/supported-browsers.js.map +1 -0
- package/src/utils/test-files.d.ts +17 -0
- package/src/utils/test-files.js +83 -0
- package/src/utils/test-files.js.map +1 -0
- package/src/utils/tty.d.ts +8 -0
- package/src/utils/tty.js +23 -0
- package/src/utils/tty.js.map +1 -0
- package/src/utils/url.d.ts +81 -0
- package/src/utils/url.js +122 -0
- package/src/utils/url.js.map +1 -0
- package/src/utils/version.d.ts +8 -0
- package/src/utils/version.js +58 -0
- package/src/utils/version.js.map +1 -0
- package/src/utils/worker-pool.d.ts +12 -0
- package/src/utils/worker-pool.js +46 -0
- package/src/utils/worker-pool.js.map +1 -0
|
@@ -0,0 +1,205 @@
|
|
|
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.createAngularAssetsMiddleware = createAngularAssetsMiddleware;
|
|
11
|
+
exports.createBuildAssetsMiddleware = createBuildAssetsMiddleware;
|
|
12
|
+
const mrmime_1 = require("mrmime");
|
|
13
|
+
const node_crypto_1 = require("node:crypto");
|
|
14
|
+
const node_fs_1 = require("node:fs");
|
|
15
|
+
const node_path_1 = require("node:path");
|
|
16
|
+
const utils_1 = require("../utils");
|
|
17
|
+
const CSS_PREPROCESSOR_REGEXP = /\.(?:s[ac]ss|less|css)$/;
|
|
18
|
+
const JS_TS_REGEXP = /\.[cm]?[tj]sx?$/;
|
|
19
|
+
function createAngularAssetsMiddleware(server, assets, outputFiles, componentStyles, encapsulateStyle) {
|
|
20
|
+
return function angularAssetsMiddleware(req, res, next) {
|
|
21
|
+
if (req.url === undefined || res.writableEnded) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Parse the incoming request.
|
|
25
|
+
// The base of the URL is unused but required to parse the URL.
|
|
26
|
+
const pathname = (0, utils_1.pathnameWithoutBasePath)(req.url, server.config.base);
|
|
27
|
+
const extension = (0, node_path_1.extname)(pathname);
|
|
28
|
+
const pathnameHasTrailingSlash = pathname.at(-1) === '/';
|
|
29
|
+
// Rewrite all build assets to a vite raw fs URL
|
|
30
|
+
const asset = assets.get(pathname);
|
|
31
|
+
if (asset) {
|
|
32
|
+
// This is a workaround to serve extensionless, CSS, JS and TS files without Vite transformations.
|
|
33
|
+
if (!extension || JS_TS_REGEXP.test(extension) || CSS_PREPROCESSOR_REGEXP.test(extension)) {
|
|
34
|
+
const contents = (0, node_fs_1.readFileSync)(asset.source);
|
|
35
|
+
const etag = `W/${(0, node_crypto_1.createHash)('sha256').update(contents).digest('hex')}`;
|
|
36
|
+
if (checkAndHandleEtag(req, res, etag)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const mimeType = (0, mrmime_1.lookup)(extension);
|
|
40
|
+
if (mimeType) {
|
|
41
|
+
res.setHeader('Content-Type', mimeType);
|
|
42
|
+
}
|
|
43
|
+
res.setHeader('ETag', etag);
|
|
44
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
45
|
+
res.end(contents);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// The encoding needs to match what happens in the vite static middleware.
|
|
49
|
+
// ref: https://github.com/vitejs/vite/blob/d4f13bd81468961c8c926438e815ab6b1c82735e/packages/vite/src/node/server/middlewares/static.ts#L163
|
|
50
|
+
req.url = `${server.config.base}@fs/${encodeURI(asset.source)}`;
|
|
51
|
+
next();
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// HTML fallbacking
|
|
56
|
+
// This matches what happens in the vite html fallback middleware.
|
|
57
|
+
// ref: https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/htmlFallback.ts#L9
|
|
58
|
+
const htmlAssetSourcePath = pathnameHasTrailingSlash
|
|
59
|
+
? // Trailing slash check for `index.html`.
|
|
60
|
+
assets.get(pathname + 'index.html')
|
|
61
|
+
: // Non-trailing slash check for fallback `.html`
|
|
62
|
+
assets.get(pathname + '.html');
|
|
63
|
+
if (htmlAssetSourcePath) {
|
|
64
|
+
req.url = `${server.config.base}@fs/${encodeURI(htmlAssetSourcePath.source)}`;
|
|
65
|
+
next();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// Support HTTP HEAD requests for the virtual output files from the Angular build
|
|
69
|
+
if (req.method === 'HEAD' && outputFiles.get(pathname)?.servable) {
|
|
70
|
+
// While a GET will also generate content, the rest of the response is equivalent
|
|
71
|
+
req.method = 'GET';
|
|
72
|
+
}
|
|
73
|
+
// Resource files are handled directly.
|
|
74
|
+
// Global stylesheets (CSS files) are currently considered resources to workaround
|
|
75
|
+
// dev server sourcemap issues with stylesheets.
|
|
76
|
+
if (extension !== '.js' && extension !== '.html') {
|
|
77
|
+
const outputFile = outputFiles.get(pathname);
|
|
78
|
+
if (outputFile?.servable) {
|
|
79
|
+
let data = outputFile.contents;
|
|
80
|
+
const componentStyle = componentStyles.get(pathname);
|
|
81
|
+
if (componentStyle) {
|
|
82
|
+
// Inject component ID for view encapsulation if requested
|
|
83
|
+
const searchParams = new URL(req.url, 'http://localhost').searchParams;
|
|
84
|
+
const componentId = searchParams.get('ngcomp');
|
|
85
|
+
if (componentId !== null) {
|
|
86
|
+
// Track if the component uses ShadowDOM encapsulation (3 = ViewEncapsulation.ShadowDom)
|
|
87
|
+
// Shadow DOM components currently require a full reload.
|
|
88
|
+
// Vite's CSS hot replacement does not support shadow root searching.
|
|
89
|
+
if (searchParams.get('e') === '3') {
|
|
90
|
+
componentStyle.reload = true;
|
|
91
|
+
}
|
|
92
|
+
// Record the component style usage for HMR updates
|
|
93
|
+
if (componentStyle.used === undefined) {
|
|
94
|
+
componentStyle.used = new Set([componentId]);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
componentStyle.used.add(componentId);
|
|
98
|
+
}
|
|
99
|
+
const etag = `W/"${outputFile.contents.byteLength}-${outputFile.hash}-${componentId}"`;
|
|
100
|
+
if (checkAndHandleEtag(req, res, etag)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Shim the stylesheet if a component ID is provided
|
|
104
|
+
if (componentId.length > 0) {
|
|
105
|
+
// Validate component ID
|
|
106
|
+
if (!/^[_.\-\p{Letter}\d]+-c\d+$/u.test(componentId)) {
|
|
107
|
+
const message = 'Invalid component stylesheet ID request: ' + componentId;
|
|
108
|
+
// eslint-disable-next-line no-console
|
|
109
|
+
console.error(message);
|
|
110
|
+
res.statusCode = 400;
|
|
111
|
+
res.end(message);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
data = encapsulateStyle(data, componentId);
|
|
115
|
+
}
|
|
116
|
+
res.setHeader('Content-Type', 'text/css');
|
|
117
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
118
|
+
res.setHeader('ETag', etag);
|
|
119
|
+
res.end(data);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const etag = `W/"${outputFile.contents.byteLength}-${outputFile.hash}"`;
|
|
124
|
+
if (checkAndHandleEtag(req, res, etag)) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const mimeType = (0, mrmime_1.lookup)(extension);
|
|
128
|
+
if (mimeType) {
|
|
129
|
+
res.setHeader('Content-Type', mimeType);
|
|
130
|
+
}
|
|
131
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
132
|
+
res.setHeader('ETag', etag);
|
|
133
|
+
res.end(data);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// If the path has no trailing slash and it matches a servable directory redirect to the same path with slash.
|
|
138
|
+
// This matches the default express static behaviour.
|
|
139
|
+
// See: https://github.com/expressjs/serve-static/blob/89fc94567fae632718a2157206c52654680e9d01/index.js#L182
|
|
140
|
+
if (!pathnameHasTrailingSlash) {
|
|
141
|
+
for (const assetPath of assets.keys()) {
|
|
142
|
+
if (pathname === assetPath.substring(0, assetPath.lastIndexOf('/'))) {
|
|
143
|
+
const { pathname, search, hash } = new URL(req.url, 'http://localhost');
|
|
144
|
+
const location = [pathname, '/', search, hash].join('');
|
|
145
|
+
res.statusCode = 301;
|
|
146
|
+
res.setHeader('Content-Type', 'text/html');
|
|
147
|
+
res.setHeader('Location', location);
|
|
148
|
+
res.end(`
|
|
149
|
+
<!DOCTYPE html>
|
|
150
|
+
<html lang="en">
|
|
151
|
+
<head>
|
|
152
|
+
<meta charset="utf-8">
|
|
153
|
+
<title>Redirecting</title>
|
|
154
|
+
</head>
|
|
155
|
+
<body>
|
|
156
|
+
<pre>Redirecting to <a href="${location}">${location}</a></pre>
|
|
157
|
+
</body>
|
|
158
|
+
</html>
|
|
159
|
+
`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
next();
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function checkAndHandleEtag(req, res, etag) {
|
|
168
|
+
if (req.headers['if-none-match'] === etag) {
|
|
169
|
+
res.statusCode = 304;
|
|
170
|
+
res.end();
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
function createBuildAssetsMiddleware(basePath, buildResultFiles, readHandler = node_fs_1.readFileSync) {
|
|
176
|
+
return function buildAssetsMiddleware(req, res, next) {
|
|
177
|
+
if (req.url === undefined || res.writableEnded) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// Parse the incoming request.
|
|
181
|
+
// The base of the URL is unused but required to parse the URL.
|
|
182
|
+
const pathname = (0, utils_1.pathnameWithoutBasePath)(req.url, basePath);
|
|
183
|
+
const extension = (0, node_path_1.extname)(pathname);
|
|
184
|
+
if (extension && !/\.[mc]?[jt]s(?:\.map)?$/.test(extension)) {
|
|
185
|
+
const outputFile = buildResultFiles.get(pathname.slice(1));
|
|
186
|
+
if (outputFile) {
|
|
187
|
+
const contents = outputFile.origin === 'memory' ? outputFile.contents : readHandler(outputFile.inputPath);
|
|
188
|
+
const etag = `W/${(0, node_crypto_1.createHash)('sha256').update(contents).digest('hex')}`;
|
|
189
|
+
if (checkAndHandleEtag(req, res, etag)) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const mimeType = (0, mrmime_1.lookup)(extension);
|
|
193
|
+
if (mimeType) {
|
|
194
|
+
res.setHeader('Content-Type', mimeType);
|
|
195
|
+
}
|
|
196
|
+
res.setHeader('ETag', etag);
|
|
197
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
198
|
+
res.end(contents);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
next();
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=assets-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-middleware.js","sourceRoot":"","sources":["assets-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoBH,sEA+KC;AAiBD,kEAwCC;AA1PD,mCAAkD;AAClD,6CAAyC;AACzC,qCAAuC;AAEvC,yCAAoC;AAGpC,oCAAkG;AAQlG,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAgB,6BAA6B,CAC3C,MAAqB,EACrB,MAA2B,EAC3B,WAAqC,EACrC,eAAkD,EAClD,gBAAoE;IAEpE,OAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,wBAAwB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAEzD,gDAAgD;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,kGAAkG;YAClG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1F,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,KAAK,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAA,eAAc,EAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC3C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,0EAA0E;gBAC1E,6IAA6I;gBAC7I,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,IAAI,EAAE,CAAC;YACT,CAAC;YAED,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,kEAAkE;QAClE,6GAA6G;QAC7G,MAAM,mBAAmB,GAAG,wBAAwB;YAClD,CAAC,CAAC,yCAAyC;gBACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,CAAC,CAAC,gDAAgD;gBAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;QAEnC,IAAI,mBAAmB,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,IAAI,EAAE,CAAC;YAEP,OAAO;QACT,CAAC;QAED,iFAAiF;QACjF,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;YACjE,iFAAiF;YACjF,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,uCAAuC;QACvC,kFAAkF;QAClF,gDAAgD;QAChD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;gBACzB,IAAI,IAAI,GAAwB,UAAU,CAAC,QAAQ,CAAC;gBACpD,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,cAAc,EAAE,CAAC;oBACnB,0DAA0D;oBAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC;oBACvE,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACzB,wFAAwF;wBACxF,yDAAyD;wBACzD,qEAAqE;wBACrE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;4BAClC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;wBAC/B,CAAC;wBAED,mDAAmD;wBACnD,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACtC,cAAc,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC/C,CAAC;6BAAM,CAAC;4BACN,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBACvC,CAAC;wBAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;wBACvF,IAAI,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;4BACvC,OAAO;wBACT,CAAC;wBAED,oDAAoD;wBACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,wBAAwB;4BACxB,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gCACrD,MAAM,OAAO,GAAG,2CAA2C,GAAG,WAAW,CAAC;gCAC1E,sCAAsC;gCACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gCACvB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gCACrB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gCAEjB,OAAO;4BACT,CAAC;4BAED,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC7C,CAAC;wBAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;wBAC1C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;wBAC3C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC5B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAEd,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC;gBACxE,IAAI,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAA,eAAc,EAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC3C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO;YACT,CAAC;QACH,CAAC;QAED,8GAA8G;QAC9G,qDAAqD;QACrD,6GAA6G;QAC7G,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,QAAQ,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACpE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;oBACxE,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAExD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACpC,GAAG,CAAC,GAAG,CAAC;;;;;;;;+CAQ6B,QAAQ,KAAK,QAAQ;;;aAGvD,CAAC,CAAC;oBAEL,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,GAA4B,EAC5B,GAAmB,EACnB,IAAY;IAEZ,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,2BAA2B,CACzC,QAAgB,EAChB,gBAAiD,EACjD,cAAwC,sBAAY;IAEpD,OAAO,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAClD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,SAAS,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAE3F,MAAM,IAAI,GAAG,KAAK,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAA,eAAc,EAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC3C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAElB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -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 { Connect } from 'vite';
|
|
9
|
+
/**
|
|
10
|
+
* Patches the Vite base middleware to correctly handle the Angular application's base href.
|
|
11
|
+
* This is necessary because Vite's default base middleware might not align with Angular's
|
|
12
|
+
* expected path handling when using SSR, especially when a base href is configured.
|
|
13
|
+
*
|
|
14
|
+
* @param middlewares The Connect server instance containing the middleware stack.
|
|
15
|
+
* @param base The base URL path to be handled by the middleware.
|
|
16
|
+
*/
|
|
17
|
+
export declare function patchBaseMiddleware(middlewares: Connect.Server, base: string): void;
|
|
@@ -0,0 +1,44 @@
|
|
|
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.patchBaseMiddleware = patchBaseMiddleware;
|
|
11
|
+
const url_1 = require("../../../utils/url");
|
|
12
|
+
/**
|
|
13
|
+
* Patches the Vite base middleware to correctly handle the Angular application's base href.
|
|
14
|
+
* This is necessary because Vite's default base middleware might not align with Angular's
|
|
15
|
+
* expected path handling when using SSR, especially when a base href is configured.
|
|
16
|
+
*
|
|
17
|
+
* @param middlewares The Connect server instance containing the middleware stack.
|
|
18
|
+
* @param base The base URL path to be handled by the middleware.
|
|
19
|
+
*/
|
|
20
|
+
function patchBaseMiddleware(middlewares, base) {
|
|
21
|
+
const entry = middlewares.stack.find(({ handle }) => typeof handle === 'function' && handle.name.startsWith('viteBaseMiddleware'));
|
|
22
|
+
if (typeof entry?.handle !== 'function') {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
entry.handle = function angularBaseMiddleware(req, res, next) {
|
|
26
|
+
const url = req.url || '/';
|
|
27
|
+
if (url.startsWith(base)) {
|
|
28
|
+
// Rewrite the URL to remove the base prefix before passing it to the next middleware.
|
|
29
|
+
// If the URL is exactly the base, it becomes '/'.
|
|
30
|
+
// Otherwise, we slice off the base and ensure there's a leading slash.
|
|
31
|
+
// See: https://github.com/vitejs/vite/blob/e81c183f8c8ccaf7774ef0d0ee125bf63dbf30b4/packages/vite/src/node/server/middlewares/base.ts#L12
|
|
32
|
+
req.url = url === base ? '/' : (0, url_1.addLeadingSlash)(url.slice(base.length - 1));
|
|
33
|
+
return next();
|
|
34
|
+
}
|
|
35
|
+
const { pathname, hash, search } = new URL(url, 'http://localhost');
|
|
36
|
+
if (pathname === '/' || pathname === '/index.html') {
|
|
37
|
+
res.writeHead(302, { Location: `${base}${search}${hash}` });
|
|
38
|
+
res.end();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
next();
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=base-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-middleware.js","sourceRoot":"","sources":["base-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAcH,kDAmCC;AA7CD,4CAAqD;AAErD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,WAA2B,EAAE,IAAY;IAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAC7F,CAAC;IAEF,IAAI,OAAO,KAAK,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,SAAS,qBAAqB,CAC3C,GAAoB,EACpB,GAAmB,EACnB,IAA6B;QAE7B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC3B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,sFAAsF;YACtF,kDAAkD;YAClD,uEAAuE;YACvE,0IAA0I;YAC1I,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,qBAAe,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAE3E,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACpE,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,GAAG,EAAE,CAAC;YAEV,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 { Connect } from 'vite';
|
|
9
|
+
export declare function createChromeDevtoolsMiddleware(cacheDir: string, projectRoot: string): Connect.NextHandleFunction;
|
|
@@ -0,0 +1,53 @@
|
|
|
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.createChromeDevtoolsMiddleware = createChromeDevtoolsMiddleware;
|
|
14
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const node_crypto_1 = require("node:crypto");
|
|
16
|
+
const node_fs_1 = require("node:fs");
|
|
17
|
+
const node_path_1 = require("node:path");
|
|
18
|
+
const CHROME_DEVTOOLS_ROUTE = '/.well-known/appspecific/com.chrome.devtools.json';
|
|
19
|
+
function createChromeDevtoolsMiddleware(cacheDir, projectRoot) {
|
|
20
|
+
let devtoolsConfig;
|
|
21
|
+
const devtoolsConfigPath = (0, node_path_1.join)(cacheDir, 'com.chrome.devtools.json');
|
|
22
|
+
return function chromeDevtoolsMiddleware(req, res, next) {
|
|
23
|
+
if (req.url !== CHROME_DEVTOOLS_ROUTE) {
|
|
24
|
+
next();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (!devtoolsConfig) {
|
|
28
|
+
// We store the UUID and re-use it to ensure Chrome does not repeatedly ask for permissions when restarting the dev server.
|
|
29
|
+
try {
|
|
30
|
+
devtoolsConfig = (0, node_fs_1.readFileSync)(devtoolsConfigPath, 'utf-8');
|
|
31
|
+
const devtoolsConfigJson = JSON.parse(devtoolsConfig);
|
|
32
|
+
node_assert_1.default.equal(projectRoot, devtoolsConfigJson?.workspace.root);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
const devtoolsConfigJson = {
|
|
36
|
+
workspace: {
|
|
37
|
+
root: projectRoot,
|
|
38
|
+
uuid: (0, node_crypto_1.randomUUID)(),
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
devtoolsConfig = JSON.stringify(devtoolsConfigJson, undefined, 2);
|
|
42
|
+
try {
|
|
43
|
+
(0, node_fs_1.mkdirSync)(cacheDir, { recursive: true });
|
|
44
|
+
(0, node_fs_1.writeFileSync)(devtoolsConfigPath, devtoolsConfig);
|
|
45
|
+
}
|
|
46
|
+
catch { }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
res.setHeader('Content-Type', 'application/json');
|
|
50
|
+
res.end(devtoolsConfig);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=chrome-devtools-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrome-devtools-middleware.js","sourceRoot":"","sources":["chrome-devtools-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAiBH,wEAyCC;AAxDD,8DAAiC;AACjC,6CAAyC;AACzC,qCAAiE;AACjE,yCAAiC;AAUjC,MAAM,qBAAqB,GAAG,mDAAmD,CAAC;AAElF,SAAgB,8BAA8B,CAC5C,QAAgB,EAChB,WAAmB;IAEnB,IAAI,cAAkC,CAAC;IACvC,MAAM,kBAAkB,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAEtE,OAAO,SAAS,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,GAAG,CAAC,GAAG,KAAK,qBAAqB,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC;YAEP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,2HAA2H;YAC3H,IAAI,CAAC;gBACH,cAAc,GAAG,IAAA,sBAAY,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAE3D,MAAM,kBAAkB,GAAiB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACpE,qBAAM,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,kBAAkB,GAAiB;oBACvC,SAAS,EAAE;wBACT,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAA,wBAAU,GAAE;qBACnB;iBACF,CAAC;gBAEF,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAElE,IAAI,CAAC;oBACH,IAAA,mBAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,IAAA,uBAAa,EAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 { Connect, ViteDevServer } from 'vite';
|
|
9
|
+
export declare function createAngularComponentMiddleware(server: ViteDevServer, templateUpdates: ReadonlyMap<string, string>): Connect.NextHandleFunction;
|
|
@@ -0,0 +1,36 @@
|
|
|
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.createAngularComponentMiddleware = createAngularComponentMiddleware;
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const ANGULAR_COMPONENT_PREFIX = '/@ng/component';
|
|
13
|
+
function createAngularComponentMiddleware(server, templateUpdates) {
|
|
14
|
+
return function angularComponentMiddleware(req, res, next) {
|
|
15
|
+
if (req.url === undefined || res.writableEnded) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const pathname = (0, utils_1.pathnameWithoutBasePath)(req.url, server.config.base);
|
|
19
|
+
if (!pathname.includes(ANGULAR_COMPONENT_PREFIX)) {
|
|
20
|
+
next();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const requestUrl = new URL(req.url, 'http://localhost');
|
|
24
|
+
const componentId = requestUrl.searchParams.get('c');
|
|
25
|
+
if (!componentId) {
|
|
26
|
+
res.statusCode = 400;
|
|
27
|
+
res.end();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const updateCode = templateUpdates.get(encodeURIComponent(componentId)) ?? '';
|
|
31
|
+
res.setHeader('Content-Type', 'text/javascript');
|
|
32
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
33
|
+
res.end(updateCode);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=component-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-middleware.js","sourceRoot":"","sources":["component-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAOH,4EA+BC;AAnCD,oCAAmD;AAEnD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAElD,SAAgB,gCAAgC,CAC9C,MAAqB,EACrB,eAA4C;IAE5C,OAAO,SAAS,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACvD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC;YAEP,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YAEV,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9E,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACjD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { Connect, ViteDevServer } from 'vite';
|
|
9
|
+
/**
|
|
10
|
+
* Creates a middleware for adding custom headers.
|
|
11
|
+
*
|
|
12
|
+
* This middleware is responsible for setting HTTP headers as configured in the Vite server options.
|
|
13
|
+
* If headers are defined in the server configuration, they are applied to the server response.
|
|
14
|
+
*
|
|
15
|
+
* @param server - The instance of `ViteDevServer` containing the configuration, including custom headers.
|
|
16
|
+
* @returns A middleware function that processes the incoming request, sets headers if available,
|
|
17
|
+
* and passes control to the next middleware in the chain.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createAngularHeadersMiddleware(server: ViteDevServer): Connect.NextHandleFunction;
|
|
@@ -0,0 +1,35 @@
|
|
|
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.createAngularHeadersMiddleware = createAngularHeadersMiddleware;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a middleware for adding custom headers.
|
|
13
|
+
*
|
|
14
|
+
* This middleware is responsible for setting HTTP headers as configured in the Vite server options.
|
|
15
|
+
* If headers are defined in the server configuration, they are applied to the server response.
|
|
16
|
+
*
|
|
17
|
+
* @param server - The instance of `ViteDevServer` containing the configuration, including custom headers.
|
|
18
|
+
* @returns A middleware function that processes the incoming request, sets headers if available,
|
|
19
|
+
* and passes control to the next middleware in the chain.
|
|
20
|
+
*/
|
|
21
|
+
function createAngularHeadersMiddleware(server) {
|
|
22
|
+
return function angularHeadersMiddleware(_req, res, next) {
|
|
23
|
+
const headers = server.config.server.headers;
|
|
24
|
+
if (!headers) {
|
|
25
|
+
return next();
|
|
26
|
+
}
|
|
27
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
28
|
+
if (value !== undefined) {
|
|
29
|
+
res.setHeader(name, value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
next();
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=headers-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headers-middleware.js","sourceRoot":"","sources":["headers-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,wEAmBC;AA7BD;;;;;;;;;GASG;AACH,SAAgB,8BAA8B,CAAC,MAAqB;IAClE,OAAO,SAAS,wBAAwB,CACtC,IAA6B,EAC7B,GAAmB,EACnB,IAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 { Connect } from 'vite';
|
|
9
|
+
export declare function patchHostValidationMiddleware(middlewares: Connect.Server): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
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.patchHostValidationMiddleware = patchHostValidationMiddleware;
|
|
11
|
+
function patchHostValidationMiddleware(middlewares) {
|
|
12
|
+
const entry = middlewares.stack.find(({ handle }) => typeof handle === 'function' && handle.name.startsWith('hostValidationMiddleware'));
|
|
13
|
+
if (typeof entry?.handle !== 'function') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const originalHandle = entry.handle;
|
|
17
|
+
entry.handle = function angularHostValidationMiddleware(req, res, next) {
|
|
18
|
+
originalHandle(req, {
|
|
19
|
+
writeHead: (code) => {
|
|
20
|
+
res.writeHead(code, { 'content-type': 'text/html' });
|
|
21
|
+
},
|
|
22
|
+
end: () => {
|
|
23
|
+
const hostname = req.headers.host?.toLowerCase().split(':')[0] ?? '';
|
|
24
|
+
res.end(html403(hostname));
|
|
25
|
+
},
|
|
26
|
+
}, next);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function html403(hostname) {
|
|
30
|
+
return `<!doctype html>
|
|
31
|
+
<html>
|
|
32
|
+
<head>
|
|
33
|
+
<meta charset="utf-8" />
|
|
34
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
35
|
+
<title>Blocked request</title>
|
|
36
|
+
<style>
|
|
37
|
+
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
|
|
38
|
+
line-height:1.4;margin:2rem;color:#1f2937}
|
|
39
|
+
code{background:#f3f4f6;padding:.15rem .35rem;border-radius:.25rem}
|
|
40
|
+
main{max-width:760px;margin:0 auto}
|
|
41
|
+
h1{font-size:1.5rem;margin-bottom:.75rem}
|
|
42
|
+
p{margin:.5rem 0}
|
|
43
|
+
pre{background:#f9fafb;border:1px solid #e5e7eb;padding:.75rem;border-radius:.5rem;overflow:auto}
|
|
44
|
+
</style>
|
|
45
|
+
</head>
|
|
46
|
+
<body>
|
|
47
|
+
<main>
|
|
48
|
+
<h1>Blocked request. This host ("${hostname}") is not allowed.</h1>
|
|
49
|
+
<p>To allow this host, add it to <code>allowedHosts</code> under the <code>serve</code> target in <code>angular.json</code>.</p>
|
|
50
|
+
<pre><code>{
|
|
51
|
+
"serve": {
|
|
52
|
+
"options": {
|
|
53
|
+
"allowedHosts": ["${hostname}"]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}</code></pre>
|
|
57
|
+
</main>
|
|
58
|
+
</body>
|
|
59
|
+
</html>`;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=host-check-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-check-middleware.js","sourceRoot":"","sources":["host-check-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAKH,sEA+BC;AA/BD,SAAgB,6BAA6B,CAAC,WAA2B;IACvE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACb,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CACrF,CAAC;IAEF,IAAI,OAAO,KAAK,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAoC,CAAC;IAElE,KAAK,CAAC,MAAM,GAAG,SAAS,+BAA+B,CACrD,GAAoB,EACpB,GAAmB,EACnB,IAA6B;QAE7B,cAAc,CACZ,GAAG,EACH;YACE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClB,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,CAAC;SACgB,EACnB,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;yCAkBgC,QAAQ;;;;;0BAKvB,QAAQ;;;;;;UAMxB,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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 { ServerResponse } from 'node:http';
|
|
9
|
+
import type { Connect } from 'vite';
|
|
10
|
+
export declare function angularHtmlFallbackMiddleware(req: Connect.IncomingMessage, _res: ServerResponse, next: Connect.NextFunction): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
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.angularHtmlFallbackMiddleware = angularHtmlFallbackMiddleware;
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const ALLOWED_FALLBACK_METHODS = Object.freeze(['GET', 'HEAD']);
|
|
13
|
+
function angularHtmlFallbackMiddleware(req, _res, next) {
|
|
14
|
+
// Similar to how it is handled in vite
|
|
15
|
+
// https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/htmlFallback.ts#L15C19-L15C45
|
|
16
|
+
if (!req.method || !ALLOWED_FALLBACK_METHODS.includes(req.method)) {
|
|
17
|
+
// No fallback for unsupported request methods
|
|
18
|
+
next();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (req.url) {
|
|
22
|
+
const mimeType = (0, utils_1.lookupMimeTypeFromRequest)(req.url);
|
|
23
|
+
if ((mimeType === 'text/html' || mimeType === 'application/xhtml+xml') &&
|
|
24
|
+
!/^\/index\.(?:csr\.)?html/.test(req.url)) {
|
|
25
|
+
// eslint-disable-next-line no-console
|
|
26
|
+
console.warn(`Request for HTML file "${req.url}" was received but no asset found. Asset may be missing from build.`);
|
|
27
|
+
}
|
|
28
|
+
else if (mimeType) {
|
|
29
|
+
// No fallback for request of asset-like files
|
|
30
|
+
next();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!req.headers.accept ||
|
|
35
|
+
req.headers.accept.includes('text/html') ||
|
|
36
|
+
req.headers.accept.includes('text/*') ||
|
|
37
|
+
req.headers.accept.includes('*/*')) {
|
|
38
|
+
req.url = '/index.html';
|
|
39
|
+
}
|
|
40
|
+
next();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=html-fallback-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-fallback-middleware.js","sourceRoot":"","sources":["html-fallback-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAQH,sEA0CC;AA9CD,oCAAqD;AAErD,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,SAAgB,6BAA6B,CAC3C,GAA4B,EAC5B,IAAoB,EACpB,IAA0B;IAE1B,uCAAuC;IACvC,mHAAmH;IACnH,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,8CAA8C;QAC9C,IAAI,EAAE,CAAC;QAEP,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAA,iCAAyB,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpD,IACE,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,uBAAuB,CAAC;YAClE,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EACzC,CAAC;YACD,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,0BAA0B,GAAG,CAAC,GAAG,qEAAqE,CACvG,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,8CAA8C;YAC9C,IAAI,EAAE,CAAC;YAEP,OAAO;QACT,CAAC;IACH,CAAC;IAED,IACE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;QACnB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAClC,CAAC;QACD,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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 { Connect, ViteDevServer } from 'vite';
|
|
9
|
+
import { AngularMemoryOutputFiles } from '../utils';
|
|
10
|
+
export declare function createAngularIndexHtmlMiddleware(server: ViteDevServer, outputFiles: AngularMemoryOutputFiles, resetComponentUpdates: () => void, indexHtmlTransformer: ((content: string) => Promise<string>) | undefined): Connect.NextHandleFunction;
|