@depup/angular__build 22.1.8-depup.4 → 22.2.0-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/README.md +9 -14
- package/builders.json +1 -1
- package/changes.json +13 -33
- package/package.json +31 -50
- package/src/builders/application/build-action.js +63 -92
- package/src/builders/application/build-action.js.map +1 -1
- package/src/builders/application/chunk-optimizer.d.ts +2 -2
- package/src/builders/application/chunk-optimizer.js +5 -5
- package/src/builders/application/chunk-optimizer.js.map +1 -1
- package/src/builders/application/execute-build.js +26 -19
- package/src/builders/application/execute-build.js.map +1 -1
- package/src/builders/application/execute-post-bundle.d.ts +2 -2
- package/src/builders/application/execute-post-bundle.js +5 -5
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.d.ts +3 -1
- package/src/builders/application/i18n.js +48 -13
- package/src/builders/application/i18n.js.map +1 -1
- package/src/{tools/esbuild → builders/application}/index-html-generator.d.ts +2 -2
- package/src/{tools/esbuild → builders/application}/index-html-generator.js +2 -2
- package/src/builders/application/index-html-generator.js.map +1 -0
- package/src/builders/application/index.js +2 -2
- package/src/builders/application/index.js.map +1 -1
- package/src/builders/application/options.d.ts +5 -0
- package/src/builders/application/options.js +8 -26
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/application/results.d.ts +3 -2
- package/src/builders/application/schema.d.ts +2 -1
- package/src/builders/application/schema.js.map +1 -1
- package/src/builders/application/schema.json +1 -2
- package/src/builders/application/setup-bundling.js +3 -1
- package/src/builders/application/setup-bundling.js.map +1 -1
- package/src/builders/dev-server/internal.d.ts +1 -1
- package/src/builders/dev-server/internal.js +1 -1
- package/src/builders/dev-server/internal.js.map +1 -1
- package/src/builders/dev-server/vite/index.js +5 -8
- package/src/builders/dev-server/vite/index.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +2 -0
- package/src/builders/dev-server/vite/server.js.map +1 -1
- package/src/builders/dev-server/vite/utils.d.ts +1 -1
- package/src/builders/dev-server/vite/utils.js +9 -4
- package/src/builders/dev-server/vite/utils.js.map +1 -1
- package/src/builders/extract-i18n/application-extraction.js +6 -5
- package/src/builders/extract-i18n/application-extraction.js.map +1 -1
- package/src/builders/karma/application_builder.js +1 -1
- package/src/builders/karma/application_builder.js.map +1 -1
- package/src/builders/karma/assets-middleware.d.ts +2 -2
- package/src/builders/karma/assets-middleware.js +5 -2
- package/src/builders/karma/assets-middleware.js.map +1 -1
- package/src/builders/karma/progress-reporter.js +7 -5
- package/src/builders/karma/progress-reporter.js.map +1 -1
- package/src/builders/karma/utils.d.ts +2 -1
- package/src/builders/karma/utils.js +2 -2
- package/src/builders/karma/utils.js.map +1 -1
- package/src/builders/unit-test/builder.js +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +9 -3
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/executor.js +5 -4
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +4 -4
- package/src/builders/unit-test/runners/vitest/plugins.js +9 -2
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
- package/src/builders/unit-test/schema.d.ts +3 -2
- package/src/builders/unit-test/schema.js.map +1 -1
- package/src/builders/unit-test/schema.json +3 -2
- package/src/builders/unit-test/test-discovery.js +3 -2
- package/src/builders/unit-test/test-discovery.js.map +1 -1
- package/src/private.d.ts +3 -5
- package/src/private.js +6 -9
- package/src/private.js.map +1 -1
- package/src/tools/angular/angular-host.d.ts +1 -2
- package/src/tools/angular/angular-host.js +6 -6
- package/src/tools/angular/angular-host.js.map +1 -1
- package/src/tools/angular/compilation/angular-compilation.d.ts +24 -16
- package/src/tools/angular/compilation/angular-compilation.js +4 -80
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +6 -12
- package/src/tools/angular/compilation/aot-compilation.js +23 -20
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- package/src/tools/angular/compilation/compiler-options.d.ts +25 -0
- package/src/tools/angular/compilation/compiler-options.js +135 -0
- package/src/tools/angular/compilation/compiler-options.js.map +1 -0
- package/src/tools/angular/compilation/factory.d.ts +5 -3
- package/src/tools/angular/compilation/factory.js +10 -5
- package/src/tools/angular/compilation/factory.js.map +1 -1
- package/src/tools/angular/compilation/index.d.ts +3 -3
- package/src/tools/angular/compilation/index.js +1 -3
- package/src/tools/angular/compilation/index.js.map +1 -1
- package/src/tools/angular/compilation/jit-compilation.d.ts +6 -9
- package/src/tools/angular/compilation/jit-compilation.js +10 -16
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-compilation.d.ts +3 -14
- package/src/tools/angular/compilation/parallel-compilation.js +40 -42
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-worker.d.ts +5 -17
- package/src/tools/angular/compilation/parallel-worker.js +89 -68
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
- package/src/tools/angular/compilation/typescript-compilation.d.ts +31 -0
- package/src/tools/angular/compilation/typescript-compilation.js +125 -0
- package/src/tools/angular/compilation/typescript-compilation.js.map +1 -0
- package/src/tools/angular/linker/oxc-ast-host.d.ts +33 -0
- package/src/tools/angular/linker/oxc-ast-host.js +234 -0
- package/src/tools/angular/linker/oxc-ast-host.js.map +1 -0
- package/src/tools/angular/linker/oxc-linker.d.ts +22 -0
- package/src/tools/angular/linker/oxc-linker.js +75 -0
- package/src/tools/angular/linker/oxc-linker.js.map +1 -0
- package/src/tools/angular/linker/string-ast-factory.d.ts +86 -0
- package/src/tools/angular/linker/string-ast-factory.js +234 -0
- package/src/tools/angular/linker/string-ast-factory.js.map +1 -0
- package/src/tools/esbuild/angular/compilation-state.d.ts +23 -3
- package/src/tools/esbuild/angular/compilation-state.js +51 -13
- package/src/tools/esbuild/angular/compilation-state.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +126 -139
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
- package/src/tools/esbuild/angular/component-stylesheets.js +52 -22
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
- package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -2
- package/src/tools/esbuild/angular/source-file-cache.js +1 -11
- package/src/tools/esbuild/angular/source-file-cache.js.map +1 -1
- package/src/tools/esbuild/application-code-bundle.js +7 -14
- package/src/tools/esbuild/application-code-bundle.js.map +1 -1
- package/src/tools/esbuild/budget-stats.js +3 -3
- package/src/tools/esbuild/budget-stats.js.map +1 -1
- package/src/tools/esbuild/bundler-context.d.ts +23 -7
- package/src/tools/esbuild/bundler-context.js +112 -43
- package/src/tools/esbuild/bundler-context.js.map +1 -1
- package/src/tools/esbuild/bundler-execution-result.d.ts +2 -1
- package/src/tools/esbuild/bundler-execution-result.js +2 -2
- package/src/tools/esbuild/bundler-execution-result.js.map +1 -1
- package/src/tools/esbuild/bundler-files.js +3 -5
- package/src/tools/esbuild/bundler-files.js.map +1 -1
- package/src/tools/esbuild/compiler-plugin-options.js +2 -1
- package/src/tools/esbuild/compiler-plugin-options.js.map +1 -1
- package/src/tools/esbuild/i18n-locale-plugin.d.ts +1 -8
- package/src/tools/esbuild/i18n-locale-plugin.js +33 -114
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
- package/src/tools/esbuild/license-extractor.d.ts +1 -1
- package/src/tools/esbuild/license-extractor.js +89 -86
- package/src/tools/esbuild/license-extractor.js.map +1 -1
- package/src/tools/esbuild/load-result-cache.d.ts +2 -1
- package/src/tools/esbuild/load-result-cache.js +28 -13
- package/src/tools/esbuild/load-result-cache.js.map +1 -1
- package/src/tools/esbuild/persistent-load-result-cache.d.ts +87 -0
- package/src/tools/esbuild/persistent-load-result-cache.js +229 -0
- package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.d.ts +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js +1 -1
- package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -1
- package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +3 -1
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +4 -2
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -1
- package/src/tools/esbuild/stylesheets/sass-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +109 -50
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.d.ts +35 -0
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js +64 -0
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js.map +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
- package/src/tools/esbuild/utils.d.ts +3 -3
- package/src/tools/esbuild/utils.js +9 -6
- package/src/tools/esbuild/utils.js.map +1 -1
- package/src/tools/i18n/i18n-inliner-worker.d.ts +126 -0
- package/src/tools/i18n/i18n-inliner-worker.js +363 -0
- package/src/tools/i18n/i18n-inliner-worker.js.map +1 -0
- package/src/tools/i18n/i18n-inliner.d.ts +97 -0
- package/src/tools/i18n/i18n-inliner.js +500 -0
- package/src/tools/i18n/i18n-inliner.js.map +1 -0
- package/src/tools/i18n/i18n-translation-encoder.d.ts +21 -0
- package/src/tools/i18n/i18n-translation-encoder.js +92 -0
- package/src/tools/i18n/i18n-translation-encoder.js.map +1 -0
- package/src/tools/i18n/i18n-translation-reader.d.ts +41 -0
- package/src/tools/i18n/i18n-translation-reader.js +164 -0
- package/src/tools/i18n/i18n-translation-reader.js.map +1 -0
- package/src/tools/i18n/index.d.ts +11 -0
- package/src/tools/i18n/index.js +28 -0
- package/src/tools/i18n/index.js.map +1 -0
- package/src/tools/i18n/locale-data.d.ts +47 -0
- package/src/tools/i18n/locale-data.js +108 -0
- package/src/tools/i18n/locale-data.js.map +1 -0
- package/src/tools/javascript-transformer/index.d.ts +8 -0
- package/src/tools/javascript-transformer/index.js +25 -0
- package/src/tools/javascript-transformer/index.js.map +1 -0
- package/src/tools/{esbuild → javascript-transformer}/javascript-transformer-worker.d.ts +0 -4
- package/src/tools/javascript-transformer/javascript-transformer-worker.js +231 -0
- package/src/tools/javascript-transformer/javascript-transformer-worker.js.map +1 -0
- package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.d.ts +26 -9
- package/src/tools/javascript-transformer/javascript-transformer.js +294 -0
- package/src/tools/javascript-transformer/javascript-transformer.js.map +1 -0
- package/src/tools/{babel/plugins → oxc}/oxc-transform.d.ts +5 -2
- package/src/tools/{babel/plugins → oxc}/oxc-transform.js +105 -138
- package/src/tools/oxc/oxc-transform.js.map +1 -0
- package/src/tools/oxc/traversal.d.ts +32 -0
- package/src/tools/oxc/traversal.js +299 -0
- package/src/tools/oxc/traversal.js.map +1 -0
- package/src/tools/oxc/types.d.ts +20 -0
- package/src/tools/sass/rebasing-importer.d.ts +12 -18
- package/src/tools/sass/rebasing-importer.js +23 -26
- package/src/tools/sass/rebasing-importer.js.map +1 -1
- package/src/tools/sass/sass-service.d.ts +15 -38
- package/src/tools/sass/sass-service.js +132 -187
- package/src/tools/sass/sass-service.js.map +1 -1
- package/src/tools/vite/middlewares/assets-middleware.js +3 -3
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
- package/src/tools/vite/utils.d.ts +1 -1
- package/src/{tools/esbuild → utils/cache}/cache.d.ts +25 -8
- package/src/{tools/esbuild → utils/cache}/cache.js +72 -41
- package/src/utils/cache/cache.js.map +1 -0
- package/src/utils/cache/index.d.ts +8 -0
- package/src/utils/cache/index.js +25 -0
- package/src/utils/cache/index.js.map +1 -0
- package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js +1 -1
- package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js.map +1 -1
- package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.d.ts +1 -1
- package/src/utils/cache/sqlite-cache-store.js +339 -0
- package/src/utils/cache/sqlite-cache-store.js.map +1 -0
- package/src/utils/concurrency.d.ts +30 -0
- package/src/utils/concurrency.js +81 -0
- package/src/utils/concurrency.js.map +1 -0
- package/src/utils/environment-options.d.ts +34 -0
- package/src/utils/environment-options.js +42 -12
- package/src/utils/environment-options.js.map +1 -1
- package/src/utils/hash.d.ts +24 -0
- package/src/utils/hash.js +94 -0
- package/src/utils/hash.js.map +1 -0
- package/src/utils/i18n-options.d.ts +3 -1
- package/src/utils/i18n-options.js.map +1 -1
- package/src/utils/index-file/auto-csp.d.ts +8 -0
- package/src/utils/index-file/auto-csp.js +30 -3
- package/src/utils/index-file/auto-csp.js.map +1 -1
- package/src/utils/index-file/index-html-generator.d.ts +1 -1
- package/src/utils/index-file/index-html-generator.js +9 -13
- package/src/utils/index-file/index-html-generator.js.map +1 -1
- package/src/utils/index-file/inline-critical-css.d.ts +16 -18
- package/src/utils/index-file/inline-critical-css.js +78 -179
- package/src/utils/index-file/inline-critical-css.js.map +1 -1
- package/src/utils/index-file/nonce.d.ts +2 -0
- package/src/utils/index-file/nonce.js +1 -0
- package/src/utils/index-file/nonce.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/postcss-configuration.d.ts +6 -0
- package/src/utils/postcss-configuration.js +23 -0
- package/src/utils/postcss-configuration.js.map +1 -1
- package/src/{tools/esbuild → utils}/profiling.js +1 -1
- package/src/{tools/esbuild → utils}/profiling.js.map +1 -1
- package/src/utils/server-rendering/manifest.d.ts +2 -2
- package/src/utils/server-rendering/manifest.js +53 -4
- package/src/utils/server-rendering/manifest.js.map +1 -1
- package/src/utils/source-map.d.ts +26 -2
- package/src/utils/source-map.js +151 -53
- package/src/utils/source-map.js.map +1 -1
- package/src/utils/test-files.d.ts +2 -2
- package/src/utils/test-files.js +3 -3
- package/src/utils/test-files.js.map +1 -1
- package/src/utils/watcher.d.ts +61 -0
- package/src/utils/watcher.js +642 -0
- package/src/utils/watcher.js.map +1 -0
- package/src/tools/angular/compilation/noop-compilation.d.ts +0 -20
- package/src/tools/angular/compilation/noop-compilation.js +0 -27
- package/src/tools/angular/compilation/noop-compilation.js.map +0 -1
- package/src/tools/babel/plugins/add-code-coverage.d.ts +0 -14
- package/src/tools/babel/plugins/add-code-coverage.js +0 -44
- package/src/tools/babel/plugins/add-code-coverage.js.map +0 -1
- package/src/tools/babel/plugins/adjust-static-class-members.d.ts +0 -25
- package/src/tools/babel/plugins/adjust-static-class-members.js +0 -349
- package/src/tools/babel/plugins/adjust-static-class-members.js.map +0 -1
- package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +0 -21
- package/src/tools/babel/plugins/adjust-typescript-enums.js +0 -113
- package/src/tools/babel/plugins/adjust-typescript-enums.js.map +0 -1
- package/src/tools/babel/plugins/elide-angular-metadata.d.ts +0 -23
- package/src/tools/babel/plugins/elide-angular-metadata.js +0 -110
- package/src/tools/babel/plugins/elide-angular-metadata.js.map +0 -1
- package/src/tools/babel/plugins/index.d.ts +0 -11
- package/src/tools/babel/plugins/index.js +0 -22
- package/src/tools/babel/plugins/index.js.map +0 -1
- package/src/tools/babel/plugins/oxc-transform.js.map +0 -1
- package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +0 -13
- package/src/tools/babel/plugins/pure-toplevel-functions.js +0 -128
- package/src/tools/babel/plugins/pure-toplevel-functions.js.map +0 -1
- package/src/tools/babel/plugins/types.d.ts +0 -20
- package/src/tools/babel/typings.d.ts +0 -21
- package/src/tools/esbuild/cache.js.map +0 -1
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +0 -81
- package/src/tools/esbuild/i18n-inliner-worker.js +0 -255
- package/src/tools/esbuild/i18n-inliner-worker.js.map +0 -1
- package/src/tools/esbuild/i18n-inliner.d.ts +0 -58
- package/src/tools/esbuild/i18n-inliner.js +0 -265
- package/src/tools/esbuild/i18n-inliner.js.map +0 -1
- package/src/tools/esbuild/index-html-generator.js.map +0 -1
- package/src/tools/esbuild/javascript-transformer-worker.js +0 -192
- package/src/tools/esbuild/javascript-transformer-worker.js.map +0 -1
- package/src/tools/esbuild/javascript-transformer.js +0 -197
- package/src/tools/esbuild/javascript-transformer.js.map +0 -1
- package/src/tools/esbuild/sqlite-cache-store.js +0 -165
- package/src/tools/esbuild/sqlite-cache-store.js.map +0 -1
- package/src/tools/esbuild/watcher.d.ts +0 -25
- package/src/tools/esbuild/watcher.js +0 -119
- package/src/tools/esbuild/watcher.js.map +0 -1
- package/src/tools/sass/worker.d.ts +0 -63
- package/src/tools/sass/worker.js +0 -202
- package/src/tools/sass/worker.js.map +0 -1
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.d.ts +0 -0
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js +0 -0
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js.map +0 -0
- /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.d.ts +0 -0
- /package/src/{tools/esbuild → utils}/profiling.d.ts +0 -0
|
@@ -0,0 +1,299 @@
|
|
|
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.traversePostOrder = traversePostOrder;
|
|
11
|
+
const oxc_parser_1 = require("oxc-parser");
|
|
12
|
+
/**
|
|
13
|
+
* A set of TypeScript AST node types that contain executable code or runtime declarations.
|
|
14
|
+
*/
|
|
15
|
+
const executableTypeScriptNodes = new Set([
|
|
16
|
+
'TSEnumDeclaration',
|
|
17
|
+
'TSEnumBody',
|
|
18
|
+
'TSEnumMember',
|
|
19
|
+
'TSModuleDeclaration',
|
|
20
|
+
'TSModuleBlock',
|
|
21
|
+
'TSParameterProperty',
|
|
22
|
+
'TSImportEqualsDeclaration',
|
|
23
|
+
'TSExternalModuleReference',
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Determines whether the given AST node type represents a function declaration or expression.
|
|
27
|
+
*
|
|
28
|
+
* @param type The AST node type to check.
|
|
29
|
+
* @returns True if the type is a function; otherwise, false.
|
|
30
|
+
*/
|
|
31
|
+
function isFunction(type) {
|
|
32
|
+
return (type === 'FunctionDeclaration' ||
|
|
33
|
+
type === 'FunctionExpression' ||
|
|
34
|
+
type === 'ArrowFunctionExpression');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Determines whether the given AST node type represents a class declaration or expression.
|
|
38
|
+
*
|
|
39
|
+
* @param type The AST node type to check.
|
|
40
|
+
* @returns True if the type is a class; otherwise, false.
|
|
41
|
+
*/
|
|
42
|
+
function isClass(type) {
|
|
43
|
+
return type === 'ClassDeclaration' || type === 'ClassExpression';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Determines whether the given AST node type represents a non-executable TypeScript type-only node.
|
|
47
|
+
* Executable TypeScript nodes (e.g. enums, namespaces, parameter properties) return false.
|
|
48
|
+
*
|
|
49
|
+
* @param type The AST node type to check.
|
|
50
|
+
* @returns True if the type is a TypeScript type construct that can be safely pruned; otherwise, false.
|
|
51
|
+
*/
|
|
52
|
+
function isTypeOnlyTypeScriptNode(type) {
|
|
53
|
+
return type.startsWith('TS') && !executableTypeScriptNodes.has(type);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Pushes an array of AST nodes onto the traversal stack in reverse order.
|
|
57
|
+
*
|
|
58
|
+
* @param nodes The array of child AST nodes to push.
|
|
59
|
+
* @param stack The traversal stack.
|
|
60
|
+
*/
|
|
61
|
+
function pushNodesReverse(nodes, stack) {
|
|
62
|
+
if (nodes) {
|
|
63
|
+
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
64
|
+
const item = nodes[i];
|
|
65
|
+
if (item) {
|
|
66
|
+
stack.push(item);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Pushes child AST nodes of the specified node onto the traversal stack in reverse order
|
|
73
|
+
* so they are visited in source order.
|
|
74
|
+
*
|
|
75
|
+
* Explicit cases are provided for the most common AST node types (~95%+ of AST nodes) to:
|
|
76
|
+
* 1. Fast-path leaf nodes and frequent expressions/statements by avoiding dynamic `visitorKeys`
|
|
77
|
+
* dictionary lookups, string indexing, and dynamic array iteration.
|
|
78
|
+
* 2. Prune non-executable TypeScript type subtrees (e.g. `typeAnnotation`, `typeParameters`,
|
|
79
|
+
* `returnType`, `implements`) so traversal only processes executable JavaScript expressions.
|
|
80
|
+
*
|
|
81
|
+
* All other less frequent node types fall back to the `visitorKeys` lookup in `default:`.
|
|
82
|
+
*
|
|
83
|
+
* @param node The parent AST node whose children to push.
|
|
84
|
+
* @param stack The traversal stack.
|
|
85
|
+
*/
|
|
86
|
+
function pushChildNodes(node, stack) {
|
|
87
|
+
switch (node.type) {
|
|
88
|
+
// High-frequency leaf nodes (~50% of AST)
|
|
89
|
+
case 'Identifier':
|
|
90
|
+
case 'PrivateIdentifier':
|
|
91
|
+
case 'Literal':
|
|
92
|
+
case 'ThisExpression':
|
|
93
|
+
break;
|
|
94
|
+
case 'Program':
|
|
95
|
+
case 'BlockStatement':
|
|
96
|
+
case 'ClassBody':
|
|
97
|
+
case 'StaticBlock':
|
|
98
|
+
pushNodesReverse(node.body, stack);
|
|
99
|
+
break;
|
|
100
|
+
case 'ExpressionStatement':
|
|
101
|
+
case 'ParenthesizedExpression':
|
|
102
|
+
case 'ChainExpression':
|
|
103
|
+
case 'TSNonNullExpression':
|
|
104
|
+
case 'TSAsExpression':
|
|
105
|
+
case 'TSTypeAssertion':
|
|
106
|
+
case 'TSSatisfiesExpression':
|
|
107
|
+
case 'TSInstantiationExpression':
|
|
108
|
+
case 'TSExportAssignment':
|
|
109
|
+
if (node.expression) {
|
|
110
|
+
stack.push(node.expression);
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
case 'CallExpression':
|
|
114
|
+
case 'NewExpression':
|
|
115
|
+
pushNodesReverse(node.arguments, stack);
|
|
116
|
+
if (node.callee) {
|
|
117
|
+
stack.push(node.callee);
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
120
|
+
case 'MemberExpression':
|
|
121
|
+
if (node.property) {
|
|
122
|
+
stack.push(node.property);
|
|
123
|
+
}
|
|
124
|
+
if (node.object) {
|
|
125
|
+
stack.push(node.object);
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
case 'BinaryExpression':
|
|
129
|
+
case 'LogicalExpression':
|
|
130
|
+
case 'AssignmentExpression':
|
|
131
|
+
if (node.right) {
|
|
132
|
+
stack.push(node.right);
|
|
133
|
+
}
|
|
134
|
+
if (node.left) {
|
|
135
|
+
stack.push(node.left);
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
case 'UnaryExpression':
|
|
139
|
+
case 'UpdateExpression':
|
|
140
|
+
case 'AwaitExpression':
|
|
141
|
+
case 'YieldExpression':
|
|
142
|
+
case 'ReturnStatement':
|
|
143
|
+
case 'ThrowStatement':
|
|
144
|
+
if (node.argument) {
|
|
145
|
+
stack.push(node.argument);
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
148
|
+
case 'IfStatement':
|
|
149
|
+
case 'ConditionalExpression':
|
|
150
|
+
if (node.alternate) {
|
|
151
|
+
stack.push(node.alternate);
|
|
152
|
+
}
|
|
153
|
+
if (node.consequent) {
|
|
154
|
+
stack.push(node.consequent);
|
|
155
|
+
}
|
|
156
|
+
if (node.test) {
|
|
157
|
+
stack.push(node.test);
|
|
158
|
+
}
|
|
159
|
+
break;
|
|
160
|
+
case 'VariableDeclaration':
|
|
161
|
+
pushNodesReverse(node.declarations, stack);
|
|
162
|
+
break;
|
|
163
|
+
case 'VariableDeclarator':
|
|
164
|
+
if (node.init) {
|
|
165
|
+
stack.push(node.init);
|
|
166
|
+
}
|
|
167
|
+
if (node.id) {
|
|
168
|
+
stack.push(node.id);
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
case 'FunctionDeclaration':
|
|
172
|
+
case 'FunctionExpression':
|
|
173
|
+
case 'ArrowFunctionExpression':
|
|
174
|
+
if (node.body) {
|
|
175
|
+
stack.push(node.body);
|
|
176
|
+
}
|
|
177
|
+
pushNodesReverse(node.params, stack);
|
|
178
|
+
if (node.id) {
|
|
179
|
+
stack.push(node.id);
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case 'ClassDeclaration':
|
|
183
|
+
case 'ClassExpression':
|
|
184
|
+
if (node.body) {
|
|
185
|
+
stack.push(node.body);
|
|
186
|
+
}
|
|
187
|
+
if (node.superClass) {
|
|
188
|
+
stack.push(node.superClass);
|
|
189
|
+
}
|
|
190
|
+
if (node.id) {
|
|
191
|
+
stack.push(node.id);
|
|
192
|
+
}
|
|
193
|
+
pushNodesReverse(node.decorators, stack);
|
|
194
|
+
break;
|
|
195
|
+
case 'Property':
|
|
196
|
+
case 'PropertyDefinition':
|
|
197
|
+
case 'MethodDefinition':
|
|
198
|
+
if (node.value) {
|
|
199
|
+
stack.push(node.value);
|
|
200
|
+
}
|
|
201
|
+
if (node.key) {
|
|
202
|
+
stack.push(node.key);
|
|
203
|
+
}
|
|
204
|
+
if (node.type !== 'Property') {
|
|
205
|
+
pushNodesReverse(node.decorators, stack);
|
|
206
|
+
}
|
|
207
|
+
break;
|
|
208
|
+
case 'ObjectExpression':
|
|
209
|
+
pushNodesReverse(node.properties, stack);
|
|
210
|
+
break;
|
|
211
|
+
case 'ArrayExpression':
|
|
212
|
+
pushNodesReverse(node.elements, stack);
|
|
213
|
+
break;
|
|
214
|
+
case 'TemplateLiteral':
|
|
215
|
+
pushNodesReverse(node.expressions, stack);
|
|
216
|
+
break;
|
|
217
|
+
case 'TaggedTemplateExpression':
|
|
218
|
+
if (node.quasi) {
|
|
219
|
+
stack.push(node.quasi);
|
|
220
|
+
}
|
|
221
|
+
if (node.tag) {
|
|
222
|
+
stack.push(node.tag);
|
|
223
|
+
}
|
|
224
|
+
break;
|
|
225
|
+
default: {
|
|
226
|
+
// Prune non-executable TypeScript type-only AST nodes (e.g. TSTypeAnnotation, TSTypeReference, etc.)
|
|
227
|
+
if (isTypeOnlyTypeScriptNode(node.type)) {
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
const keys = oxc_parser_1.visitorKeys[node.type];
|
|
231
|
+
if (!keys) {
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
for (let i = keys.length - 1; i >= 0; i--) {
|
|
235
|
+
const child = node[keys[i]];
|
|
236
|
+
if (!child) {
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (Array.isArray(child)) {
|
|
240
|
+
pushNodesReverse(child, stack);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
stack.push(child);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Traverses ESTree AST nodes in post-order (bottom-up) without recursion.
|
|
252
|
+
*
|
|
253
|
+
* @param root The root AST node to traverse.
|
|
254
|
+
* @param visit Callback invoked on each AST node in post-order.
|
|
255
|
+
*/
|
|
256
|
+
function traversePostOrder(root, visit) {
|
|
257
|
+
const stack = [root];
|
|
258
|
+
let functionDepth = 0;
|
|
259
|
+
let classDepth = 0;
|
|
260
|
+
const functionStack = [];
|
|
261
|
+
while (stack.length > 0) {
|
|
262
|
+
const current = stack.pop();
|
|
263
|
+
if (current === undefined) {
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
if (current === null) {
|
|
267
|
+
const node = stack.pop();
|
|
268
|
+
if (!node) {
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
const type = node.type;
|
|
272
|
+
if (isFunction(type)) {
|
|
273
|
+
functionDepth--;
|
|
274
|
+
functionStack.pop();
|
|
275
|
+
}
|
|
276
|
+
else if (isClass(type)) {
|
|
277
|
+
classDepth--;
|
|
278
|
+
}
|
|
279
|
+
visit(node, {
|
|
280
|
+
functionDepth,
|
|
281
|
+
classDepth,
|
|
282
|
+
parentFunc: functionStack[functionStack.length - 1],
|
|
283
|
+
});
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
stack.push(current);
|
|
287
|
+
stack.push(null);
|
|
288
|
+
const type = current.type;
|
|
289
|
+
if (isFunction(type)) {
|
|
290
|
+
functionDepth++;
|
|
291
|
+
functionStack.push(current);
|
|
292
|
+
}
|
|
293
|
+
else if (isClass(type)) {
|
|
294
|
+
classDepth++;
|
|
295
|
+
}
|
|
296
|
+
pushChildNodes(current, stack);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=traversal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traversal.js","sourceRoot":"","sources":["traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
declare module 'istanbul-lib-instrument' {
|
|
10
|
+
export interface Instrumenter {
|
|
11
|
+
instrumentSync(code: string, filename: string, inputSourceMap?: object): string;
|
|
12
|
+
lastSourceMap(): object | undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function createInstrumenter(options?: {
|
|
16
|
+
produceSourceMap?: boolean;
|
|
17
|
+
esModules?: boolean;
|
|
18
|
+
coverageVariable?: string;
|
|
19
|
+
}): Instrumenter;
|
|
20
|
+
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import type { CanonicalizeContext, Importer, ImporterResult } from 'sass';
|
|
8
|
+
import type { DecodedSourceMap } from '@ampproject/remapping';
|
|
9
|
+
import type { CanonicalizeContext, Importer, ImporterResult } from 'sass-embedded';
|
|
10
10
|
/**
|
|
11
11
|
* A preprocessed cache entry for the files and directories within a previously searched
|
|
12
12
|
* directory when performing Sass import resolution.
|
|
@@ -34,7 +34,7 @@ declare abstract class UrlRebasingImporter implements Importer<'sync'> {
|
|
|
34
34
|
* @param rebaseSourceMaps When provided, rebased files will have an intermediate sourcemap added to the Map
|
|
35
35
|
* which can be used to generate a final sourcemap that contains original sources.
|
|
36
36
|
*/
|
|
37
|
-
constructor(entryDirectory: string, rebaseSourceMaps?: Map<string,
|
|
37
|
+
constructor(entryDirectory: string, rebaseSourceMaps?: Map<string, DecodedSourceMap> | undefined);
|
|
38
38
|
abstract canonicalize(url: string, options: {
|
|
39
39
|
fromImport: boolean;
|
|
40
40
|
}): URL | null;
|
|
@@ -47,7 +47,7 @@ declare abstract class UrlRebasingImporter implements Importer<'sync'> {
|
|
|
47
47
|
*/
|
|
48
48
|
export declare class RelativeUrlRebasingImporter extends UrlRebasingImporter {
|
|
49
49
|
private directoryCache;
|
|
50
|
-
constructor(entryDirectory: string, directoryCache?: Map<string, DirectoryEntry>, rebaseSourceMaps?: Map<string,
|
|
50
|
+
constructor(entryDirectory: string, directoryCache?: Map<string, DirectoryEntry>, rebaseSourceMaps?: Map<string, DecodedSourceMap>);
|
|
51
51
|
canonicalize(url: string, options: {
|
|
52
52
|
fromImport: boolean;
|
|
53
53
|
}): URL | null;
|
|
@@ -70,14 +70,15 @@ export declare class RelativeUrlRebasingImporter extends UrlRebasingImporter {
|
|
|
70
70
|
private checkFound;
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Provides the Sass importer logic to resolve module (npm package) stylesheet imports
|
|
74
|
-
*
|
|
75
|
-
* the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file.
|
|
73
|
+
* Provides the Sass importer logic to resolve module (npm package) stylesheet imports asynchronously
|
|
74
|
+
* and also rebase any `url()` function usage within those stylesheets.
|
|
76
75
|
*/
|
|
77
|
-
export declare class
|
|
76
|
+
export declare class AsyncModuleUrlRebasingImporter implements Importer<'async'> {
|
|
78
77
|
private finder;
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
private relativeImporter;
|
|
79
|
+
constructor(entryDirectory: string, directoryCache: Map<string, DirectoryEntry>, rebaseSourceMaps: Map<string, DecodedSourceMap> | undefined, finder: (specifier: string, options: CanonicalizeContext) => Promise<URL | null> | URL | null);
|
|
80
|
+
canonicalize(url: string, options: CanonicalizeContext): Promise<URL | null>;
|
|
81
|
+
load(canonicalUrl: URL): ImporterResult | null;
|
|
81
82
|
}
|
|
82
83
|
/**
|
|
83
84
|
* Provides the Sass importer logic to resolve load paths located stylesheet imports via both import and
|
|
@@ -86,16 +87,9 @@ export declare class ModuleUrlRebasingImporter extends RelativeUrlRebasingImport
|
|
|
86
87
|
*/
|
|
87
88
|
export declare class LoadPathsUrlRebasingImporter extends RelativeUrlRebasingImporter {
|
|
88
89
|
private loadPaths;
|
|
89
|
-
constructor(entryDirectory: string, directoryCache: Map<string, DirectoryEntry>, rebaseSourceMaps: Map<string,
|
|
90
|
+
constructor(entryDirectory: string, directoryCache: Map<string, DirectoryEntry>, rebaseSourceMaps: Map<string, DecodedSourceMap> | undefined, loadPaths: Iterable<string>);
|
|
90
91
|
canonicalize(url: string, options: {
|
|
91
92
|
fromImport: boolean;
|
|
92
93
|
}): URL | null;
|
|
93
94
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Workaround for Sass not calling instance methods with `this`.
|
|
96
|
-
* The `canonicalize` and `load` methods will be bound to the class instance.
|
|
97
|
-
* @param importer A Sass importer to bind.
|
|
98
|
-
* @returns The bound Sass importer.
|
|
99
|
-
*/
|
|
100
|
-
export declare function sassBindWorkaround<T extends Importer>(importer: T): T;
|
|
101
95
|
export {};
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.LoadPathsUrlRebasingImporter = exports.
|
|
11
|
-
exports.sassBindWorkaround = sassBindWorkaround;
|
|
10
|
+
exports.LoadPathsUrlRebasingImporter = exports.AsyncModuleUrlRebasingImporter = exports.RelativeUrlRebasingImporter = void 0;
|
|
12
11
|
const magic_string_1 = require("magic-string");
|
|
13
12
|
const node_fs_1 = require("node:fs");
|
|
14
13
|
const node_path_1 = require("node:path");
|
|
@@ -38,6 +37,7 @@ class UrlRebasingImporter {
|
|
|
38
37
|
constructor(entryDirectory, rebaseSourceMaps) {
|
|
39
38
|
this.entryDirectory = entryDirectory;
|
|
40
39
|
this.rebaseSourceMaps = rebaseSourceMaps;
|
|
40
|
+
this.load = this.load.bind(this);
|
|
41
41
|
}
|
|
42
42
|
load(canonicalUrl) {
|
|
43
43
|
const stylesheetPath = (0, node_url_1.fileURLToPath)(canonicalUrl);
|
|
@@ -76,12 +76,15 @@ class UrlRebasingImporter {
|
|
|
76
76
|
contents = updatedContents.toString();
|
|
77
77
|
if (this.rebaseSourceMaps) {
|
|
78
78
|
// Generate an intermediate source map for the rebasing changes
|
|
79
|
-
const map = updatedContents.
|
|
79
|
+
const map = updatedContents.generateDecodedMap({
|
|
80
80
|
hires: 'boundary',
|
|
81
81
|
includeContent: true,
|
|
82
82
|
source: canonicalUrl.href,
|
|
83
83
|
});
|
|
84
|
-
this.rebaseSourceMaps.set(canonicalUrl.href,
|
|
84
|
+
this.rebaseSourceMaps.set(canonicalUrl.href, {
|
|
85
|
+
...map,
|
|
86
|
+
version: 3,
|
|
87
|
+
});
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
90
|
let syntax;
|
|
@@ -113,6 +116,7 @@ class RelativeUrlRebasingImporter extends UrlRebasingImporter {
|
|
|
113
116
|
constructor(entryDirectory, directoryCache = new Map(), rebaseSourceMaps) {
|
|
114
117
|
super(entryDirectory, rebaseSourceMaps);
|
|
115
118
|
this.directoryCache = directoryCache;
|
|
119
|
+
this.canonicalize = this.canonicalize.bind(this);
|
|
116
120
|
}
|
|
117
121
|
canonicalize(url, options) {
|
|
118
122
|
return this.resolveImport(url, options.fromImport, true);
|
|
@@ -270,26 +274,30 @@ class RelativeUrlRebasingImporter extends UrlRebasingImporter {
|
|
|
270
274
|
}
|
|
271
275
|
exports.RelativeUrlRebasingImporter = RelativeUrlRebasingImporter;
|
|
272
276
|
/**
|
|
273
|
-
* Provides the Sass importer logic to resolve module (npm package) stylesheet imports
|
|
274
|
-
*
|
|
275
|
-
* the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file.
|
|
277
|
+
* Provides the Sass importer logic to resolve module (npm package) stylesheet imports asynchronously
|
|
278
|
+
* and also rebase any `url()` function usage within those stylesheets.
|
|
276
279
|
*/
|
|
277
|
-
class
|
|
280
|
+
class AsyncModuleUrlRebasingImporter {
|
|
278
281
|
finder;
|
|
282
|
+
relativeImporter;
|
|
279
283
|
constructor(entryDirectory, directoryCache, rebaseSourceMaps, finder) {
|
|
280
|
-
super(entryDirectory, directoryCache, rebaseSourceMaps);
|
|
281
284
|
this.finder = finder;
|
|
285
|
+
this.relativeImporter = new RelativeUrlRebasingImporter(entryDirectory, directoryCache, rebaseSourceMaps);
|
|
286
|
+
this.canonicalize = this.canonicalize.bind(this);
|
|
287
|
+
this.load = this.load.bind(this);
|
|
282
288
|
}
|
|
283
|
-
canonicalize(url, options) {
|
|
289
|
+
async canonicalize(url, options) {
|
|
284
290
|
if (url.startsWith('file://')) {
|
|
285
|
-
return
|
|
291
|
+
return this.relativeImporter.canonicalize(url, options);
|
|
286
292
|
}
|
|
287
|
-
|
|
288
|
-
result
|
|
289
|
-
|
|
293
|
+
const result = await this.finder(url, options);
|
|
294
|
+
return result ? this.relativeImporter.canonicalize(result.href, options) : null;
|
|
295
|
+
}
|
|
296
|
+
load(canonicalUrl) {
|
|
297
|
+
return this.relativeImporter.load(canonicalUrl);
|
|
290
298
|
}
|
|
291
299
|
}
|
|
292
|
-
exports.
|
|
300
|
+
exports.AsyncModuleUrlRebasingImporter = AsyncModuleUrlRebasingImporter;
|
|
293
301
|
/**
|
|
294
302
|
* Provides the Sass importer logic to resolve load paths located stylesheet imports via both import and
|
|
295
303
|
* use rules and also rebase any `url()` function usage within those stylesheets. The rebasing will ensure that
|
|
@@ -316,15 +324,4 @@ class LoadPathsUrlRebasingImporter extends RelativeUrlRebasingImporter {
|
|
|
316
324
|
}
|
|
317
325
|
}
|
|
318
326
|
exports.LoadPathsUrlRebasingImporter = LoadPathsUrlRebasingImporter;
|
|
319
|
-
/**
|
|
320
|
-
* Workaround for Sass not calling instance methods with `this`.
|
|
321
|
-
* The `canonicalize` and `load` methods will be bound to the class instance.
|
|
322
|
-
* @param importer A Sass importer to bind.
|
|
323
|
-
* @returns The bound Sass importer.
|
|
324
|
-
*/
|
|
325
|
-
function sassBindWorkaround(importer) {
|
|
326
|
-
importer.canonicalize = importer.canonicalize.bind(importer);
|
|
327
|
-
importer.load = importer.load.bind(importer);
|
|
328
|
-
return importer;
|
|
329
|
-
}
|
|
330
327
|
//# sourceMappingURL=rebasing-importer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rebasing-importer.js","sourceRoot":"","sources":["rebasing-importer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"rebasing-importer.js","sourceRoot":"","sources":["rebasing-importer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,44 +5,19 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type { CompileResult,
|
|
9
|
-
export interface SerializableVersion {
|
|
10
|
-
major: number;
|
|
11
|
-
minor: number;
|
|
12
|
-
patch: number;
|
|
13
|
-
}
|
|
14
|
-
export interface SerializableDeprecation extends Omit<Deprecation, 'obsoleteIn' | 'deprecatedIn'> {
|
|
15
|
-
/** The version this deprecation first became active in. */
|
|
16
|
-
deprecatedIn: SerializableVersion | null;
|
|
17
|
-
/** The version this deprecation became obsolete in. */
|
|
18
|
-
obsoleteIn: SerializableVersion | null;
|
|
19
|
-
}
|
|
20
|
-
export type SerializableWarningMessage = ({
|
|
21
|
-
deprecation: true;
|
|
22
|
-
deprecationType: SerializableDeprecation;
|
|
23
|
-
} | {
|
|
24
|
-
deprecation: false;
|
|
25
|
-
}) & {
|
|
26
|
-
message: string;
|
|
27
|
-
span?: Omit<SourceSpan, 'url'> & {
|
|
28
|
-
url?: string;
|
|
29
|
-
};
|
|
30
|
-
stack?: string;
|
|
31
|
-
};
|
|
8
|
+
import type { CompileResult, StringOptions } from 'sass-embedded';
|
|
32
9
|
/**
|
|
33
|
-
* A Sass renderer implementation that
|
|
34
|
-
* `sass-
|
|
35
|
-
*
|
|
36
|
-
* the worker which can be up to two times faster than the asynchronous variant.
|
|
10
|
+
* A Sass renderer implementation that uses the persistent Dart Sass embedded compiler
|
|
11
|
+
* daemon (`sass-embedded`) communicating over standard input/output with protocol buffers,
|
|
12
|
+
* or falls back to the pure-JS Dart Sass async compiler (`sass.initAsyncCompiler()`).
|
|
37
13
|
*/
|
|
38
|
-
export declare class
|
|
14
|
+
export declare class SassCompiler {
|
|
39
15
|
#private;
|
|
40
16
|
private readonly rebase;
|
|
41
|
-
|
|
42
|
-
constructor(rebase?: boolean, maxThreads?: number);
|
|
17
|
+
constructor(rebase?: boolean);
|
|
43
18
|
/**
|
|
44
19
|
* Provides information about the Sass implementation.
|
|
45
|
-
* This mimics enough of the `
|
|
20
|
+
* This mimics enough of the `sass-embedded` or `sass` value to be used with the `sass-loader`.
|
|
46
21
|
*/
|
|
47
22
|
get info(): string;
|
|
48
23
|
/**
|
|
@@ -50,18 +25,20 @@ export declare class SassWorkerImplementation {
|
|
|
50
25
|
*/
|
|
51
26
|
compileString(): never;
|
|
52
27
|
/**
|
|
53
|
-
* Asynchronously request a Sass stylesheet to be
|
|
28
|
+
* Asynchronously request a Sass stylesheet to be rendered using the native embedded compiler
|
|
29
|
+
* or the pure-JS async compiler fallback.
|
|
54
30
|
*
|
|
55
31
|
* @param source The contents to compile.
|
|
56
|
-
* @param options The `
|
|
32
|
+
* @param options The `sass` / `sass-embedded` options to use when rendering the stylesheet.
|
|
57
33
|
*/
|
|
58
34
|
compileStringAsync(source: string, options: StringOptions<'async'>): Promise<CompileResult>;
|
|
59
35
|
/**
|
|
60
|
-
*
|
|
61
|
-
|
|
36
|
+
* Clear the directory cache.
|
|
37
|
+
*/
|
|
38
|
+
clearCache(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Shutdown the Sass compiler.
|
|
62
41
|
* @returns A void promise that resolves when closing is complete.
|
|
63
42
|
*/
|
|
64
43
|
close(): Promise<void>;
|
|
65
|
-
private processImporters;
|
|
66
|
-
private isFileImporter;
|
|
67
44
|
}
|