@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,187 @@
|
|
|
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.createJitResourceTransformer = createJitResourceTransformer;
|
|
14
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
15
|
+
const uri_1 = require("../uri");
|
|
16
|
+
/**
|
|
17
|
+
* Creates a TypeScript Transformer to transform Angular Component resource references into
|
|
18
|
+
* static import statements. This transformer is used in Angular's JIT compilation mode to
|
|
19
|
+
* support processing of component resources. When in AOT mode, the Angular AOT compiler handles
|
|
20
|
+
* this processing and this transformer is not used.
|
|
21
|
+
* @param getTypeChecker A function that returns a TypeScript TypeChecker instance for the program.
|
|
22
|
+
* @returns A TypeScript transformer factory.
|
|
23
|
+
*/
|
|
24
|
+
function createJitResourceTransformer(getTypeChecker) {
|
|
25
|
+
return (context) => {
|
|
26
|
+
const typeChecker = getTypeChecker();
|
|
27
|
+
const nodeFactory = context.factory;
|
|
28
|
+
const resourceImportDeclarations = [];
|
|
29
|
+
const visitNode = (node) => {
|
|
30
|
+
if (typescript_1.default.isClassDeclaration(node)) {
|
|
31
|
+
const decorators = typescript_1.default.getDecorators(node);
|
|
32
|
+
if (!decorators || decorators.length === 0) {
|
|
33
|
+
return node;
|
|
34
|
+
}
|
|
35
|
+
return nodeFactory.updateClassDeclaration(node, [
|
|
36
|
+
...decorators.map((current) => visitDecorator(nodeFactory, current, typeChecker, resourceImportDeclarations)),
|
|
37
|
+
...(typescript_1.default.getModifiers(node) ?? []),
|
|
38
|
+
], node.name, node.typeParameters, node.heritageClauses, node.members);
|
|
39
|
+
}
|
|
40
|
+
return typescript_1.default.visitEachChild(node, visitNode, context);
|
|
41
|
+
};
|
|
42
|
+
return (sourceFile) => {
|
|
43
|
+
const updatedSourceFile = typescript_1.default.visitEachChild(sourceFile, visitNode, context);
|
|
44
|
+
if (resourceImportDeclarations.length > 0) {
|
|
45
|
+
return nodeFactory.updateSourceFile(updatedSourceFile, typescript_1.default.setTextRange(nodeFactory.createNodeArray([...resourceImportDeclarations, ...updatedSourceFile.statements], updatedSourceFile.statements.hasTrailingComma), updatedSourceFile.statements), updatedSourceFile.isDeclarationFile, updatedSourceFile.referencedFiles, updatedSourceFile.typeReferenceDirectives, updatedSourceFile.hasNoDefaultLib, updatedSourceFile.libReferenceDirectives);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return updatedSourceFile;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function visitDecorator(nodeFactory, node, typeChecker, resourceImportDeclarations) {
|
|
54
|
+
const origin = getDecoratorOrigin(node, typeChecker);
|
|
55
|
+
if (!origin || origin.module !== '@angular/core' || origin.name !== 'Component') {
|
|
56
|
+
return node;
|
|
57
|
+
}
|
|
58
|
+
if (!typescript_1.default.isCallExpression(node.expression)) {
|
|
59
|
+
return node;
|
|
60
|
+
}
|
|
61
|
+
const decoratorFactory = node.expression;
|
|
62
|
+
const args = decoratorFactory.arguments;
|
|
63
|
+
if (args.length !== 1 || !typescript_1.default.isObjectLiteralExpression(args[0])) {
|
|
64
|
+
// Unsupported component metadata
|
|
65
|
+
return node;
|
|
66
|
+
}
|
|
67
|
+
const objectExpression = args[0];
|
|
68
|
+
const styleReplacements = [];
|
|
69
|
+
// visit all properties
|
|
70
|
+
let properties = typescript_1.default.visitNodes(objectExpression.properties, (node) => typescript_1.default.isObjectLiteralElementLike(node)
|
|
71
|
+
? visitComponentMetadata(nodeFactory, node, styleReplacements, resourceImportDeclarations)
|
|
72
|
+
: node);
|
|
73
|
+
// replace properties with updated properties
|
|
74
|
+
if (styleReplacements.length > 0) {
|
|
75
|
+
const styleProperty = nodeFactory.createPropertyAssignment(nodeFactory.createIdentifier('styles'), nodeFactory.createArrayLiteralExpression(styleReplacements));
|
|
76
|
+
properties = nodeFactory.createNodeArray([...properties, styleProperty]);
|
|
77
|
+
}
|
|
78
|
+
return nodeFactory.updateDecorator(node, nodeFactory.updateCallExpression(decoratorFactory, decoratorFactory.expression, decoratorFactory.typeArguments, [nodeFactory.updateObjectLiteralExpression(objectExpression, properties)]));
|
|
79
|
+
}
|
|
80
|
+
function visitComponentMetadata(nodeFactory, node, styleReplacements, resourceImportDeclarations) {
|
|
81
|
+
if (!typescript_1.default.isPropertyAssignment(node) || typescript_1.default.isComputedPropertyName(node.name)) {
|
|
82
|
+
return node;
|
|
83
|
+
}
|
|
84
|
+
switch (node.name.text) {
|
|
85
|
+
case 'templateUrl':
|
|
86
|
+
// Only analyze string literals
|
|
87
|
+
if (!typescript_1.default.isStringLiteralLike(node.initializer)) {
|
|
88
|
+
return node;
|
|
89
|
+
}
|
|
90
|
+
return node.initializer.text.length === 0
|
|
91
|
+
? node
|
|
92
|
+
: nodeFactory.updatePropertyAssignment(node, nodeFactory.createIdentifier('template'), createResourceImport(nodeFactory, (0, uri_1.generateJitFileUri)(node.initializer.text, 'template'), resourceImportDeclarations));
|
|
93
|
+
case 'styles':
|
|
94
|
+
if (typescript_1.default.isStringLiteralLike(node.initializer)) {
|
|
95
|
+
styleReplacements.unshift(createResourceImport(nodeFactory, (0, uri_1.generateJitInlineUri)(node.initializer.text, 'style'), resourceImportDeclarations));
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
if (typescript_1.default.isArrayLiteralExpression(node.initializer)) {
|
|
99
|
+
const inlineStyles = typescript_1.default.visitNodes(node.initializer.elements, (node) => {
|
|
100
|
+
if (!typescript_1.default.isStringLiteralLike(node)) {
|
|
101
|
+
return node;
|
|
102
|
+
}
|
|
103
|
+
return node.text.length === 0
|
|
104
|
+
? undefined // An empty inline style is equivalent to not having a style element
|
|
105
|
+
: createResourceImport(nodeFactory, (0, uri_1.generateJitInlineUri)(node.text, 'style'), resourceImportDeclarations);
|
|
106
|
+
});
|
|
107
|
+
// Inline styles should be placed first
|
|
108
|
+
styleReplacements.unshift(...inlineStyles);
|
|
109
|
+
// The inline styles will be added afterwards in combination with any external styles
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
return node;
|
|
113
|
+
case 'styleUrl':
|
|
114
|
+
if (typescript_1.default.isStringLiteralLike(node.initializer)) {
|
|
115
|
+
styleReplacements.push(createResourceImport(nodeFactory, (0, uri_1.generateJitFileUri)(node.initializer.text, 'style'), resourceImportDeclarations));
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
return node;
|
|
119
|
+
case 'styleUrls': {
|
|
120
|
+
if (!typescript_1.default.isArrayLiteralExpression(node.initializer)) {
|
|
121
|
+
return node;
|
|
122
|
+
}
|
|
123
|
+
const externalStyles = typescript_1.default.visitNodes(node.initializer.elements, (node) => {
|
|
124
|
+
if (!typescript_1.default.isStringLiteralLike(node)) {
|
|
125
|
+
return node;
|
|
126
|
+
}
|
|
127
|
+
return node.text
|
|
128
|
+
? createResourceImport(nodeFactory, (0, uri_1.generateJitFileUri)(node.text, 'style'), resourceImportDeclarations)
|
|
129
|
+
: undefined;
|
|
130
|
+
});
|
|
131
|
+
// External styles are applied after any inline styles
|
|
132
|
+
styleReplacements.push(...externalStyles);
|
|
133
|
+
// The external styles will be added afterwards in combination with any inline styles
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
default:
|
|
137
|
+
// All other elements are passed through
|
|
138
|
+
return node;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function createResourceImport(nodeFactory, url, resourceImportDeclarations) {
|
|
142
|
+
const urlLiteral = nodeFactory.createStringLiteral(url);
|
|
143
|
+
const importName = nodeFactory.createIdentifier(`__NG_CLI_RESOURCE__${resourceImportDeclarations.length}`);
|
|
144
|
+
resourceImportDeclarations.push(nodeFactory.createImportDeclaration(undefined, nodeFactory.createImportClause(undefined, importName, undefined), urlLiteral));
|
|
145
|
+
return importName;
|
|
146
|
+
}
|
|
147
|
+
function getDecoratorOrigin(decorator, typeChecker) {
|
|
148
|
+
if (!typescript_1.default.isCallExpression(decorator.expression)) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
let identifier;
|
|
152
|
+
let name = '';
|
|
153
|
+
if (typescript_1.default.isPropertyAccessExpression(decorator.expression.expression)) {
|
|
154
|
+
identifier = decorator.expression.expression.expression;
|
|
155
|
+
name = decorator.expression.expression.name.text;
|
|
156
|
+
}
|
|
157
|
+
else if (typescript_1.default.isIdentifier(decorator.expression.expression)) {
|
|
158
|
+
identifier = decorator.expression.expression;
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
// NOTE: resolver.getReferencedImportDeclaration would work as well but is internal
|
|
164
|
+
const symbol = typeChecker.getSymbolAtLocation(identifier);
|
|
165
|
+
if (symbol && symbol.declarations && symbol.declarations.length > 0) {
|
|
166
|
+
const declaration = symbol.declarations[0];
|
|
167
|
+
let module;
|
|
168
|
+
if (typescript_1.default.isImportSpecifier(declaration)) {
|
|
169
|
+
name = (declaration.propertyName || declaration.name).text;
|
|
170
|
+
module = declaration.parent.parent.parent.moduleSpecifier.text;
|
|
171
|
+
}
|
|
172
|
+
else if (typescript_1.default.isNamespaceImport(declaration)) {
|
|
173
|
+
// Use the name from the decorator namespace property access
|
|
174
|
+
module = declaration.parent.parent.moduleSpecifier.text;
|
|
175
|
+
}
|
|
176
|
+
else if (typescript_1.default.isImportClause(declaration)) {
|
|
177
|
+
name = declaration.name.text;
|
|
178
|
+
module = declaration.parent.moduleSpecifier.text;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
return { name, module };
|
|
184
|
+
}
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=jit-resource-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jit-resource-transformer.js","sourceRoot":"","sources":["jit-resource-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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 ts from 'typescript';
|
|
9
|
+
/**
|
|
10
|
+
* A transformer factory that adds a property to the lazy-loaded route object.
|
|
11
|
+
* This property is used to allow for the retrieval of the module path during SSR.
|
|
12
|
+
*
|
|
13
|
+
* @param compilerOptions The compiler options.
|
|
14
|
+
* @param compilerHost The compiler host.
|
|
15
|
+
* @returns A transformer factory.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* **Before:**
|
|
19
|
+
* ```ts
|
|
20
|
+
* const routes: Routes = [
|
|
21
|
+
* {
|
|
22
|
+
* path: 'lazy',
|
|
23
|
+
* loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule)
|
|
24
|
+
* }
|
|
25
|
+
* ];
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* **After:**
|
|
29
|
+
* ```ts
|
|
30
|
+
* const routes: Routes = [
|
|
31
|
+
* {
|
|
32
|
+
* path: 'lazy',
|
|
33
|
+
* loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule),
|
|
34
|
+
* ...(typeof ngServerMode !== "undefined" && ngServerMode ? { ɵentryName: "./lazy/lazy.module.ts" }: {})
|
|
35
|
+
* }
|
|
36
|
+
* ];
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function lazyRoutesTransformer(compilerOptions: ts.CompilerOptions, compilerHost: ts.CompilerHost): ts.TransformerFactory<ts.SourceFile>;
|
|
@@ -0,0 +1,164 @@
|
|
|
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.lazyRoutesTransformer = lazyRoutesTransformer;
|
|
14
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const posix_1 = require("node:path/posix");
|
|
16
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
17
|
+
/**
|
|
18
|
+
* A transformer factory that adds a property to the lazy-loaded route object.
|
|
19
|
+
* This property is used to allow for the retrieval of the module path during SSR.
|
|
20
|
+
*
|
|
21
|
+
* @param compilerOptions The compiler options.
|
|
22
|
+
* @param compilerHost The compiler host.
|
|
23
|
+
* @returns A transformer factory.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* **Before:**
|
|
27
|
+
* ```ts
|
|
28
|
+
* const routes: Routes = [
|
|
29
|
+
* {
|
|
30
|
+
* path: 'lazy',
|
|
31
|
+
* loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule)
|
|
32
|
+
* }
|
|
33
|
+
* ];
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* **After:**
|
|
37
|
+
* ```ts
|
|
38
|
+
* const routes: Routes = [
|
|
39
|
+
* {
|
|
40
|
+
* path: 'lazy',
|
|
41
|
+
* loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule),
|
|
42
|
+
* ...(typeof ngServerMode !== "undefined" && ngServerMode ? { ɵentryName: "./lazy/lazy.module.ts" }: {})
|
|
43
|
+
* }
|
|
44
|
+
* ];
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
function lazyRoutesTransformer(compilerOptions, compilerHost) {
|
|
48
|
+
const moduleResolutionCache = compilerHost.getModuleResolutionCache?.();
|
|
49
|
+
(0, node_assert_1.default)(typeof compilerOptions.basePath === 'string', 'compilerOptions.basePath should be a string.');
|
|
50
|
+
const basePath = compilerOptions.basePath;
|
|
51
|
+
return (context) => {
|
|
52
|
+
const factory = context.factory;
|
|
53
|
+
const visitor = (node) => {
|
|
54
|
+
if (!typescript_1.default.isObjectLiteralExpression(node)) {
|
|
55
|
+
// Not an object literal, so skip it.
|
|
56
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
57
|
+
}
|
|
58
|
+
const loadFunction = getLoadComponentOrChildrenProperty(node)?.initializer;
|
|
59
|
+
// Check if the initializer is an arrow function or a function expression
|
|
60
|
+
if (!loadFunction ||
|
|
61
|
+
(!typescript_1.default.isArrowFunction(loadFunction) && !typescript_1.default.isFunctionExpression(loadFunction))) {
|
|
62
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
63
|
+
}
|
|
64
|
+
let callExpression;
|
|
65
|
+
if (typescript_1.default.isArrowFunction(loadFunction)) {
|
|
66
|
+
// Handle arrow functions: body can either be a block or a direct call expression
|
|
67
|
+
const body = loadFunction.body;
|
|
68
|
+
if (typescript_1.default.isBlock(body)) {
|
|
69
|
+
// Arrow function with a block: check the first statement for a return call expression
|
|
70
|
+
const firstStatement = body.statements[0];
|
|
71
|
+
if (firstStatement &&
|
|
72
|
+
typescript_1.default.isReturnStatement(firstStatement) &&
|
|
73
|
+
firstStatement.expression &&
|
|
74
|
+
typescript_1.default.isCallExpression(firstStatement.expression)) {
|
|
75
|
+
callExpression = firstStatement.expression;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else if (typescript_1.default.isCallExpression(body)) {
|
|
79
|
+
// Arrow function with a direct call expression as its body
|
|
80
|
+
callExpression = body;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (typescript_1.default.isFunctionExpression(loadFunction)) {
|
|
84
|
+
// Handle function expressions: check for a return statement with a call expression
|
|
85
|
+
const returnExpression = loadFunction.body.statements.find(typescript_1.default.isReturnStatement)?.expression;
|
|
86
|
+
if (returnExpression && typescript_1.default.isCallExpression(returnExpression)) {
|
|
87
|
+
callExpression = returnExpression;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (!callExpression) {
|
|
91
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
92
|
+
}
|
|
93
|
+
// Optionally check for the 'then' property access expression
|
|
94
|
+
const expression = callExpression.expression;
|
|
95
|
+
if (!typescript_1.default.isCallExpression(expression) &&
|
|
96
|
+
typescript_1.default.isPropertyAccessExpression(expression) &&
|
|
97
|
+
expression.name.text !== 'then') {
|
|
98
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
99
|
+
}
|
|
100
|
+
const importExpression = typescript_1.default.isPropertyAccessExpression(expression)
|
|
101
|
+
? expression.expression // Navigate to the underlying expression for 'then'
|
|
102
|
+
: callExpression;
|
|
103
|
+
// Ensure the underlying expression is an import call
|
|
104
|
+
if (!typescript_1.default.isCallExpression(importExpression) ||
|
|
105
|
+
importExpression.expression.kind !== typescript_1.default.SyntaxKind.ImportKeyword) {
|
|
106
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
107
|
+
}
|
|
108
|
+
// Check if the argument to the import call is a string literal
|
|
109
|
+
const callExpressionArgument = importExpression.arguments[0];
|
|
110
|
+
if (!typescript_1.default.isStringLiteralLike(callExpressionArgument)) {
|
|
111
|
+
// Not a string literal, so skip it.
|
|
112
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
113
|
+
}
|
|
114
|
+
const resolvedPath = typescript_1.default.resolveModuleName(callExpressionArgument.text, node.getSourceFile().fileName, compilerOptions, compilerHost, moduleResolutionCache)?.resolvedModule?.resolvedFileName;
|
|
115
|
+
if (!resolvedPath) {
|
|
116
|
+
// Could not resolve the module, so skip it.
|
|
117
|
+
return typescript_1.default.visitEachChild(node, visitor, context);
|
|
118
|
+
}
|
|
119
|
+
const resolvedRelativePath = (0, posix_1.relative)(basePath, resolvedPath);
|
|
120
|
+
// Create the new property
|
|
121
|
+
// Example: `...(typeof ngServerMode !== "undefined" && ngServerMode ? { ɵentryName: "src/home.ts" }: {})`
|
|
122
|
+
const newProperty = factory.createSpreadAssignment(factory.createParenthesizedExpression(factory.createConditionalExpression(factory.createBinaryExpression(factory.createBinaryExpression(factory.createTypeOfExpression(factory.createIdentifier('ngServerMode')), factory.createToken(typescript_1.default.SyntaxKind.ExclamationEqualsEqualsToken), factory.createStringLiteral('undefined')), factory.createToken(typescript_1.default.SyntaxKind.AmpersandAmpersandToken), factory.createIdentifier('ngServerMode')), factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), factory.createObjectLiteralExpression([
|
|
123
|
+
factory.createPropertyAssignment(factory.createIdentifier('ɵentryName'), factory.createStringLiteral(resolvedRelativePath)),
|
|
124
|
+
]), factory.createToken(typescript_1.default.SyntaxKind.ColonToken), factory.createObjectLiteralExpression([]))));
|
|
125
|
+
// Add the new property to the object literal.
|
|
126
|
+
return factory.updateObjectLiteralExpression(node, [...node.properties, newProperty]);
|
|
127
|
+
};
|
|
128
|
+
return (sourceFile) => {
|
|
129
|
+
const text = sourceFile.text;
|
|
130
|
+
if (!text.includes('loadC')) {
|
|
131
|
+
// Fast check for 'loadComponent' and 'loadChildren'.
|
|
132
|
+
return sourceFile;
|
|
133
|
+
}
|
|
134
|
+
return typescript_1.default.visitEachChild(sourceFile, visitor, context);
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Retrieves the property assignment for the `loadComponent` or `loadChildren` property of a route object.
|
|
140
|
+
*
|
|
141
|
+
* @param node The object literal expression to search.
|
|
142
|
+
* @returns The property assignment if found, otherwise `undefined`.
|
|
143
|
+
*/
|
|
144
|
+
function getLoadComponentOrChildrenProperty(node) {
|
|
145
|
+
let hasPathProperty = false;
|
|
146
|
+
let loadComponentOrChildrenProperty;
|
|
147
|
+
for (const prop of node.properties) {
|
|
148
|
+
if (!typescript_1.default.isPropertyAssignment(prop) || !typescript_1.default.isIdentifier(prop.name)) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const propertyNameText = prop.name.text;
|
|
152
|
+
if (propertyNameText === 'path') {
|
|
153
|
+
hasPathProperty = true;
|
|
154
|
+
}
|
|
155
|
+
else if (propertyNameText === 'loadComponent' || propertyNameText === 'loadChildren') {
|
|
156
|
+
loadComponentOrChildrenProperty = prop;
|
|
157
|
+
}
|
|
158
|
+
if (hasPathProperty && loadComponentOrChildrenProperty) {
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return loadComponentOrChildrenProperty;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=lazy-routes-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-routes-transformer.js","sourceRoot":"","sources":["lazy-routes-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 ts from 'typescript';
|
|
9
|
+
/**
|
|
10
|
+
* Creates a TypeScript Transformer to process Worker and SharedWorker entry points and transform
|
|
11
|
+
* the URL instances to reference the built and bundled worker code. This uses a callback process
|
|
12
|
+
* similar to the component stylesheets to allow the main esbuild plugin to process files as needed.
|
|
13
|
+
* Unsupported worker expressions will be left in their origin form.
|
|
14
|
+
* @param getTypeChecker A function that returns a TypeScript TypeChecker instance for the program.
|
|
15
|
+
* @returns A TypeScript transformer factory.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createWorkerTransformer(fileProcessor: (file: string, importer: string) => string): ts.TransformerFactory<ts.SourceFile>;
|
|
@@ -0,0 +1,94 @@
|
|
|
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.createWorkerTransformer = createWorkerTransformer;
|
|
14
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
15
|
+
/**
|
|
16
|
+
* Creates a TypeScript Transformer to process Worker and SharedWorker entry points and transform
|
|
17
|
+
* the URL instances to reference the built and bundled worker code. This uses a callback process
|
|
18
|
+
* similar to the component stylesheets to allow the main esbuild plugin to process files as needed.
|
|
19
|
+
* Unsupported worker expressions will be left in their origin form.
|
|
20
|
+
* @param getTypeChecker A function that returns a TypeScript TypeChecker instance for the program.
|
|
21
|
+
* @returns A TypeScript transformer factory.
|
|
22
|
+
*/
|
|
23
|
+
function createWorkerTransformer(fileProcessor) {
|
|
24
|
+
return (context) => {
|
|
25
|
+
const nodeFactory = context.factory;
|
|
26
|
+
const visitNode = (node) => {
|
|
27
|
+
// Check if the node is a valid new expression for a Worker or SharedWorker
|
|
28
|
+
// TODO: Add global scope check
|
|
29
|
+
if (!typescript_1.default.isNewExpression(node) ||
|
|
30
|
+
!typescript_1.default.isIdentifier(node.expression) ||
|
|
31
|
+
(node.expression.text !== 'Worker' && node.expression.text !== 'SharedWorker')) {
|
|
32
|
+
// Visit child nodes of non-Worker expressions
|
|
33
|
+
return typescript_1.default.visitEachChild(node, visitNode, context);
|
|
34
|
+
}
|
|
35
|
+
// Worker should have atleast one argument but not more than two
|
|
36
|
+
if (!node.arguments || node.arguments.length < 1 || node.arguments.length > 2) {
|
|
37
|
+
return node;
|
|
38
|
+
}
|
|
39
|
+
// First argument must be a new URL expression
|
|
40
|
+
const workerUrlNode = node.arguments[0];
|
|
41
|
+
// TODO: Add global scope check
|
|
42
|
+
if (!typescript_1.default.isNewExpression(workerUrlNode) ||
|
|
43
|
+
!typescript_1.default.isIdentifier(workerUrlNode.expression) ||
|
|
44
|
+
workerUrlNode.expression.text !== 'URL') {
|
|
45
|
+
return node;
|
|
46
|
+
}
|
|
47
|
+
// URL must have 2 arguments
|
|
48
|
+
if (!workerUrlNode.arguments || workerUrlNode.arguments.length !== 2) {
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
// URL arguments must be a string and then `import.meta.url`
|
|
52
|
+
if (!typescript_1.default.isStringLiteralLike(workerUrlNode.arguments[0]) ||
|
|
53
|
+
!typescript_1.default.isPropertyAccessExpression(workerUrlNode.arguments[1]) ||
|
|
54
|
+
!typescript_1.default.isMetaProperty(workerUrlNode.arguments[1].expression) ||
|
|
55
|
+
workerUrlNode.arguments[1].name.text !== 'url') {
|
|
56
|
+
return node;
|
|
57
|
+
}
|
|
58
|
+
const filePath = workerUrlNode.arguments[0].text;
|
|
59
|
+
const importer = node.getSourceFile().fileName;
|
|
60
|
+
// Process the file
|
|
61
|
+
const replacementPath = fileProcessor(filePath, importer);
|
|
62
|
+
// Update if the path changed
|
|
63
|
+
if (replacementPath !== filePath) {
|
|
64
|
+
return nodeFactory.updateNewExpression(node, node.expression, node.typeArguments,
|
|
65
|
+
// Update Worker arguments
|
|
66
|
+
typescript_1.default.setTextRange(nodeFactory.createNodeArray([
|
|
67
|
+
nodeFactory.updateNewExpression(workerUrlNode, workerUrlNode.expression, workerUrlNode.typeArguments,
|
|
68
|
+
// Update URL arguments
|
|
69
|
+
typescript_1.default.setTextRange(nodeFactory.createNodeArray([
|
|
70
|
+
nodeFactory.createStringLiteral(replacementPath),
|
|
71
|
+
workerUrlNode.arguments[1],
|
|
72
|
+
], workerUrlNode.arguments.hasTrailingComma), workerUrlNode.arguments)),
|
|
73
|
+
// Use the second Worker argument (options) if present.
|
|
74
|
+
// Otherwise create a default options object for module Workers.
|
|
75
|
+
node.arguments[1] ??
|
|
76
|
+
nodeFactory.createObjectLiteralExpression([
|
|
77
|
+
nodeFactory.createPropertyAssignment('type', nodeFactory.createStringLiteral('module')),
|
|
78
|
+
]),
|
|
79
|
+
], node.arguments.hasTrailingComma), node.arguments));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return node;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return (sourceFile) => {
|
|
86
|
+
// Skip transformer if there are no Workers
|
|
87
|
+
if (!sourceFile.text.includes('Worker')) {
|
|
88
|
+
return sourceFile;
|
|
89
|
+
}
|
|
90
|
+
return typescript_1.default.visitEachChild(sourceFile, visitNode, context);
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=web-worker-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-worker-transformer.js","sourceRoot":"","sources":["web-worker-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A string value representing the namespace for Angular JIT mode related imports for
|
|
10
|
+
* Component styles. This namespace is used for both inline (`styles`) and external
|
|
11
|
+
* (`styleUrls`) styles.
|
|
12
|
+
*/
|
|
13
|
+
export declare const JIT_STYLE_NAMESPACE: "angular:jit:style";
|
|
14
|
+
/**
|
|
15
|
+
* A string value representing the namespace for Angular JIT mode related imports for
|
|
16
|
+
* Component templates. This namespace is currently only used for external (`templateUrl`)
|
|
17
|
+
* templates.
|
|
18
|
+
*/
|
|
19
|
+
export declare const JIT_TEMPLATE_NAMESPACE: "angular:jit:template";
|
|
20
|
+
/**
|
|
21
|
+
* A regular expression that can be used to match a Angular JIT mode namespace URI.
|
|
22
|
+
* It contains capture groups for the type (template/style), origin (file/inline), and specifier.
|
|
23
|
+
* The {@link parseJitUri} function can be used to parse and return an object representation of a JIT URI.
|
|
24
|
+
*/
|
|
25
|
+
export declare const JIT_NAMESPACE_REGEXP: RegExp;
|
|
26
|
+
/**
|
|
27
|
+
* Generates an Angular JIT mode namespace URI for a given file.
|
|
28
|
+
* @param file The path of the file to be included.
|
|
29
|
+
* @param type The type of the file (`style` or `template`).
|
|
30
|
+
* @returns A string containing the full JIT namespace URI.
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateJitFileUri(file: string, type: 'style' | 'template'): string;
|
|
33
|
+
/**
|
|
34
|
+
* Generates an Angular JIT mode namespace URI for a given inline style or template.
|
|
35
|
+
* The provided content is base64 encoded and included in the URI.
|
|
36
|
+
* @param data The content to encode within the URI.
|
|
37
|
+
* @param type The type of the content (`style` or `template`).
|
|
38
|
+
* @returns A string containing the full JIT namespace URI.
|
|
39
|
+
*/
|
|
40
|
+
export declare function generateJitInlineUri(data: string | Uint8Array, type: 'style' | 'template'): string;
|
|
41
|
+
/**
|
|
42
|
+
* Parses a string containing a JIT namespace URI.
|
|
43
|
+
* JIT namespace URIs are used to encode the information for an Angular component's stylesheets
|
|
44
|
+
* and templates when compiled in JIT mode.
|
|
45
|
+
* @param uri The URI to parse into its underlying components.
|
|
46
|
+
* @returns An object containing the namespace, type, origin, and specifier of the URI;
|
|
47
|
+
* `undefined` if not a JIT namespace URI.
|
|
48
|
+
*/
|
|
49
|
+
export declare function parseJitUri(uri: string): {
|
|
50
|
+
namespace: string;
|
|
51
|
+
type: "style" | "template";
|
|
52
|
+
origin: "file" | "inline";
|
|
53
|
+
specifier: string;
|
|
54
|
+
} | undefined;
|