@angular/build 22.2.0-next.3 → 22.2.0-next.5
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/package.json +10 -10
- 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 +42 -17
- 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 +4 -4
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.js +35 -2
- package/src/builders/application/i18n.js.map +1 -1
- package/src/builders/application/options.d.ts +14 -0
- package/src/builders/application/options.js +2 -1
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/application/setup-bundling.js +3 -1
- package/src/builders/application/setup-bundling.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +6 -0
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/tools/angular/angular-host.d.ts +1 -2
- package/src/tools/angular/angular-host.js +3 -3
- package/src/tools/angular/angular-host.js.map +1 -1
- package/src/tools/angular/compilation/angular-compilation.d.ts +23 -10
- package/src/tools/angular/compilation/angular-compilation.js +11 -1
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +4 -10
- package/src/tools/angular/compilation/aot-compilation.js +23 -14
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- 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 +2 -2
- package/src/tools/angular/compilation/index.js.map +1 -1
- package/src/tools/angular/compilation/jit-compilation.d.ts +4 -7
- package/src/tools/angular/compilation/jit-compilation.js +14 -11
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/angular/compilation/noop-compilation.d.ts +3 -8
- package/src/tools/angular/compilation/noop-compilation.js +1 -1
- package/src/tools/angular/compilation/noop-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-compilation.d.ts +2 -8
- package/src/tools/angular/compilation/parallel-compilation.js +43 -19
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-worker.d.ts +3 -15
- package/src/tools/angular/compilation/parallel-worker.js +94 -66
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
- package/src/tools/angular/linker/oxc-linker.d.ts +13 -17
- package/src/tools/angular/linker/oxc-linker.js +27 -89
- package/src/tools/angular/linker/oxc-linker.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.js +51 -21
- 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 +43 -15
- 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 +10 -9
- 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 +108 -42
- package/src/tools/esbuild/bundler-context.js.map +1 -1
- package/src/tools/esbuild/cache.d.ts +10 -0
- package/src/tools/esbuild/cache.js +18 -0
- package/src/tools/esbuild/cache.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +59 -6
- package/src/tools/esbuild/i18n-inliner-worker.js +252 -71
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner.d.ts +39 -5
- package/src/tools/esbuild/i18n-inliner.js +209 -83
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/i18n-locale-plugin.d.ts +32 -0
- package/src/tools/esbuild/i18n-locale-plugin.js +112 -103
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
- package/src/tools/esbuild/i18n-translation-encoder.d.ts +20 -0
- package/src/tools/esbuild/i18n-translation-encoder.js +92 -0
- package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -0
- package/src/tools/esbuild/i18n-translation-reader.d.ts +40 -0
- package/src/tools/esbuild/i18n-translation-reader.js +164 -0
- package/src/tools/esbuild/i18n-translation-reader.js.map +1 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +36 -46
- package/src/tools/esbuild/javascript-transformer-worker.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 +1 -0
- package/src/tools/esbuild/load-result-cache.js +24 -11
- package/src/tools/esbuild/load-result-cache.js.map +1 -1
- package/src/tools/esbuild/utils.d.ts +2 -2
- package/src/tools/esbuild/utils.js +9 -6
- package/src/tools/esbuild/utils.js.map +1 -1
- package/src/tools/oxc/oxc-transform.d.ts +3 -0
- package/src/tools/oxc/oxc-transform.js +53 -32
- package/src/tools/oxc/oxc-transform.js.map +1 -1
- package/src/utils/i18n-options.d.ts +1 -0
- package/src/utils/i18n-options.js.map +1 -1
- package/src/utils/index-file/auto-csp.js +36 -17
- package/src/utils/index-file/auto-csp.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +1 -1
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +12 -9
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -1
- 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 +30 -0
- package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -1
- package/src/utils/server-rendering/prerender.js +70 -30
- package/src/utils/server-rendering/prerender.js.map +1 -1
- package/src/utils/server-rendering/render-worker.d.ts +7 -4
- package/src/utils/server-rendering/render-worker.js +29 -7
- package/src/utils/server-rendering/render-worker.js.map +1 -1
|
@@ -51,7 +51,6 @@ const node_worker_threads_1 = require("node:worker_threads");
|
|
|
51
51
|
const piscina_1 = __importDefault(require("piscina"));
|
|
52
52
|
const environment_options_js_1 = require("../../utils/environment-options.js");
|
|
53
53
|
const source_map_1 = require("../../utils/source-map");
|
|
54
|
-
const oxc_linker_js_1 = require("../angular/linker/oxc-linker.js");
|
|
55
54
|
const oxc_transform_js_1 = require("../oxc/oxc-transform.js");
|
|
56
55
|
const { sourcemap = false, thirdPartySourcemaps = false, advancedOptimizations = false, jit = false, } = (node_worker_threads_1.workerData || {});
|
|
57
56
|
const textDecoder = new TextDecoder();
|
|
@@ -153,57 +152,48 @@ async function transformJavaScriptImpl(filename, data, options) {
|
|
|
153
152
|
code = result.code;
|
|
154
153
|
coverageMap = result.map;
|
|
155
154
|
}
|
|
156
|
-
if (shouldLink) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
maps.push(result.map);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
const result = (0, oxc_linker_js_1.linkWithOxc)(filename, code, {
|
|
191
|
-
sourcemap: useInputSourcemap,
|
|
192
|
-
jit,
|
|
193
|
-
skipCheck: true,
|
|
194
|
-
});
|
|
195
|
-
code = result.code;
|
|
196
|
-
if (result.map) {
|
|
197
|
-
maps.push(result.map);
|
|
198
|
-
}
|
|
155
|
+
if (shouldLink && environment_options_js_1.useBabelLinker) {
|
|
156
|
+
const { createEs2015LinkerPlugin } = await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli/linker/babel')));
|
|
157
|
+
const { ConsoleLogger, LogLevel } = await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli')));
|
|
158
|
+
const result = await (0, core_1.transformAsync)(code, {
|
|
159
|
+
filename,
|
|
160
|
+
inputSourceMap: false,
|
|
161
|
+
sourceMaps: !!useInputSourcemap,
|
|
162
|
+
compact: false,
|
|
163
|
+
configFile: false,
|
|
164
|
+
babelrc: false,
|
|
165
|
+
browserslistConfigFile: false,
|
|
166
|
+
plugins: [
|
|
167
|
+
createEs2015LinkerPlugin({
|
|
168
|
+
fileSystem: {
|
|
169
|
+
exists: () => false,
|
|
170
|
+
readFile: () => '',
|
|
171
|
+
resolve: (...paths) => paths.join('/'),
|
|
172
|
+
dirname: (path) => path.split('/').slice(0, -1).join('/'),
|
|
173
|
+
relative: (_from, to) => to,
|
|
174
|
+
},
|
|
175
|
+
logger: new ConsoleLogger(LogLevel.info),
|
|
176
|
+
linkerJitMode: jit,
|
|
177
|
+
// This is a workaround until https://github.com/angular/angular/issues/42769 is fixed.
|
|
178
|
+
sourceMapping: false,
|
|
179
|
+
}),
|
|
180
|
+
],
|
|
181
|
+
});
|
|
182
|
+
code = result?.code ?? code;
|
|
183
|
+
if (result?.map) {
|
|
184
|
+
maps.push(result.map);
|
|
199
185
|
}
|
|
200
186
|
}
|
|
201
|
-
// Run advanced optimizations
|
|
202
|
-
|
|
187
|
+
// Run Oxc linking and/or advanced optimizations in a single unified AST traversal pass
|
|
188
|
+
const oxcLink = shouldLink && !environment_options_js_1.useBabelLinker;
|
|
189
|
+
if (oxcLink || advancedOptimizations) {
|
|
203
190
|
const sideEffectFree = options.sideEffects === false;
|
|
204
191
|
const safeAngularPackage = sideEffectFree && /[\\/]node_modules[\\/]@angular[\\/]/.test(filename);
|
|
205
192
|
const topLevelSafeMode = !safeAngularPackage;
|
|
206
193
|
const result = (0, oxc_transform_js_1.transform)(filename, code, {
|
|
194
|
+
link: oxcLink,
|
|
195
|
+
jit,
|
|
196
|
+
advancedOptimizations,
|
|
207
197
|
sourcemap: useInputSourcemap,
|
|
208
198
|
sideEffects: options.sideEffects,
|
|
209
199
|
topLevelSafeMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,4 @@ import type { Metafile } from 'esbuild';
|
|
|
22
22
|
* @param rootDirectory The root directory of the workspace.
|
|
23
23
|
* @returns A string containing the content of the output licenses file.
|
|
24
24
|
*/
|
|
25
|
-
export declare function extractLicenses(
|
|
25
|
+
export declare function extractLicenses(metafiles: Metafile[], rootDirectory: string): Promise<string>;
|
|
@@ -58,106 +58,109 @@ const EXTRACTION_FILE_SEPARATOR = '-'.repeat(80) + '\n';
|
|
|
58
58
|
* @param rootDirectory The root directory of the workspace.
|
|
59
59
|
* @returns A string containing the content of the output licenses file.
|
|
60
60
|
*/
|
|
61
|
-
async function extractLicenses(
|
|
61
|
+
async function extractLicenses(metafiles, rootDirectory) {
|
|
62
62
|
let extractedLicenseContent = `${EXTRACTION_FILE_HEADER}\n${EXTRACTION_FILE_SEPARATOR}`;
|
|
63
63
|
const seenPaths = new Set();
|
|
64
64
|
const seenPackageDirectories = new Set();
|
|
65
65
|
const seenPackages = new Set();
|
|
66
|
-
for (const
|
|
67
|
-
for (const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Skip already processed paths
|
|
73
|
-
if (seenPaths.has(inputPath)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
seenPaths.add(inputPath);
|
|
77
|
-
// Skip non-package paths
|
|
78
|
-
if (!inputPath.includes(NODE_MODULE_SEGMENT)) {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
// Extract the package name from the path
|
|
82
|
-
let baseDirectory = node_path_1.default.join(rootDirectory, inputPath);
|
|
83
|
-
let nameOrScope, nameOrFile;
|
|
84
|
-
let found = false;
|
|
85
|
-
while (baseDirectory !== node_path_1.default.dirname(baseDirectory)) {
|
|
86
|
-
const segment = node_path_1.default.basename(baseDirectory);
|
|
87
|
-
if (segment === NODE_MODULE_SEGMENT) {
|
|
88
|
-
found = true;
|
|
89
|
-
break;
|
|
66
|
+
for (const metafile of metafiles) {
|
|
67
|
+
for (const entry of Object.values(metafile.outputs)) {
|
|
68
|
+
for (const [inputPath, { bytesInOutput }] of Object.entries(entry.inputs)) {
|
|
69
|
+
// Skip if not included in output
|
|
70
|
+
if (bytesInOutput <= 0) {
|
|
71
|
+
continue;
|
|
90
72
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
// Skip non-package path edge cases that are not caught in the includes check above
|
|
96
|
-
if (!found || !nameOrScope) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
const packageName = nameOrScope.startsWith('@')
|
|
100
|
-
? `${nameOrScope}/${nameOrFile}`
|
|
101
|
-
: nameOrScope;
|
|
102
|
-
const packageDirectory = node_path_1.default.join(baseDirectory, packageName);
|
|
103
|
-
if (seenPackageDirectories.has(packageDirectory)) {
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
seenPackageDirectories.add(packageDirectory);
|
|
107
|
-
// Load the package's metadata to find the package's name, version, and license type
|
|
108
|
-
const packageJsonPath = node_path_1.default.join(packageDirectory, 'package.json');
|
|
109
|
-
let packageJson;
|
|
110
|
-
try {
|
|
111
|
-
packageJson = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, 'utf-8'));
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
// Invalid package
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
// Skip already processed packages
|
|
118
|
-
const packageId = `${packageName}@${packageJson.version}`;
|
|
119
|
-
if (seenPackages.has(packageId)) {
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
seenPackages.add(packageId);
|
|
123
|
-
// Attempt to find license text inside package
|
|
124
|
-
let licenseText = '';
|
|
125
|
-
if (typeof packageJson.license === 'string' &&
|
|
126
|
-
packageJson.license.toUpperCase().startsWith(CUSTOM_LICENSE_TEXT)) {
|
|
127
|
-
// Attempt to load the package's custom license
|
|
128
|
-
let customLicensePath;
|
|
129
|
-
const customLicenseFile = node_path_1.default.normalize(packageJson.license.slice(CUSTOM_LICENSE_TEXT.length).trim());
|
|
130
|
-
if (customLicenseFile.startsWith('..') || node_path_1.default.isAbsolute(customLicenseFile)) {
|
|
131
|
-
// Path is attempting to access files outside of the package
|
|
132
|
-
// TODO: Issue warning?
|
|
73
|
+
// Skip already processed paths
|
|
74
|
+
if (seenPaths.has(inputPath)) {
|
|
75
|
+
continue;
|
|
133
76
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
77
|
+
seenPaths.add(inputPath);
|
|
78
|
+
// Skip non-package paths
|
|
79
|
+
if (!inputPath.includes(NODE_MODULE_SEGMENT)) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
// Extract the package name from the path
|
|
83
|
+
let baseDirectory = node_path_1.default.join(rootDirectory, inputPath);
|
|
84
|
+
let nameOrScope, nameOrFile;
|
|
85
|
+
let found = false;
|
|
86
|
+
while (baseDirectory !== node_path_1.default.dirname(baseDirectory)) {
|
|
87
|
+
const segment = node_path_1.default.basename(baseDirectory);
|
|
88
|
+
if (segment === NODE_MODULE_SEGMENT) {
|
|
89
|
+
found = true;
|
|
90
|
+
break;
|
|
138
91
|
}
|
|
139
|
-
|
|
92
|
+
nameOrFile = nameOrScope;
|
|
93
|
+
nameOrScope = segment;
|
|
94
|
+
baseDirectory = node_path_1.default.dirname(baseDirectory);
|
|
140
95
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
96
|
+
// Skip non-package path edge cases that are not caught in the includes check above
|
|
97
|
+
if (!found || !nameOrScope) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const packageName = nameOrScope.startsWith('@')
|
|
101
|
+
? `${nameOrScope}/${nameOrFile}`
|
|
102
|
+
: nameOrScope;
|
|
103
|
+
const packageDirectory = node_path_1.default.join(baseDirectory, packageName);
|
|
104
|
+
if (seenPackageDirectories.has(packageDirectory)) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
seenPackageDirectories.add(packageDirectory);
|
|
108
|
+
// Load the package's metadata to find the package's name, version, and license type
|
|
109
|
+
const packageJsonPath = node_path_1.default.join(packageDirectory, 'package.json');
|
|
110
|
+
let packageJson;
|
|
111
|
+
try {
|
|
112
|
+
packageJson = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, 'utf-8'));
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Invalid package
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
// Skip already processed packages
|
|
119
|
+
const packageId = `${packageName}@${packageJson.version}`;
|
|
120
|
+
if (seenPackages.has(packageId)) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
seenPackages.add(packageId);
|
|
124
|
+
// Attempt to find license text inside package
|
|
125
|
+
let licenseText = '';
|
|
126
|
+
if (typeof packageJson.license === 'string' &&
|
|
127
|
+
packageJson.license.toUpperCase().startsWith(CUSTOM_LICENSE_TEXT)) {
|
|
128
|
+
// Attempt to load the package's custom license
|
|
129
|
+
let customLicensePath;
|
|
130
|
+
const customLicenseFile = node_path_1.default.normalize(packageJson.license.slice(CUSTOM_LICENSE_TEXT.length).trim());
|
|
131
|
+
if (customLicenseFile.startsWith('..') || node_path_1.default.isAbsolute(customLicenseFile)) {
|
|
132
|
+
// Path is attempting to access files outside of the package
|
|
133
|
+
// TODO: Issue warning?
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
customLicensePath = node_path_1.default.join(packageDirectory, customLicenseFile);
|
|
148
137
|
try {
|
|
149
|
-
licenseText = await (0, promises_1.readFile)(
|
|
150
|
-
break;
|
|
138
|
+
licenseText = await (0, promises_1.readFile)(customLicensePath, 'utf-8');
|
|
151
139
|
}
|
|
152
140
|
catch { }
|
|
153
141
|
}
|
|
154
142
|
}
|
|
143
|
+
else {
|
|
144
|
+
// Search for a license file within the root of the package
|
|
145
|
+
const entries = await (0, promises_1.readdir)(packageDirectory, { withFileTypes: true }).catch(() => []);
|
|
146
|
+
for (const entry of entries) {
|
|
147
|
+
if ((entry.isFile() || entry.isSymbolicLink()) &&
|
|
148
|
+
LICENSE_FILE_REGEXP.test(entry.name)) {
|
|
149
|
+
const packageLicensePath = node_path_1.default.join(packageDirectory, entry.name);
|
|
150
|
+
try {
|
|
151
|
+
licenseText = await (0, promises_1.readFile)(packageLicensePath, 'utf-8');
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
catch { }
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// Generate the package's license entry in the output content
|
|
159
|
+
extractedLicenseContent += `Package: ${packageJson.name}\n`;
|
|
160
|
+
extractedLicenseContent += `License: ${JSON.stringify(packageJson.license, null, 2)}\n`;
|
|
161
|
+
extractedLicenseContent += `\n${licenseText}\n`;
|
|
162
|
+
extractedLicenseContent += EXTRACTION_FILE_SEPARATOR;
|
|
155
163
|
}
|
|
156
|
-
// Generate the package's license entry in the output content
|
|
157
|
-
extractedLicenseContent += `Package: ${packageJson.name}\n`;
|
|
158
|
-
extractedLicenseContent += `License: ${JSON.stringify(packageJson.license, null, 2)}\n`;
|
|
159
|
-
extractedLicenseContent += `\n${licenseText}\n`;
|
|
160
|
-
extractedLicenseContent += EXTRACTION_FILE_SEPARATOR;
|
|
161
164
|
}
|
|
162
165
|
}
|
|
163
166
|
return extractedLicenseContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-extractor.js","sourceRoot":"","sources":["license-extractor.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAwDH,
|
|
1
|
+
{"version":3,"file":"license-extractor.js","sourceRoot":"","sources":["license-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import type { OnLoadResult, PluginBuild } from 'esbuild';
|
|
|
9
9
|
export interface LoadResultCache {
|
|
10
10
|
get(path: string): OnLoadResult | Promise<OnLoadResult | undefined> | undefined;
|
|
11
11
|
put(path: string, result: OnLoadResult): Promise<void>;
|
|
12
|
+
invalidate(path: string): boolean;
|
|
12
13
|
readonly watchFiles: ReadonlyArray<string>;
|
|
13
14
|
}
|
|
14
15
|
export declare function createCachedLoad(cache: LoadResultCache | undefined, callback: Parameters<PluginBuild['onLoad']>[1]): Parameters<PluginBuild['onLoad']>[1];
|
|
@@ -42,13 +42,29 @@ class MemoryLoadResultCache {
|
|
|
42
42
|
return this.#loadResults.get(path);
|
|
43
43
|
}
|
|
44
44
|
async put(path, result) {
|
|
45
|
+
const previousWatchFiles = this.#watchFilesPerKey.get(path);
|
|
45
46
|
if (result.errors && result.errors.length > 0) {
|
|
46
|
-
const previousWatchFiles = this.#watchFilesPerKey.get(path);
|
|
47
47
|
if (previousWatchFiles) {
|
|
48
48
|
result.watchFiles = Array.from(new Set([...(result.watchFiles ?? []), ...previousWatchFiles]));
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
const currentNormalizedWatchFiles = new Set(result.watchFiles?.map(node_path_1.normalize) ?? []);
|
|
52
|
+
// Clean up any previous file dependencies that are no longer referenced
|
|
53
|
+
if (previousWatchFiles) {
|
|
54
|
+
for (const watchFile of previousWatchFiles) {
|
|
55
|
+
const normalizedWatchFile = (0, node_path_1.normalize)(watchFile);
|
|
56
|
+
if (!currentNormalizedWatchFiles.has(normalizedWatchFile)) {
|
|
57
|
+
const affected = this.#fileDependencies.get(normalizedWatchFile);
|
|
58
|
+
if (affected) {
|
|
59
|
+
affected.delete(path);
|
|
60
|
+
if (affected.size === 0) {
|
|
61
|
+
this.#fileDependencies.delete(normalizedWatchFile);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (result.watchFiles && result.watchFiles.length > 0) {
|
|
52
68
|
this.#watchFilesPerKey.set(path, [...result.watchFiles]);
|
|
53
69
|
}
|
|
54
70
|
else {
|
|
@@ -70,16 +86,13 @@ class MemoryLoadResultCache {
|
|
|
70
86
|
}
|
|
71
87
|
invalidate(path) {
|
|
72
88
|
const affectedPaths = this.#fileDependencies.get(path);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
this.#fileDependencies.delete(path);
|
|
89
|
+
if (!affectedPaths) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
for (const affected of affectedPaths) {
|
|
93
|
+
this.#loadResults.delete(affected);
|
|
81
94
|
}
|
|
82
|
-
return
|
|
95
|
+
return true;
|
|
83
96
|
}
|
|
84
97
|
get watchFiles() {
|
|
85
98
|
// this.#loadResults.keys() is not included here because the keys
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-result-cache.js","sourceRoot":"","sources":["load-result-cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"load-result-cache.js","sourceRoot":"","sources":["load-result-cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH,4CA8BC;AAvCD,yCAAsC;AAStC,SAAgB,gBAAgB,CAC9B,KAAkC,EAClC,QAA8C;IAE9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,MAAM,GAAoC,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9B,iCAAiC;YACjC,IAAI,MAAM,EAAE,CAAC;gBACX,8DAA8D;gBAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBAC9B,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,MAAa,qBAAqB;IAChC,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE7D,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,MAAoB;QAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAC5B,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,qBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAErF,wEAAwE;QACxE,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,mBAAmB,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBACjE,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;4BACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,8DAA8D;gBAC9D,MAAM,mBAAmB,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBAC5D,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACZ,iEAAiE;QACjE,8DAA8D;QAC9D,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACF;AAnFD,sDAmFC"}
|
|
@@ -11,8 +11,8 @@ import { NormalizedApplicationBuildOptions } from '../../builders/application/op
|
|
|
11
11
|
import { BudgetCalculatorResult } from '../../utils/bundle-calculator';
|
|
12
12
|
import { BuildOutputAsset, ExecutionResult } from './bundler-execution-result';
|
|
13
13
|
import { type BuildOutputFile, type InitialFileRecord } from './bundler-files';
|
|
14
|
-
export declare function logBuildStats(
|
|
15
|
-
export declare function getChunkNameFromMetafile(
|
|
14
|
+
export declare function logBuildStats(metafiles: Metafile[], outputFiles: BuildOutputFile[], initial: Map<string, InitialFileRecord>, budgetFailures: BudgetCalculatorResult[] | undefined, colors: boolean, changedFiles?: Set<string>, estimatedTransferSizes?: Map<string, number>, ssrOutputEnabled?: boolean, verbose?: boolean): string;
|
|
15
|
+
export declare function getChunkNameFromMetafile(metafiles: Metafile[] | Metafile, file: string): string | undefined;
|
|
16
16
|
export declare function calculateEstimatedTransferSizes(outputFiles: OutputFile[]): Promise<Map<string, number>>;
|
|
17
17
|
export declare function withSpinner<T>(text: string, action: () => T | Promise<T>): Promise<T>;
|
|
18
18
|
export declare function withNoProgress<T>(text: string, action: () => T | Promise<T>): Promise<T>;
|
|
@@ -26,7 +26,7 @@ const node_zlib_1 = require("node:zlib");
|
|
|
26
26
|
const schema_1 = require("../../builders/application/schema");
|
|
27
27
|
const stats_table_1 = require("../../utils/stats-table");
|
|
28
28
|
const bundler_files_1 = require("./bundler-files");
|
|
29
|
-
function logBuildStats(
|
|
29
|
+
function logBuildStats(metafiles, outputFiles, initial, budgetFailures, colors, changedFiles, estimatedTransferSizes, ssrOutputEnabled, verbose) {
|
|
30
30
|
// Remove the i18n subpath in case the build is using i18n.
|
|
31
31
|
// en-US/main.js -> main.js
|
|
32
32
|
const normalizedChangedFiles = new Set([...(changedFiles ?? [])].map((f) => (0, node_path_1.basename)(f)));
|
|
@@ -50,11 +50,11 @@ function logBuildStats(metafile, outputFiles, initial, budgetFailures, colors, c
|
|
|
50
50
|
continue;
|
|
51
51
|
}
|
|
52
52
|
// Skip logging external component stylesheets used for HMR
|
|
53
|
-
if (
|
|
53
|
+
if (metafiles.some((mf) => mf.outputs[file] && 'ng-component' in mf.outputs[file])) {
|
|
54
54
|
componentStyleChange = true;
|
|
55
55
|
continue;
|
|
56
56
|
}
|
|
57
|
-
const name = initial.get(file)?.name ?? getChunkNameFromMetafile(
|
|
57
|
+
const name = initial.get(file)?.name ?? getChunkNameFromMetafile(metafiles, file);
|
|
58
58
|
const stat = {
|
|
59
59
|
initial: initial.has(file),
|
|
60
60
|
stats: [file, name ?? '-', size, estimatedTransferSizes?.get(file) ?? '-'],
|
|
@@ -83,9 +83,12 @@ function logBuildStats(metafile, outputFiles, initial, budgetFailures, colors, c
|
|
|
83
83
|
}
|
|
84
84
|
return '';
|
|
85
85
|
}
|
|
86
|
-
function getChunkNameFromMetafile(
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
function getChunkNameFromMetafile(metafiles, file) {
|
|
87
|
+
const metafileArray = Array.isArray(metafiles) ? metafiles : [metafiles];
|
|
88
|
+
for (const metafile of metafileArray) {
|
|
89
|
+
if (metafile.outputs[file]?.entryPoint) {
|
|
90
|
+
return getEntryPointName(metafile.outputs[file].entryPoint);
|
|
91
|
+
}
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
async function calculateEstimatedTransferSizes(outputFiles) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoBH,sCAkFC;AAED,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoBH,sCAkFC;AAED,4DAUC;AAED,0EA6CC;AAED,kCAiBC;AAED,wCAEC;AAQD,8CAcC;AAGD,0CAeC;AAaD,0DA4BC;AAED,kCAuBC;AAQD,sCAGC;AAED,8CAKC;AAjTD,qCAA6E;AAC7E,mCAA+B;AAC/B,yCAA2C;AAC3C,uCAAyC;AACzC,yCAA2C;AAE3C,8DAA+D;AAG/D,yDAAsF;AAMtF,mDAAoG;AAEpG,SAAgB,aAAa,CAC3B,SAAqB,EACrB,WAA8B,EAC9B,OAAuC,EACvC,cAAoD,EACpD,MAAe,EACf,YAA0B,EAC1B,sBAA4C,EAC5C,gBAA0B,EAC1B,OAAiB;IAEjB,2DAA2D;IAC3D,2BAA2B;IAC3B,MAAM,sBAAsB,GAAgB,IAAI,GAAG,CACjD,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oBAAQ,EAAC,CAAC,CAAC,CAAC,CAClD,CAAC;IACF,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;QACrD,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QAED,wDAAwD;QACxD,IAAI,sBAAsB,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,EAAE,cAAc,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,gBAAgB,GACpB,IAAI,KAAK,mCAAmB,CAAC,iBAAiB,IAAI,IAAI,KAAK,mCAAmB,CAAC,UAAU,CAAC;QAC5F,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,mDAAmD;YACnD,SAAS;QACX,CAAC;QAED,2DAA2D;QAC3D,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,cAAc,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnF,oBAAoB,GAAG,IAAI,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClF,MAAM,IAAI,GAAgB;YACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;SAC3E,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,IAAA,4CAA8B,EAC9C,CAAC,YAAY,EAAE,WAAW,CAAC,EAC3B,MAAM,EACN,cAAc,KAAK,CAAC,EACpB,CAAC,CAAC,sBAAsB,EACxB,cAAc,EACd,OAAO,CACR,CAAC;QAEF,OAAO,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,sCAAsC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,6BAA6B,CAAC;QACvC,CAAC;IACH,CAAC;IACD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,2BAA2B,cAAc,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,wBAAwB,CACtC,SAAgC,EAChC,IAAY;IAEZ,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;YACvC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,+BAA+B,CACnD,WAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,0CAA0C;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,EAAE,aAAa,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,sGAAsG;YACtG,gCAAgC;YAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC3D,EAAE,aAAa,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,uGAAuG;YACvG,IAAA,0BAAc,EAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEd,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,EAAE,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,IAAI,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAI,IAAY,EAAE,MAA4B;IAC7E,IAAI,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,cAAK,CACxB;QACE;YACE,KAAK,EAAE,IAAI;YACX,KAAK,CAAC,IAAI;gBACR,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;YAC1B,CAAC;SACF;KACF,EACD,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAC3C,CAAC;IAEF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IAErB,OAAO,MAAW,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,cAAc,CAAI,IAAY,EAAE,MAA4B;IAChF,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,gBAAyB;IACzD,OAAO;QACL,sFAAsF;QACtF,sGAAsG;QACtG,aAAa,EAAE,gBAAgB;QAC/B,qGAAqG;QACrG,sGAAsG;QACtG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,qGAAqG;QACrG,oGAAoG;QACpG,8EAA8E;QAC9E,0EAA0E;QAC1E,oBAAoB,EAAE,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAC1B,KAAK,UAAU,eAAe,CACnC,KAAU,EACV,iBAA6C;IAE7C,8EAA8E;IAC9E,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,OAAO,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAaM,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,iBAAoD;IAEpD,MAAM,EACJ,MAAM,EAAE,KAAK,EACb,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACxC,UAAU,EACV,UAAU,GACX,GAAG,iBAAiB,CAAC;IAEtB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAEvD,MAAM,QAAQ,GAAkB;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,wBAAc,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnF,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,wBAAc,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,IAAA,wBAAa,EAAC,IAAI,CAAC;YACzB,OAAO,EAAE,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,EACJ,UAAU,KAAK,mBAAU,CAAC,MAAM,IAAI,UAAU;gBAC5C,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,SAAS;SAChB;QACD,iBAAiB;KAClB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,MAAgC,EAChC,eAAgC,EAChC,KAAe,EACf,QAAkB;IAElB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;IAEnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAA,wBAAc,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,IAAA,wBAAc,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,SAA+B;IAC3D,4FAA4F;IAC5F,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,iBAAiB,CAAC,UAAkB;IAClD,OAAO,IAAA,oBAAQ,EAAC,UAAU,CAAC;SACxB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mCAAmC;SACxD,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -11,6 +11,9 @@ export interface OxcTransformOptions {
|
|
|
11
11
|
sideEffects?: boolean;
|
|
12
12
|
topLevelSafeMode?: boolean;
|
|
13
13
|
pureAnnotate?: boolean;
|
|
14
|
+
link?: boolean;
|
|
15
|
+
jit?: boolean;
|
|
16
|
+
advancedOptimizations?: boolean;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Executes a single-pass optimized transformation using oxc-parser and magic-string.
|