@angular-devkit/build-angular 16.1.0-next.2 → 16.1.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/package.json +23 -23
- package/plugins/karma.js +2 -2
- package/src/builders/browser/index.d.ts +1 -1
- package/src/builders/browser/index.js +5 -5
- package/src/builders/browser/schema.js +6 -6
- package/src/builders/browser-esbuild/index.js +28 -390
- package/src/builders/browser-esbuild/options.js +2 -2
- package/src/builders/browser-esbuild/schema.js +6 -6
- package/src/builders/dev-server/load-proxy-config.d.ts +1 -6
- package/src/builders/dev-server/load-proxy-config.js +52 -13
- package/src/builders/dev-server/vite-server.js +3 -6
- package/src/builders/dev-server/webpack-server.d.ts +1 -1
- package/src/builders/dev-server/webpack-server.js +6 -6
- package/src/builders/extract-i18n/index.js +3 -3
- package/src/builders/extract-i18n/schema.js +2 -2
- package/src/builders/karma/index.js +2 -2
- package/src/builders/karma/schema.js +2 -2
- package/src/builders/server/index.js +4 -4
- package/src/builders/server/schema.js +4 -4
- package/src/tools/babel/plugins/adjust-static-class-members.js +354 -0
- package/src/tools/babel/plugins/adjust-typescript-enums.js +124 -0
- package/src/tools/babel/plugins/elide-angular-metadata.js +68 -0
- package/src/tools/babel/plugins/pure-toplevel-functions.js +91 -0
- package/src/tools/babel/presets/application.js +197 -0
- package/src/{babel → tools/babel}/webpack-loader.d.ts +1 -1
- package/src/tools/babel/webpack-loader.js +189 -0
- package/src/tools/esbuild/angular/angular-compilation.js +51 -0
- package/src/tools/esbuild/angular/angular-host.js +60 -0
- package/src/tools/esbuild/angular/aot-compilation.js +208 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +314 -0
- package/src/tools/esbuild/angular/diagnostics.js +75 -0
- package/src/tools/esbuild/angular/jit-compilation.js +106 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js +113 -0
- package/src/tools/esbuild/angular/jit-resource-transformer.js +185 -0
- package/src/tools/esbuild/angular/uri.js +75 -0
- package/src/tools/esbuild/application-code-bundle.d.ts +11 -0
- package/src/tools/esbuild/application-code-bundle.js +111 -0
- package/src/{builders/browser-esbuild/esbuild.d.ts → tools/esbuild/bundler-context.d.ts} +10 -15
- package/src/tools/esbuild/bundler-context.js +194 -0
- package/src/tools/esbuild/bundler-execution-result.d.ts +44 -0
- package/src/tools/esbuild/bundler-execution-result.js +53 -0
- package/src/tools/esbuild/commonjs-checker.js +141 -0
- package/src/tools/esbuild/external-packages-plugin.d.ts +17 -0
- package/src/tools/esbuild/external-packages-plugin.js +49 -0
- package/src/{builders/browser-esbuild → tools/esbuild}/global-scripts.d.ts +1 -1
- package/src/tools/esbuild/global-scripts.js +139 -0
- package/src/{builders/browser-esbuild → tools/esbuild}/global-styles.d.ts +1 -1
- package/src/tools/esbuild/global-styles.js +67 -0
- package/src/tools/esbuild/index-html-generator.d.ts +12 -0
- package/src/tools/esbuild/index-html-generator.js +70 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +76 -0
- package/src/tools/esbuild/javascript-transformer.js +108 -0
- package/src/tools/esbuild/license-extractor.js +159 -0
- package/src/tools/esbuild/load-result-cache.js +69 -0
- package/src/tools/esbuild/profiling.js +79 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +74 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js +159 -0
- package/src/tools/esbuild/stylesheets/css-language.js +16 -0
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +88 -0
- package/src/tools/esbuild/stylesheets/less-language.js +127 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +169 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +218 -0
- package/src/tools/esbuild/utils.d.ts +30 -0
- package/src/tools/esbuild/utils.js +192 -0
- package/src/tools/esbuild/virtual-module-plugin.d.ts +28 -0
- package/src/tools/esbuild/virtual-module-plugin.js +43 -0
- package/src/tools/esbuild/watcher.js +105 -0
- package/src/tools/sass/rebasing-importer.js +445 -0
- package/src/tools/sass/sass-service-legacy.js +176 -0
- package/src/tools/sass/sass-service.js +214 -0
- package/src/tools/sass/worker-legacy.js +44 -0
- package/src/tools/sass/worker.js +158 -0
- package/src/{webpack → tools/webpack}/configs/common.d.ts +1 -1
- package/src/tools/webpack/configs/common.js +421 -0
- package/src/{webpack → tools/webpack}/configs/dev-server.d.ts +1 -1
- package/src/tools/webpack/configs/dev-server.js +304 -0
- package/src/{webpack → tools/webpack}/configs/index.js +1 -1
- package/src/{webpack → tools/webpack}/configs/styles.d.ts +1 -1
- package/src/tools/webpack/configs/styles.js +396 -0
- package/src/{webpack → tools/webpack}/plugins/any-component-style-budget-checker.d.ts +1 -1
- package/src/tools/webpack/plugins/any-component-style-budget-checker.js +92 -0
- package/src/tools/webpack/plugins/builder-watch-plugin.js +99 -0
- package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js +121 -0
- package/src/tools/webpack/plugins/css-optimizer-plugin.js +123 -0
- package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js +75 -0
- package/src/tools/webpack/plugins/devtools-ignore-plugin.js +57 -0
- package/src/tools/webpack/plugins/esbuild-executor.js +121 -0
- package/src/tools/webpack/plugins/hmr/hmr-accept.js +185 -0
- package/src/tools/webpack/plugins/hmr/hmr-loader.js +25 -0
- package/src/{webpack → tools/webpack}/plugins/index-html-webpack-plugin.d.ts +1 -1
- package/src/tools/webpack/plugins/index-html-webpack-plugin.js +85 -0
- package/src/{webpack → tools/webpack}/plugins/index.js +1 -1
- package/src/tools/webpack/plugins/javascript-optimizer-plugin.js +166 -0
- package/src/tools/webpack/plugins/javascript-optimizer-worker.js +140 -0
- package/src/tools/webpack/plugins/json-stats-plugin.js +61 -0
- package/src/tools/webpack/plugins/karma/karma.js +270 -0
- package/src/tools/webpack/plugins/named-chunks-plugin.js +59 -0
- package/src/tools/webpack/plugins/occurrences-plugin.js +80 -0
- package/src/tools/webpack/plugins/postcss-cli-resources.js +176 -0
- package/src/tools/webpack/plugins/progress-plugin.js +39 -0
- package/src/tools/webpack/plugins/remove-hash-plugin.js +31 -0
- package/src/tools/webpack/plugins/scripts-webpack-plugin.js +180 -0
- package/src/tools/webpack/plugins/service-worker-plugin.js +46 -0
- package/src/tools/webpack/plugins/styles-webpack-plugin.js +73 -0
- package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +52 -0
- package/src/tools/webpack/plugins/transfer-size-plugin.js +50 -0
- package/src/{webpack → tools/webpack}/plugins/typescript.d.ts +1 -1
- package/src/tools/webpack/plugins/typescript.js +51 -0
- package/src/tools/webpack/plugins/watch-files-logs-plugin.js +28 -0
- package/src/tools/webpack/utils/async-chunks.js +46 -0
- package/src/{webpack → tools/webpack}/utils/helpers.d.ts +2 -2
- package/src/tools/webpack/utils/helpers.js +293 -0
- package/src/{webpack → tools/webpack}/utils/stats.d.ts +2 -2
- package/src/tools/webpack/utils/stats.js +443 -0
- package/src/utils/bundle-calculator.js +3 -3
- package/src/utils/index-file/augment-index-html.d.ts +5 -1
- package/src/utils/index-file/augment-index-html.js +29 -3
- package/src/utils/index-file/index-html-generator.d.ts +5 -0
- package/src/utils/index-file/index-html-generator.js +3 -2
- package/src/utils/normalize-asset-patterns.d.ts +1 -1
- package/src/utils/normalize-asset-patterns.js +1 -1
- package/src/utils/normalize-file-replacements.d.ts +1 -1
- package/src/utils/normalize-file-replacements.js +1 -1
- package/src/utils/package-chunk-sort.js +2 -2
- package/src/utils/webpack-browser-config.js +2 -2
- package/src/babel/plugins/adjust-static-class-members.js +0 -354
- package/src/babel/plugins/adjust-typescript-enums.js +0 -124
- package/src/babel/plugins/elide-angular-metadata.js +0 -68
- package/src/babel/plugins/pure-toplevel-functions.js +0 -91
- package/src/babel/presets/application.js +0 -197
- package/src/babel/webpack-loader.js +0 -189
- package/src/builders/browser-esbuild/angular/angular-compilation.js +0 -51
- package/src/builders/browser-esbuild/angular/angular-host.js +0 -60
- package/src/builders/browser-esbuild/angular/aot-compilation.js +0 -208
- package/src/builders/browser-esbuild/angular/compiler-plugin.js +0 -314
- package/src/builders/browser-esbuild/angular/diagnostics.js +0 -75
- package/src/builders/browser-esbuild/angular/jit-compilation.js +0 -106
- package/src/builders/browser-esbuild/angular/jit-plugin-callbacks.js +0 -113
- package/src/builders/browser-esbuild/angular/jit-resource-transformer.js +0 -185
- package/src/builders/browser-esbuild/angular/uri.js +0 -75
- package/src/builders/browser-esbuild/commonjs-checker.js +0 -141
- package/src/builders/browser-esbuild/esbuild.js +0 -178
- package/src/builders/browser-esbuild/global-scripts.js +0 -155
- package/src/builders/browser-esbuild/global-styles.js +0 -76
- package/src/builders/browser-esbuild/javascript-transformer-worker.js +0 -76
- package/src/builders/browser-esbuild/javascript-transformer.js +0 -108
- package/src/builders/browser-esbuild/license-extractor.js +0 -159
- package/src/builders/browser-esbuild/load-result-cache.js +0 -69
- package/src/builders/browser-esbuild/profiling.js +0 -79
- package/src/builders/browser-esbuild/sourcemap-ignorelist-plugin.js +0 -74
- package/src/builders/browser-esbuild/stylesheets/bundle-options.js +0 -159
- package/src/builders/browser-esbuild/stylesheets/css-language.js +0 -16
- package/src/builders/browser-esbuild/stylesheets/css-resource-plugin.js +0 -88
- package/src/builders/browser-esbuild/stylesheets/less-language.js +0 -127
- package/src/builders/browser-esbuild/stylesheets/sass-language.js +0 -169
- package/src/builders/browser-esbuild/stylesheets/stylesheet-plugin-factory.js +0 -218
- package/src/builders/browser-esbuild/watcher.js +0 -105
- package/src/sass/rebasing-importer.js +0 -445
- package/src/sass/sass-service-legacy.js +0 -176
- package/src/sass/sass-service.js +0 -214
- package/src/sass/worker-legacy.js +0 -44
- package/src/sass/worker.js +0 -158
- package/src/webpack/configs/common.js +0 -421
- package/src/webpack/configs/dev-server.js +0 -304
- package/src/webpack/configs/styles.js +0 -396
- package/src/webpack/plugins/any-component-style-budget-checker.js +0 -92
- package/src/webpack/plugins/builder-watch-plugin.js +0 -99
- package/src/webpack/plugins/common-js-usage-warn-plugin.js +0 -121
- package/src/webpack/plugins/css-optimizer-plugin.js +0 -123
- package/src/webpack/plugins/dedupe-module-resolve-plugin.js +0 -75
- package/src/webpack/plugins/devtools-ignore-plugin.js +0 -57
- package/src/webpack/plugins/esbuild-executor.js +0 -121
- package/src/webpack/plugins/hmr/hmr-accept.js +0 -185
- package/src/webpack/plugins/hmr/hmr-loader.js +0 -25
- package/src/webpack/plugins/index-html-webpack-plugin.js +0 -85
- package/src/webpack/plugins/javascript-optimizer-plugin.js +0 -166
- package/src/webpack/plugins/javascript-optimizer-worker.js +0 -140
- package/src/webpack/plugins/json-stats-plugin.js +0 -61
- package/src/webpack/plugins/karma/karma.js +0 -270
- package/src/webpack/plugins/named-chunks-plugin.js +0 -59
- package/src/webpack/plugins/occurrences-plugin.js +0 -80
- package/src/webpack/plugins/postcss-cli-resources.js +0 -176
- package/src/webpack/plugins/progress-plugin.js +0 -39
- package/src/webpack/plugins/remove-hash-plugin.js +0 -31
- package/src/webpack/plugins/scripts-webpack-plugin.js +0 -180
- package/src/webpack/plugins/service-worker-plugin.js +0 -46
- package/src/webpack/plugins/styles-webpack-plugin.js +0 -73
- package/src/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +0 -52
- package/src/webpack/plugins/transfer-size-plugin.js +0 -50
- package/src/webpack/plugins/typescript.js +0 -51
- package/src/webpack/plugins/watch-files-logs-plugin.js +0 -28
- package/src/webpack/utils/async-chunks.js +0 -46
- package/src/webpack/utils/helpers.js +0 -293
- package/src/webpack/utils/stats.js +0 -443
- /package/src/{babel → tools/babel}/babel-loader.d.ts +0 -0
- /package/src/{babel → tools/babel}/plugins/adjust-static-class-members.d.ts +0 -0
- /package/src/{babel → tools/babel}/plugins/adjust-typescript-enums.d.ts +0 -0
- /package/src/{babel → tools/babel}/plugins/elide-angular-metadata.d.ts +0 -0
- /package/src/{babel → tools/babel}/plugins/pure-toplevel-functions.d.ts +0 -0
- /package/src/{babel → tools/babel}/presets/application.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/angular-compilation.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/angular-host.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/aot-compilation.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/compiler-plugin.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/diagnostics.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/jit-compilation.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/jit-plugin-callbacks.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/jit-resource-transformer.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/angular/uri.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/commonjs-checker.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/javascript-transformer-worker.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/javascript-transformer.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/license-extractor.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/load-result-cache.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/profiling.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/sourcemap-ignorelist-plugin.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/bundle-options.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/css-language.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/css-resource-plugin.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/less-language.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/sass-language.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/stylesheets/stylesheet-plugin-factory.d.ts +0 -0
- /package/src/{builders/browser-esbuild → tools/esbuild}/watcher.d.ts +0 -0
- /package/src/{sass → tools/sass}/rebasing-importer.d.ts +0 -0
- /package/src/{sass → tools/sass}/sass-service-legacy.d.ts +0 -0
- /package/src/{sass → tools/sass}/sass-service.d.ts +0 -0
- /package/src/{sass → tools/sass}/worker-legacy.d.ts +0 -0
- /package/src/{sass → tools/sass}/worker.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/configs/index.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/builder-watch-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/common-js-usage-warn-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/css-optimizer-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/dedupe-module-resolve-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/devtools-ignore-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/esbuild-executor.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/hmr/hmr-accept.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/hmr/hmr-loader.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/index.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/javascript-optimizer-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/javascript-optimizer-worker.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/json-stats-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/karma/karma-context.html +0 -0
- /package/src/{webpack → tools/webpack}/plugins/karma/karma-debug.html +0 -0
- /package/src/{webpack → tools/webpack}/plugins/karma/karma.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/named-chunks-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/occurrences-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/postcss-cli-resources.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/progress-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/remove-hash-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/scripts-webpack-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/service-worker-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/styles-webpack-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/suppress-entry-chunks-webpack-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/transfer-size-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/plugins/watch-files-logs-plugin.d.ts +0 -0
- /package/src/{webpack → tools/webpack}/utils/async-chunks.d.ts +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
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.io/license
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createGlobalScriptsBundleOptions = void 0;
|
|
37
|
+
const magic_string_1 = __importStar(require("magic-string"));
|
|
38
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
39
|
+
const promises_1 = require("node:fs/promises");
|
|
40
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
41
|
+
const error_1 = require("../../utils/error");
|
|
42
|
+
const load_result_cache_1 = require("./load-result-cache");
|
|
43
|
+
const sourcemap_ignorelist_plugin_1 = require("./sourcemap-ignorelist-plugin");
|
|
44
|
+
const virtual_module_plugin_1 = require("./virtual-module-plugin");
|
|
45
|
+
/**
|
|
46
|
+
* Create an esbuild 'build' options object for all global scripts defined in the user provied
|
|
47
|
+
* build options.
|
|
48
|
+
* @param options The builder's user-provider normalized options.
|
|
49
|
+
* @returns An esbuild BuildOptions object.
|
|
50
|
+
*/
|
|
51
|
+
function createGlobalScriptsBundleOptions(options, initial, loadCache) {
|
|
52
|
+
const { globalScripts, optimizationOptions, outputNames, preserveSymlinks, sourcemapOptions, workspaceRoot, } = options;
|
|
53
|
+
const namespace = 'angular:script/global';
|
|
54
|
+
const entryPoints = {};
|
|
55
|
+
let found = false;
|
|
56
|
+
for (const script of globalScripts) {
|
|
57
|
+
if (script.initial === initial) {
|
|
58
|
+
found = true;
|
|
59
|
+
entryPoints[script.name] = `${namespace}:${script.name}`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Skip if there are no entry points for the style loading type
|
|
63
|
+
if (found === false) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
absWorkingDir: workspaceRoot,
|
|
68
|
+
bundle: false,
|
|
69
|
+
splitting: false,
|
|
70
|
+
entryPoints,
|
|
71
|
+
entryNames: initial ? outputNames.bundles : '[name]',
|
|
72
|
+
assetNames: outputNames.media,
|
|
73
|
+
mainFields: ['script', 'browser', 'main'],
|
|
74
|
+
conditions: ['script'],
|
|
75
|
+
resolveExtensions: ['.mjs', '.js'],
|
|
76
|
+
logLevel: options.verbose ? 'debug' : 'silent',
|
|
77
|
+
metafile: true,
|
|
78
|
+
minify: optimizationOptions.scripts,
|
|
79
|
+
outdir: workspaceRoot,
|
|
80
|
+
sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true),
|
|
81
|
+
write: false,
|
|
82
|
+
platform: 'neutral',
|
|
83
|
+
preserveSymlinks,
|
|
84
|
+
plugins: [
|
|
85
|
+
(0, sourcemap_ignorelist_plugin_1.createSourcemapIngorelistPlugin)(),
|
|
86
|
+
(0, virtual_module_plugin_1.createVirtualModulePlugin)({
|
|
87
|
+
namespace,
|
|
88
|
+
external: true,
|
|
89
|
+
// Add the `js` extension here so that esbuild generates an output file with the extension
|
|
90
|
+
transformPath: (path) => path.slice(namespace.length + 1) + '.js',
|
|
91
|
+
loadContent: (args, build) => (0, load_result_cache_1.createCachedLoad)(loadCache, async (args) => {
|
|
92
|
+
const files = globalScripts.find(({ name }) => name === args.path.slice(0, -3))?.files;
|
|
93
|
+
(0, node_assert_1.default)(files, `Invalid operation: global scripts name not found [${args.path}]`);
|
|
94
|
+
// Global scripts are concatenated using magic-string instead of bundled via esbuild.
|
|
95
|
+
const bundleContent = new magic_string_1.Bundle();
|
|
96
|
+
const watchFiles = [];
|
|
97
|
+
for (const filename of files) {
|
|
98
|
+
let fileContent;
|
|
99
|
+
try {
|
|
100
|
+
// Attempt to read as a relative path from the workspace root
|
|
101
|
+
fileContent = await (0, promises_1.readFile)(node_path_1.default.join(workspaceRoot, filename), 'utf-8');
|
|
102
|
+
watchFiles.push(filename);
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
(0, error_1.assertIsError)(e);
|
|
106
|
+
if (e.code !== 'ENOENT') {
|
|
107
|
+
throw e;
|
|
108
|
+
}
|
|
109
|
+
// If not found attempt to resolve as a module specifier
|
|
110
|
+
const resolveResult = await build.resolve(filename, {
|
|
111
|
+
kind: 'entry-point',
|
|
112
|
+
resolveDir: workspaceRoot,
|
|
113
|
+
});
|
|
114
|
+
if (resolveResult.errors.length) {
|
|
115
|
+
// Remove resolution failure notes about marking as external since it doesn't apply
|
|
116
|
+
// to global scripts.
|
|
117
|
+
resolveResult.errors.forEach((error) => (error.notes = []));
|
|
118
|
+
return {
|
|
119
|
+
errors: resolveResult.errors,
|
|
120
|
+
warnings: resolveResult.warnings,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
watchFiles.push(node_path_1.default.relative(resolveResult.path, workspaceRoot));
|
|
124
|
+
fileContent = await (0, promises_1.readFile)(resolveResult.path, 'utf-8');
|
|
125
|
+
}
|
|
126
|
+
bundleContent.addSource(new magic_string_1.default(fileContent, { filename }));
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
contents: bundleContent.toString(),
|
|
130
|
+
loader: 'js',
|
|
131
|
+
watchFiles,
|
|
132
|
+
};
|
|
133
|
+
}).call(build, args),
|
|
134
|
+
}),
|
|
135
|
+
],
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
exports.createGlobalScriptsBundleOptions = createGlobalScriptsBundleOptions;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNjcmlwdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2dsb2JhbC1zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0gsNkRBQW1EO0FBQ25ELDhEQUFpQztBQUNqQywrQ0FBNEM7QUFDNUMsMERBQTZCO0FBRTdCLDZDQUFrRDtBQUNsRCwyREFBd0U7QUFDeEUsK0VBQWdGO0FBQ2hGLG1FQUFvRTtBQUVwRTs7Ozs7R0FLRztBQUNILFNBQWdCLGdDQUFnQyxDQUM5QyxPQUFpQyxFQUNqQyxPQUFnQixFQUNoQixTQUEyQjtJQUUzQixNQUFNLEVBQ0osYUFBYSxFQUNiLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixhQUFhLEdBQ2QsR0FBRyxPQUFPLENBQUM7SUFFWixNQUFNLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUMxQyxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO0lBQy9DLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLE1BQU0sTUFBTSxJQUFJLGFBQWEsRUFBRTtRQUNsQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFO1lBQzlCLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxRDtLQUNGO0lBRUQsK0RBQStEO0lBQy9ELElBQUksS0FBSyxLQUFLLEtBQUssRUFBRTtRQUNuQixPQUFPO0tBQ1I7SUFFRCxPQUFPO1FBQ0wsYUFBYSxFQUFFLGFBQWE7UUFDNUIsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXO1FBQ1gsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtRQUNwRCxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUs7UUFDN0IsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFDekMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQ3RCLGlCQUFpQixFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUNsQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQzlDLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE9BQU87UUFDbkMsTUFBTSxFQUFFLGFBQWE7UUFDckIsU0FBUyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEYsS0FBSyxFQUFFLEtBQUs7UUFDWixRQUFRLEVBQUUsU0FBUztRQUNuQixnQkFBZ0I7UUFDaEIsT0FBTyxFQUFFO1lBQ1AsSUFBQSw2REFBK0IsR0FBRTtZQUNqQyxJQUFBLGlEQUF5QixFQUFDO2dCQUN4QixTQUFTO2dCQUNULFFBQVEsRUFBRSxJQUFJO2dCQUNkLDBGQUEwRjtnQkFDMUYsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSztnQkFDakUsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQzNCLElBQUEsb0NBQWdCLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtvQkFDekMsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztvQkFDdkYsSUFBQSxxQkFBTSxFQUFDLEtBQUssRUFBRSxxREFBcUQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7b0JBRWpGLHFGQUFxRjtvQkFDckYsTUFBTSxhQUFhLEdBQUcsSUFBSSxxQkFBTSxFQUFFLENBQUM7b0JBQ25DLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztvQkFDdEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxLQUFLLEVBQUU7d0JBQzVCLElBQUksV0FBVyxDQUFDO3dCQUNoQixJQUFJOzRCQUNGLDZEQUE2RDs0QkFDN0QsV0FBVyxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLG1CQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQzs0QkFDMUUsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt5QkFDM0I7d0JBQUMsT0FBTyxDQUFDLEVBQUU7NEJBQ1YsSUFBQSxxQkFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNqQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dDQUN2QixNQUFNLENBQUMsQ0FBQzs2QkFDVDs0QkFFRCx3REFBd0Q7NEJBQ3hELE1BQU0sYUFBYSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0NBQ2xELElBQUksRUFBRSxhQUFhO2dDQUNuQixVQUFVLEVBQUUsYUFBYTs2QkFDMUIsQ0FBQyxDQUFDOzRCQUVILElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0NBQy9CLG1GQUFtRjtnQ0FDbkYscUJBQXFCO2dDQUNyQixhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0NBRTVELE9BQU87b0NBQ0wsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO29DQUM1QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7aUNBQ2pDLENBQUM7NkJBQ0g7NEJBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7NEJBQ2xFLFdBQVcsR0FBRyxNQUFNLElBQUEsbUJBQVEsRUFBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUMzRDt3QkFFRCxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksc0JBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3JFO29CQUVELE9BQU87d0JBQ0wsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7d0JBQ2xDLE1BQU0sRUFBRSxJQUFJO3dCQUNaLFVBQVU7cUJBQ1gsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQzthQUN2QixDQUFDO1NBQ0g7S0FDRixDQUFDO0FBQ0osQ0FBQztBQTNHRCw0RUEyR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICdlc2J1aWxkJztcbmltcG9ydCBNYWdpY1N0cmluZywgeyBCdW5kbGUgfSBmcm9tICdtYWdpYy1zdHJpbmcnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB0eXBlIHsgTm9ybWFsaXplZEJyb3dzZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vYnVpbGRlcnMvYnJvd3Nlci1lc2J1aWxkL29wdGlvbnMnO1xuaW1wb3J0IHsgYXNzZXJ0SXNFcnJvciB9IGZyb20gJy4uLy4uL3V0aWxzL2Vycm9yJztcbmltcG9ydCB7IExvYWRSZXN1bHRDYWNoZSwgY3JlYXRlQ2FjaGVkTG9hZCB9IGZyb20gJy4vbG9hZC1yZXN1bHQtY2FjaGUnO1xuaW1wb3J0IHsgY3JlYXRlU291cmNlbWFwSW5nb3JlbGlzdFBsdWdpbiB9IGZyb20gJy4vc291cmNlbWFwLWlnbm9yZWxpc3QtcGx1Z2luJztcbmltcG9ydCB7IGNyZWF0ZVZpcnR1YWxNb2R1bGVQbHVnaW4gfSBmcm9tICcuL3ZpcnR1YWwtbW9kdWxlLXBsdWdpbic7XG5cbi8qKlxuICogQ3JlYXRlIGFuIGVzYnVpbGQgJ2J1aWxkJyBvcHRpb25zIG9iamVjdCBmb3IgYWxsIGdsb2JhbCBzY3JpcHRzIGRlZmluZWQgaW4gdGhlIHVzZXIgcHJvdmllZFxuICogYnVpbGQgb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25zIFRoZSBidWlsZGVyJ3MgdXNlci1wcm92aWRlciBub3JtYWxpemVkIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIEJ1aWxkT3B0aW9ucyBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbG9iYWxTY3JpcHRzQnVuZGxlT3B0aW9ucyhcbiAgb3B0aW9uczogTm9ybWFsaXplZEJyb3dzZXJPcHRpb25zLFxuICBpbml0aWFsOiBib29sZWFuLFxuICBsb2FkQ2FjaGU/OiBMb2FkUmVzdWx0Q2FjaGUsXG4pOiBCdWlsZE9wdGlvbnMgfCB1bmRlZmluZWQge1xuICBjb25zdCB7XG4gICAgZ2xvYmFsU2NyaXB0cyxcbiAgICBvcHRpbWl6YXRpb25PcHRpb25zLFxuICAgIG91dHB1dE5hbWVzLFxuICAgIHByZXNlcnZlU3ltbGlua3MsXG4gICAgc291cmNlbWFwT3B0aW9ucyxcbiAgICB3b3Jrc3BhY2VSb290LFxuICB9ID0gb3B0aW9ucztcblxuICBjb25zdCBuYW1lc3BhY2UgPSAnYW5ndWxhcjpzY3JpcHQvZ2xvYmFsJztcbiAgY29uc3QgZW50cnlQb2ludHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG4gIGZvciAoY29uc3Qgc2NyaXB0IG9mIGdsb2JhbFNjcmlwdHMpIHtcbiAgICBpZiAoc2NyaXB0LmluaXRpYWwgPT09IGluaXRpYWwpIHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIGVudHJ5UG9pbnRzW3NjcmlwdC5uYW1lXSA9IGAke25hbWVzcGFjZX06JHtzY3JpcHQubmFtZX1gO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNraXAgaWYgdGhlcmUgYXJlIG5vIGVudHJ5IHBvaW50cyBmb3IgdGhlIHN0eWxlIGxvYWRpbmcgdHlwZVxuICBpZiAoZm91bmQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhYnNXb3JraW5nRGlyOiB3b3Jrc3BhY2VSb290LFxuICAgIGJ1bmRsZTogZmFsc2UsXG4gICAgc3BsaXR0aW5nOiBmYWxzZSxcbiAgICBlbnRyeVBvaW50cyxcbiAgICBlbnRyeU5hbWVzOiBpbml0aWFsID8gb3V0cHV0TmFtZXMuYnVuZGxlcyA6ICdbbmFtZV0nLFxuICAgIGFzc2V0TmFtZXM6IG91dHB1dE5hbWVzLm1lZGlhLFxuICAgIG1haW5GaWVsZHM6IFsnc2NyaXB0JywgJ2Jyb3dzZXInLCAnbWFpbiddLFxuICAgIGNvbmRpdGlvbnM6IFsnc2NyaXB0J10sXG4gICAgcmVzb2x2ZUV4dGVuc2lvbnM6IFsnLm1qcycsICcuanMnXSxcbiAgICBsb2dMZXZlbDogb3B0aW9ucy52ZXJib3NlID8gJ2RlYnVnJyA6ICdzaWxlbnQnLFxuICAgIG1ldGFmaWxlOiB0cnVlLFxuICAgIG1pbmlmeTogb3B0aW1pemF0aW9uT3B0aW9ucy5zY3JpcHRzLFxuICAgIG91dGRpcjogd29ya3NwYWNlUm9vdCxcbiAgICBzb3VyY2VtYXA6IHNvdXJjZW1hcE9wdGlvbnMuc2NyaXB0cyAmJiAoc291cmNlbWFwT3B0aW9ucy5oaWRkZW4gPyAnZXh0ZXJuYWwnIDogdHJ1ZSksXG4gICAgd3JpdGU6IGZhbHNlLFxuICAgIHBsYXRmb3JtOiAnbmV1dHJhbCcsXG4gICAgcHJlc2VydmVTeW1saW5rcyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBjcmVhdGVTb3VyY2VtYXBJbmdvcmVsaXN0UGx1Z2luKCksXG4gICAgICBjcmVhdGVWaXJ0dWFsTW9kdWxlUGx1Z2luKHtcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBleHRlcm5hbDogdHJ1ZSxcbiAgICAgICAgLy8gQWRkIHRoZSBganNgIGV4dGVuc2lvbiBoZXJlIHNvIHRoYXQgZXNidWlsZCBnZW5lcmF0ZXMgYW4gb3V0cHV0IGZpbGUgd2l0aCB0aGUgZXh0ZW5zaW9uXG4gICAgICAgIHRyYW5zZm9ybVBhdGg6IChwYXRoKSA9PiBwYXRoLnNsaWNlKG5hbWVzcGFjZS5sZW5ndGggKyAxKSArICcuanMnLFxuICAgICAgICBsb2FkQ29udGVudDogKGFyZ3MsIGJ1aWxkKSA9PlxuICAgICAgICAgIGNyZWF0ZUNhY2hlZExvYWQobG9hZENhY2hlLCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBnbG9iYWxTY3JpcHRzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBhcmdzLnBhdGguc2xpY2UoMCwgLTMpKT8uZmlsZXM7XG4gICAgICAgICAgICBhc3NlcnQoZmlsZXMsIGBJbnZhbGlkIG9wZXJhdGlvbjogZ2xvYmFsIHNjcmlwdHMgbmFtZSBub3QgZm91bmQgWyR7YXJncy5wYXRofV1gKTtcblxuICAgICAgICAgICAgLy8gR2xvYmFsIHNjcmlwdHMgYXJlIGNvbmNhdGVuYXRlZCB1c2luZyBtYWdpYy1zdHJpbmcgaW5zdGVhZCBvZiBidW5kbGVkIHZpYSBlc2J1aWxkLlxuICAgICAgICAgICAgY29uc3QgYnVuZGxlQ29udGVudCA9IG5ldyBCdW5kbGUoKTtcbiAgICAgICAgICAgIGNvbnN0IHdhdGNoRmlsZXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZmlsZXMpIHtcbiAgICAgICAgICAgICAgbGV0IGZpbGVDb250ZW50O1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gcmVhZCBhcyBhIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgd29ya3NwYWNlIHJvb3RcbiAgICAgICAgICAgICAgICBmaWxlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHBhdGguam9pbih3b3Jrc3BhY2VSb290LCBmaWxlbmFtZSksICd1dGYtOCcpO1xuICAgICAgICAgICAgICAgIHdhdGNoRmlsZXMucHVzaChmaWxlbmFtZSk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhc3NlcnRJc0Vycm9yKGUpO1xuICAgICAgICAgICAgICAgIGlmIChlLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIElmIG5vdCBmb3VuZCBhdHRlbXB0IHRvIHJlc29sdmUgYXMgYSBtb2R1bGUgc3BlY2lmaWVyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZVJlc3VsdCA9IGF3YWl0IGJ1aWxkLnJlc29sdmUoZmlsZW5hbWUsIHtcbiAgICAgICAgICAgICAgICAgIGtpbmQ6ICdlbnRyeS1wb2ludCcsXG4gICAgICAgICAgICAgICAgICByZXNvbHZlRGlyOiB3b3Jrc3BhY2VSb290LFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVSZXN1bHQuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHJlc29sdXRpb24gZmFpbHVyZSBub3RlcyBhYm91dCBtYXJraW5nIGFzIGV4dGVybmFsIHNpbmNlIGl0IGRvZXNuJ3QgYXBwbHlcbiAgICAgICAgICAgICAgICAgIC8vIHRvIGdsb2JhbCBzY3JpcHRzLlxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZVJlc3VsdC5lcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IChlcnJvci5ub3RlcyA9IFtdKSk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yczogcmVzb2x2ZVJlc3VsdC5lcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzOiByZXNvbHZlUmVzdWx0Lndhcm5pbmdzLFxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB3YXRjaEZpbGVzLnB1c2gocGF0aC5yZWxhdGl2ZShyZXNvbHZlUmVzdWx0LnBhdGgsIHdvcmtzcGFjZVJvb3QpKTtcbiAgICAgICAgICAgICAgICBmaWxlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHJlc29sdmVSZXN1bHQucGF0aCwgJ3V0Zi04Jyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBidW5kbGVDb250ZW50LmFkZFNvdXJjZShuZXcgTWFnaWNTdHJpbmcoZmlsZUNvbnRlbnQsIHsgZmlsZW5hbWUgfSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb250ZW50czogYnVuZGxlQ29udGVudC50b1N0cmluZygpLFxuICAgICAgICAgICAgICBsb2FkZXI6ICdqcycsXG4gICAgICAgICAgICAgIHdhdGNoRmlsZXMsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pLmNhbGwoYnVpbGQsIGFyZ3MpLFxuICAgICAgfSksXG4gICAgXSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
import type { BuildOptions } from 'esbuild';
|
|
9
|
+
import { NormalizedBrowserOptions } from '../../builders/browser-esbuild/options';
|
|
9
10
|
import { LoadResultCache } from './load-result-cache';
|
|
10
|
-
import { NormalizedBrowserOptions } from './options';
|
|
11
11
|
export declare function createGlobalStylesBundleOptions(options: NormalizedBrowserOptions, target: string[], browsers: string[], initial: boolean, cache?: LoadResultCache): BuildOptions | undefined;
|
|
@@ -0,0 +1,67 @@
|
|
|
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.io/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.createGlobalStylesBundleOptions = void 0;
|
|
14
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const bundle_options_1 = require("./stylesheets/bundle-options");
|
|
16
|
+
const virtual_module_plugin_1 = require("./virtual-module-plugin");
|
|
17
|
+
function createGlobalStylesBundleOptions(options, target, browsers, initial, cache) {
|
|
18
|
+
const { workspaceRoot, optimizationOptions, sourcemapOptions, outputNames, globalStyles, preserveSymlinks, externalDependencies, stylePreprocessorOptions, tailwindConfiguration, } = options;
|
|
19
|
+
const namespace = 'angular:styles/global';
|
|
20
|
+
const entryPoints = {};
|
|
21
|
+
let found = false;
|
|
22
|
+
for (const style of globalStyles) {
|
|
23
|
+
if (style.initial === initial) {
|
|
24
|
+
found = true;
|
|
25
|
+
entryPoints[style.name] = `${namespace};${style.name}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Skip if there are no entry points for the style loading type
|
|
29
|
+
if (found === false) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const buildOptions = (0, bundle_options_1.createStylesheetBundleOptions)({
|
|
33
|
+
workspaceRoot,
|
|
34
|
+
optimization: !!optimizationOptions.styles.minify,
|
|
35
|
+
sourcemap: !!sourcemapOptions.styles,
|
|
36
|
+
preserveSymlinks,
|
|
37
|
+
target,
|
|
38
|
+
externalDependencies,
|
|
39
|
+
outputNames: initial
|
|
40
|
+
? outputNames
|
|
41
|
+
: {
|
|
42
|
+
...outputNames,
|
|
43
|
+
bundles: '[name]',
|
|
44
|
+
},
|
|
45
|
+
includePaths: stylePreprocessorOptions?.includePaths,
|
|
46
|
+
browsers,
|
|
47
|
+
tailwindConfiguration,
|
|
48
|
+
}, cache);
|
|
49
|
+
buildOptions.legalComments = options.extractLicenses ? 'none' : 'eof';
|
|
50
|
+
buildOptions.entryPoints = entryPoints;
|
|
51
|
+
buildOptions.plugins.unshift((0, virtual_module_plugin_1.createVirtualModulePlugin)({
|
|
52
|
+
namespace,
|
|
53
|
+
transformPath: (path) => path.split(';', 2)[1],
|
|
54
|
+
loadContent: (args) => {
|
|
55
|
+
const files = globalStyles.find(({ name }) => name === args.path)?.files;
|
|
56
|
+
(0, node_assert_1.default)(files, `global style name should always be found [${args.path}]`);
|
|
57
|
+
return {
|
|
58
|
+
contents: files.map((file) => `@import '${file.replace(/\\/g, '/')}';`).join('\n'),
|
|
59
|
+
loader: 'css',
|
|
60
|
+
resolveDir: workspaceRoot,
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
64
|
+
return buildOptions;
|
|
65
|
+
}
|
|
66
|
+
exports.createGlobalStylesBundleOptions = createGlobalStylesBundleOptions;
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2VzYnVpbGQvZ2xvYmFsLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFHSCw4REFBaUM7QUFHakMsaUVBQTZFO0FBQzdFLG1FQUFvRTtBQUVwRSxTQUFnQiwrQkFBK0IsQ0FDN0MsT0FBaUMsRUFDakMsTUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsT0FBZ0IsRUFDaEIsS0FBdUI7SUFFdkIsTUFBTSxFQUNKLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIscUJBQXFCLEdBQ3RCLEdBQUcsT0FBTyxDQUFDO0lBRVosTUFBTSxTQUFTLEdBQUcsdUJBQXVCLENBQUM7SUFDMUMsTUFBTSxXQUFXLEdBQTJCLEVBQUUsQ0FBQztJQUMvQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDbEIsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUU7UUFDaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEQ7S0FDRjtJQUVELCtEQUErRDtJQUMvRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDbkIsT0FBTztLQUNSO0lBRUQsTUFBTSxZQUFZLEdBQUcsSUFBQSw4Q0FBNkIsRUFDaEQ7UUFDRSxhQUFhO1FBQ2IsWUFBWSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUNqRCxTQUFTLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU07UUFDcEMsZ0JBQWdCO1FBQ2hCLE1BQU07UUFDTixvQkFBb0I7UUFDcEIsV0FBVyxFQUFFLE9BQU87WUFDbEIsQ0FBQyxDQUFDLFdBQVc7WUFDYixDQUFDLENBQUM7Z0JBQ0UsR0FBRyxXQUFXO2dCQUNkLE9BQU8sRUFBRSxRQUFRO2FBQ2xCO1FBQ0wsWUFBWSxFQUFFLHdCQUF3QixFQUFFLFlBQVk7UUFDcEQsUUFBUTtRQUNSLHFCQUFxQjtLQUN0QixFQUNELEtBQUssQ0FDTixDQUFDO0lBQ0YsWUFBWSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0RSxZQUFZLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUV2QyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDMUIsSUFBQSxpREFBeUIsRUFBQztRQUN4QixTQUFTO1FBQ1QsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDO1lBQ3pFLElBQUEscUJBQU0sRUFBQyxLQUFLLEVBQUUsNkNBQTZDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBRXpFLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2xGLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFVBQVUsRUFBRSxhQUFhO2FBQzFCLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQyxDQUNILENBQUM7SUFFRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBM0VELDBFQTJFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5pbXBvcnQgeyBOb3JtYWxpemVkQnJvd3Nlck9wdGlvbnMgfSBmcm9tICcuLi8uLi9idWlsZGVycy9icm93c2VyLWVzYnVpbGQvb3B0aW9ucyc7XG5pbXBvcnQgeyBMb2FkUmVzdWx0Q2FjaGUgfSBmcm9tICcuL2xvYWQtcmVzdWx0LWNhY2hlJztcbmltcG9ydCB7IGNyZWF0ZVN0eWxlc2hlZXRCdW5kbGVPcHRpb25zIH0gZnJvbSAnLi9zdHlsZXNoZWV0cy9idW5kbGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVWaXJ0dWFsTW9kdWxlUGx1Z2luIH0gZnJvbSAnLi92aXJ0dWFsLW1vZHVsZS1wbHVnaW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2xvYmFsU3R5bGVzQnVuZGxlT3B0aW9ucyhcbiAgb3B0aW9uczogTm9ybWFsaXplZEJyb3dzZXJPcHRpb25zLFxuICB0YXJnZXQ6IHN0cmluZ1tdLFxuICBicm93c2Vyczogc3RyaW5nW10sXG4gIGluaXRpYWw6IGJvb2xlYW4sXG4gIGNhY2hlPzogTG9hZFJlc3VsdENhY2hlLFxuKTogQnVpbGRPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qge1xuICAgIHdvcmtzcGFjZVJvb3QsXG4gICAgb3B0aW1pemF0aW9uT3B0aW9ucyxcbiAgICBzb3VyY2VtYXBPcHRpb25zLFxuICAgIG91dHB1dE5hbWVzLFxuICAgIGdsb2JhbFN0eWxlcyxcbiAgICBwcmVzZXJ2ZVN5bWxpbmtzLFxuICAgIGV4dGVybmFsRGVwZW5kZW5jaWVzLFxuICAgIHN0eWxlUHJlcHJvY2Vzc29yT3B0aW9ucyxcbiAgICB0YWlsd2luZENvbmZpZ3VyYXRpb24sXG4gIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IG5hbWVzcGFjZSA9ICdhbmd1bGFyOnN0eWxlcy9nbG9iYWwnO1xuICBjb25zdCBlbnRyeVBvaW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgZm9yIChjb25zdCBzdHlsZSBvZiBnbG9iYWxTdHlsZXMpIHtcbiAgICBpZiAoc3R5bGUuaW5pdGlhbCA9PT0gaW5pdGlhbCkge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgZW50cnlQb2ludHNbc3R5bGUubmFtZV0gPSBgJHtuYW1lc3BhY2V9OyR7c3R5bGUubmFtZX1gO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNraXAgaWYgdGhlcmUgYXJlIG5vIGVudHJ5IHBvaW50cyBmb3IgdGhlIHN0eWxlIGxvYWRpbmcgdHlwZVxuICBpZiAoZm91bmQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYnVpbGRPcHRpb25zID0gY3JlYXRlU3R5bGVzaGVldEJ1bmRsZU9wdGlvbnMoXG4gICAge1xuICAgICAgd29ya3NwYWNlUm9vdCxcbiAgICAgIG9wdGltaXphdGlvbjogISFvcHRpbWl6YXRpb25PcHRpb25zLnN0eWxlcy5taW5pZnksXG4gICAgICBzb3VyY2VtYXA6ICEhc291cmNlbWFwT3B0aW9ucy5zdHlsZXMsXG4gICAgICBwcmVzZXJ2ZVN5bWxpbmtzLFxuICAgICAgdGFyZ2V0LFxuICAgICAgZXh0ZXJuYWxEZXBlbmRlbmNpZXMsXG4gICAgICBvdXRwdXROYW1lczogaW5pdGlhbFxuICAgICAgICA/IG91dHB1dE5hbWVzXG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4ub3V0cHV0TmFtZXMsXG4gICAgICAgICAgICBidW5kbGVzOiAnW25hbWVdJyxcbiAgICAgICAgICB9LFxuICAgICAgaW5jbHVkZVBhdGhzOiBzdHlsZVByZXByb2Nlc3Nvck9wdGlvbnM/LmluY2x1ZGVQYXRocyxcbiAgICAgIGJyb3dzZXJzLFxuICAgICAgdGFpbHdpbmRDb25maWd1cmF0aW9uLFxuICAgIH0sXG4gICAgY2FjaGUsXG4gICk7XG4gIGJ1aWxkT3B0aW9ucy5sZWdhbENvbW1lbnRzID0gb3B0aW9ucy5leHRyYWN0TGljZW5zZXMgPyAnbm9uZScgOiAnZW9mJztcbiAgYnVpbGRPcHRpb25zLmVudHJ5UG9pbnRzID0gZW50cnlQb2ludHM7XG5cbiAgYnVpbGRPcHRpb25zLnBsdWdpbnMudW5zaGlmdChcbiAgICBjcmVhdGVWaXJ0dWFsTW9kdWxlUGx1Z2luKHtcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIHRyYW5zZm9ybVBhdGg6IChwYXRoKSA9PiBwYXRoLnNwbGl0KCc7JywgMilbMV0sXG4gICAgICBsb2FkQ29udGVudDogKGFyZ3MpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBnbG9iYWxTdHlsZXMuZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09IGFyZ3MucGF0aCk/LmZpbGVzO1xuICAgICAgICBhc3NlcnQoZmlsZXMsIGBnbG9iYWwgc3R5bGUgbmFtZSBzaG91bGQgYWx3YXlzIGJlIGZvdW5kIFske2FyZ3MucGF0aH1dYCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50czogZmlsZXMubWFwKChmaWxlKSA9PiBgQGltcG9ydCAnJHtmaWxlLnJlcGxhY2UoL1xcXFwvZywgJy8nKX0nO2ApLmpvaW4oJ1xcbicpLFxuICAgICAgICAgIGxvYWRlcjogJ2NzcycsXG4gICAgICAgICAgcmVzb2x2ZURpcjogd29ya3NwYWNlUm9vdCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgcmV0dXJuIGJ1aWxkT3B0aW9ucztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
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.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { NormalizedBrowserOptions } from '../../builders/browser-esbuild/options';
|
|
9
|
+
import { IndexHtmlTransformResult } from '../../utils/index-file/index-html-generator';
|
|
10
|
+
import { InitialFileRecord } from './bundler-context';
|
|
11
|
+
import type { ExecutionResult } from './bundler-execution-result';
|
|
12
|
+
export declare function generateIndexHtml(initialFiles: Map<string, InitialFileRecord>, executionResult: ExecutionResult, buildOptions: NormalizedBrowserOptions): Promise<IndexHtmlTransformResult>;
|
|
@@ -0,0 +1,70 @@
|
|
|
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.io/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.generateIndexHtml = void 0;
|
|
14
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const index_html_generator_1 = require("../../utils/index-file/index-html-generator");
|
|
17
|
+
function generateIndexHtml(initialFiles, executionResult, buildOptions) {
|
|
18
|
+
// Analyze metafile for initial link-based hints.
|
|
19
|
+
// Skip if the internal externalPackages option is enabled since this option requires
|
|
20
|
+
// dev server cooperation to properly resolve and fetch imports.
|
|
21
|
+
const hints = [];
|
|
22
|
+
const { indexHtmlOptions, externalPackages, optimizationOptions, crossOrigin, subresourceIntegrity, baseHref, } = buildOptions;
|
|
23
|
+
(0, node_assert_1.default)(indexHtmlOptions, 'indexHtmlOptions cannot be undefined.');
|
|
24
|
+
if (!externalPackages) {
|
|
25
|
+
for (const [key, value] of initialFiles) {
|
|
26
|
+
if (value.entrypoint) {
|
|
27
|
+
// Entry points are already referenced in the HTML
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (value.type === 'script') {
|
|
31
|
+
hints.push({ url: key, mode: 'modulepreload' });
|
|
32
|
+
}
|
|
33
|
+
else if (value.type === 'style') {
|
|
34
|
+
hints.push({ url: key, mode: 'preload' });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Create an index HTML generator that reads from the in-memory output files
|
|
39
|
+
const indexHtmlGenerator = new index_html_generator_1.IndexHtmlGenerator({
|
|
40
|
+
indexPath: indexHtmlOptions.input,
|
|
41
|
+
entrypoints: indexHtmlOptions.insertionOrder,
|
|
42
|
+
sri: subresourceIntegrity,
|
|
43
|
+
optimization: optimizationOptions,
|
|
44
|
+
crossOrigin: crossOrigin,
|
|
45
|
+
});
|
|
46
|
+
/** Virtual output path to support reading in-memory files. */
|
|
47
|
+
const virtualOutputPath = '/';
|
|
48
|
+
indexHtmlGenerator.readAsset = async function (filePath) {
|
|
49
|
+
// Remove leading directory separator
|
|
50
|
+
const relativefilePath = node_path_1.default.relative(virtualOutputPath, filePath);
|
|
51
|
+
const file = executionResult.outputFiles.find((file) => file.path === relativefilePath);
|
|
52
|
+
if (file) {
|
|
53
|
+
return file.text;
|
|
54
|
+
}
|
|
55
|
+
throw new Error(`Output file does not exist: ${node_path_1.default}`);
|
|
56
|
+
};
|
|
57
|
+
return indexHtmlGenerator.process({
|
|
58
|
+
baseHref,
|
|
59
|
+
lang: undefined,
|
|
60
|
+
outputPath: virtualOutputPath,
|
|
61
|
+
files: [...initialFiles].map(([file, record]) => ({
|
|
62
|
+
name: record.name ?? '',
|
|
63
|
+
file,
|
|
64
|
+
extension: node_path_1.default.extname(file),
|
|
65
|
+
})),
|
|
66
|
+
hints,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.generateIndexHtml = generateIndexHtml;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtaHRtbC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2luZGV4LWh0bWwtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUVILDhEQUFpQztBQUNqQywwREFBNkI7QUFFN0Isc0ZBR3FEO0FBSXJELFNBQWdCLGlCQUFpQixDQUMvQixZQUE0QyxFQUM1QyxlQUFnQyxFQUNoQyxZQUFzQztJQUV0QyxpREFBaUQ7SUFDakQscUZBQXFGO0lBQ3JGLGdFQUFnRTtJQUNoRSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsTUFBTSxFQUNKLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsUUFBUSxHQUNULEdBQUcsWUFBWSxDQUFDO0lBRWpCLElBQUEscUJBQU0sRUFBQyxnQkFBZ0IsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksWUFBWSxFQUFFO1lBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsa0RBQWtEO2dCQUNsRCxTQUFTO2FBQ1Y7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBd0IsRUFBRSxDQUFDLENBQUM7YUFDMUQ7aUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQWtCLEVBQUUsQ0FBQyxDQUFDO2FBQ3BEO1NBQ0Y7S0FDRjtJQUVELDRFQUE0RTtJQUM1RSxNQUFNLGtCQUFrQixHQUFHLElBQUkseUNBQWtCLENBQUM7UUFDaEQsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7UUFDakMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLGNBQWM7UUFDNUMsR0FBRyxFQUFFLG9CQUFvQjtRQUN6QixZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxXQUFXO0tBQ3pCLENBQUMsQ0FBQztJQUVILDhEQUE4RDtJQUM5RCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztJQUM5QixrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsS0FBSyxXQUFXLFFBQWdCO1FBQzdELHFDQUFxQztRQUNyQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLENBQUM7UUFDeEYsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixtQkFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUM7SUFFRixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUNoQyxRQUFRO1FBQ1IsSUFBSSxFQUFFLFNBQVM7UUFDZixVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLEtBQUssRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN2QixJQUFJO1lBQ0osU0FBUyxFQUFFLG1CQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUM7UUFDSCxLQUFLO0tBQ04sQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQW5FRCw4Q0FtRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgTm9ybWFsaXplZEJyb3dzZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vYnVpbGRlcnMvYnJvd3Nlci1lc2J1aWxkL29wdGlvbnMnO1xuaW1wb3J0IHtcbiAgSW5kZXhIdG1sR2VuZXJhdG9yLFxuICBJbmRleEh0bWxUcmFuc2Zvcm1SZXN1bHQsXG59IGZyb20gJy4uLy4uL3V0aWxzL2luZGV4LWZpbGUvaW5kZXgtaHRtbC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgSW5pdGlhbEZpbGVSZWNvcmQgfSBmcm9tICcuL2J1bmRsZXItY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gJy4vYnVuZGxlci1leGVjdXRpb24tcmVzdWx0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW5kZXhIdG1sKFxuICBpbml0aWFsRmlsZXM6IE1hcDxzdHJpbmcsIEluaXRpYWxGaWxlUmVjb3JkPixcbiAgZXhlY3V0aW9uUmVzdWx0OiBFeGVjdXRpb25SZXN1bHQsXG4gIGJ1aWxkT3B0aW9uczogTm9ybWFsaXplZEJyb3dzZXJPcHRpb25zLFxuKTogUHJvbWlzZTxJbmRleEh0bWxUcmFuc2Zvcm1SZXN1bHQ+IHtcbiAgLy8gQW5hbHl6ZSBtZXRhZmlsZSBmb3IgaW5pdGlhbCBsaW5rLWJhc2VkIGhpbnRzLlxuICAvLyBTa2lwIGlmIHRoZSBpbnRlcm5hbCBleHRlcm5hbFBhY2thZ2VzIG9wdGlvbiBpcyBlbmFibGVkIHNpbmNlIHRoaXMgb3B0aW9uIHJlcXVpcmVzXG4gIC8vIGRldiBzZXJ2ZXIgY29vcGVyYXRpb24gdG8gcHJvcGVybHkgcmVzb2x2ZSBhbmQgZmV0Y2ggaW1wb3J0cy5cbiAgY29uc3QgaGludHMgPSBbXTtcbiAgY29uc3Qge1xuICAgIGluZGV4SHRtbE9wdGlvbnMsXG4gICAgZXh0ZXJuYWxQYWNrYWdlcyxcbiAgICBvcHRpbWl6YXRpb25PcHRpb25zLFxuICAgIGNyb3NzT3JpZ2luLFxuICAgIHN1YnJlc291cmNlSW50ZWdyaXR5LFxuICAgIGJhc2VIcmVmLFxuICB9ID0gYnVpbGRPcHRpb25zO1xuXG4gIGFzc2VydChpbmRleEh0bWxPcHRpb25zLCAnaW5kZXhIdG1sT3B0aW9ucyBjYW5ub3QgYmUgdW5kZWZpbmVkLicpO1xuXG4gIGlmICghZXh0ZXJuYWxQYWNrYWdlcykge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGluaXRpYWxGaWxlcykge1xuICAgICAgaWYgKHZhbHVlLmVudHJ5cG9pbnQpIHtcbiAgICAgICAgLy8gRW50cnkgcG9pbnRzIGFyZSBhbHJlYWR5IHJlZmVyZW5jZWQgaW4gdGhlIEhUTUxcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUudHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgICAgaGludHMucHVzaCh7IHVybDoga2V5LCBtb2RlOiAnbW9kdWxlcHJlbG9hZCcgYXMgY29uc3QgfSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLnR5cGUgPT09ICdzdHlsZScpIHtcbiAgICAgICAgaGludHMucHVzaCh7IHVybDoga2V5LCBtb2RlOiAncHJlbG9hZCcgYXMgY29uc3QgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ3JlYXRlIGFuIGluZGV4IEhUTUwgZ2VuZXJhdG9yIHRoYXQgcmVhZHMgZnJvbSB0aGUgaW4tbWVtb3J5IG91dHB1dCBmaWxlc1xuICBjb25zdCBpbmRleEh0bWxHZW5lcmF0b3IgPSBuZXcgSW5kZXhIdG1sR2VuZXJhdG9yKHtcbiAgICBpbmRleFBhdGg6IGluZGV4SHRtbE9wdGlvbnMuaW5wdXQsXG4gICAgZW50cnlwb2ludHM6IGluZGV4SHRtbE9wdGlvbnMuaW5zZXJ0aW9uT3JkZXIsXG4gICAgc3JpOiBzdWJyZXNvdXJjZUludGVncml0eSxcbiAgICBvcHRpbWl6YXRpb246IG9wdGltaXphdGlvbk9wdGlvbnMsXG4gICAgY3Jvc3NPcmlnaW46IGNyb3NzT3JpZ2luLFxuICB9KTtcblxuICAvKiogVmlydHVhbCBvdXRwdXQgcGF0aCB0byBzdXBwb3J0IHJlYWRpbmcgaW4tbWVtb3J5IGZpbGVzLiAqL1xuICBjb25zdCB2aXJ0dWFsT3V0cHV0UGF0aCA9ICcvJztcbiAgaW5kZXhIdG1sR2VuZXJhdG9yLnJlYWRBc3NldCA9IGFzeW5jIGZ1bmN0aW9uIChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBSZW1vdmUgbGVhZGluZyBkaXJlY3Rvcnkgc2VwYXJhdG9yXG4gICAgY29uc3QgcmVsYXRpdmVmaWxlUGF0aCA9IHBhdGgucmVsYXRpdmUodmlydHVhbE91dHB1dFBhdGgsIGZpbGVQYXRoKTtcbiAgICBjb25zdCBmaWxlID0gZXhlY3V0aW9uUmVzdWx0Lm91dHB1dEZpbGVzLmZpbmQoKGZpbGUpID0+IGZpbGUucGF0aCA9PT0gcmVsYXRpdmVmaWxlUGF0aCk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIHJldHVybiBmaWxlLnRleHQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBPdXRwdXQgZmlsZSBkb2VzIG5vdCBleGlzdDogJHtwYXRofWApO1xuICB9O1xuXG4gIHJldHVybiBpbmRleEh0bWxHZW5lcmF0b3IucHJvY2Vzcyh7XG4gICAgYmFzZUhyZWYsXG4gICAgbGFuZzogdW5kZWZpbmVkLFxuICAgIG91dHB1dFBhdGg6IHZpcnR1YWxPdXRwdXRQYXRoLFxuICAgIGZpbGVzOiBbLi4uaW5pdGlhbEZpbGVzXS5tYXAoKFtmaWxlLCByZWNvcmRdKSA9PiAoe1xuICAgICAgbmFtZTogcmVjb3JkLm5hbWUgPz8gJycsXG4gICAgICBmaWxlLFxuICAgICAgZXh0ZW5zaW9uOiBwYXRoLmV4dG5hbWUoZmlsZSksXG4gICAgfSkpLFxuICAgIGhpbnRzLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
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.io/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
|
+
const core_1 = require("@babel/core");
|
|
14
|
+
const promises_1 = require("node:fs/promises");
|
|
15
|
+
const application_1 = __importDefault(require("../../tools/babel/presets/application"));
|
|
16
|
+
const webpack_loader_1 = require("../../tools/babel/webpack-loader");
|
|
17
|
+
const load_esm_1 = require("../../utils/load-esm");
|
|
18
|
+
async function transformJavaScript(request) {
|
|
19
|
+
request.data ?? (request.data = await (0, promises_1.readFile)(request.filename, 'utf-8'));
|
|
20
|
+
const transformedData = await transformWithBabel(request);
|
|
21
|
+
return Buffer.from(transformedData, 'utf-8');
|
|
22
|
+
}
|
|
23
|
+
exports.default = transformJavaScript;
|
|
24
|
+
let linkerPluginCreator;
|
|
25
|
+
async function transformWithBabel({ filename, data, ...options }) {
|
|
26
|
+
const forceAsyncTransformation = options.forceAsyncTransformation ??
|
|
27
|
+
(!/[\\/][_f]?esm2015[\\/]/.test(filename) && /async(?:\s+function)?\s*\*/.test(data));
|
|
28
|
+
const shouldLink = !options.skipLinker && (await (0, webpack_loader_1.requiresLinking)(filename, data));
|
|
29
|
+
const useInputSourcemap = options.sourcemap &&
|
|
30
|
+
(!!options.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
|
|
31
|
+
// If no additional transformations are needed, return the data directly
|
|
32
|
+
if (!forceAsyncTransformation && !options.advancedOptimizations && !shouldLink) {
|
|
33
|
+
// Strip sourcemaps if they should not be used
|
|
34
|
+
return useInputSourcemap ? data : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, '');
|
|
35
|
+
}
|
|
36
|
+
// @angular/platform-server/init entry-point has side-effects.
|
|
37
|
+
const safeAngularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(filename) &&
|
|
38
|
+
!/@angular[\\/]platform-server[\\/]f?esm2022[\\/]init/.test(filename);
|
|
39
|
+
// Lazy load the linker plugin only when linking is required
|
|
40
|
+
if (shouldLink) {
|
|
41
|
+
linkerPluginCreator ?? (linkerPluginCreator = (await (0, load_esm_1.loadEsmModule)('@angular/compiler-cli/linker/babel')).createEs2015LinkerPlugin);
|
|
42
|
+
}
|
|
43
|
+
const result = await (0, core_1.transformAsync)(data, {
|
|
44
|
+
filename,
|
|
45
|
+
inputSourceMap: (useInputSourcemap ? undefined : false),
|
|
46
|
+
sourceMaps: useInputSourcemap ? 'inline' : false,
|
|
47
|
+
compact: false,
|
|
48
|
+
configFile: false,
|
|
49
|
+
babelrc: false,
|
|
50
|
+
browserslistConfigFile: false,
|
|
51
|
+
plugins: [],
|
|
52
|
+
presets: [
|
|
53
|
+
[
|
|
54
|
+
application_1.default,
|
|
55
|
+
{
|
|
56
|
+
angularLinker: linkerPluginCreator && {
|
|
57
|
+
shouldLink,
|
|
58
|
+
jitMode: options.jit,
|
|
59
|
+
linkerPluginCreator,
|
|
60
|
+
},
|
|
61
|
+
forceAsyncTransformation,
|
|
62
|
+
optimize: options.advancedOptimizations && {
|
|
63
|
+
pureTopLevel: safeAngularPackage,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
const outputCode = result?.code ?? data;
|
|
70
|
+
// Strip sourcemaps if they should not be used.
|
|
71
|
+
// Babel will keep the original comments even if sourcemaps are disabled.
|
|
72
|
+
return useInputSourcemap
|
|
73
|
+
? outputCode
|
|
74
|
+
: outputCode.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, '');
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC10cmFuc2Zvcm1lci13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2phdmFzY3JpcHQtdHJhbnNmb3JtZXItd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7O0FBRUgsc0NBQTZDO0FBQzdDLCtDQUE0QztBQUM1Qyx3RkFBNkU7QUFDN0UscUVBQW1FO0FBQ25FLG1EQUFxRDtBQWF0QyxLQUFLLFVBQVUsbUJBQW1CLENBQy9DLE9BQW1DO0lBRW5DLE9BQU8sQ0FBQyxJQUFJLEtBQVosT0FBTyxDQUFDLElBQUksR0FBSyxNQUFNLElBQUEsbUJBQVEsRUFBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFDO0lBQzNELE1BQU0sZUFBZSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBUEQsc0NBT0M7QUFFRCxJQUFJLG1CQUVTLENBQUM7QUFFZCxLQUFLLFVBQVUsa0JBQWtCLENBQUMsRUFDaEMsUUFBUSxFQUNSLElBQUksRUFDSixHQUFHLE9BQU8sRUFDaUI7SUFDM0IsTUFBTSx3QkFBd0IsR0FDNUIsT0FBTyxDQUFDLHdCQUF3QjtRQUNoQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLE1BQU0sSUFBQSxnQ0FBZSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0saUJBQWlCLEdBQ3JCLE9BQU8sQ0FBQyxTQUFTO1FBQ2pCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRS9FLHdFQUF3RTtJQUN4RSxJQUFJLENBQUMsd0JBQXdCLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDOUUsOENBQThDO1FBQzlDLE9BQU8saUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUMxRjtJQUVELDhEQUE4RDtJQUM5RCxNQUFNLGtCQUFrQixHQUN0QixxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BELENBQUMscURBQXFELENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhFLDREQUE0RDtJQUM1RCxJQUFJLFVBQVUsRUFBRTtRQUNkLG1CQUFtQixLQUFuQixtQkFBbUIsR0FBSyxDQUN0QixNQUFNLElBQUEsd0JBQWEsRUFDakIsb0NBQW9DLENBQ3JDLENBQ0YsQ0FBQyx3QkFBd0IsRUFBQztLQUM1QjtJQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLElBQUksRUFBRTtRQUN4QyxRQUFRO1FBQ1IsY0FBYyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFjO1FBQ3BFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ2hELE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLEtBQUs7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UscUJBQXdCO2dCQUN4QjtvQkFDRSxhQUFhLEVBQUUsbUJBQW1CLElBQUk7d0JBQ3BDLFVBQVU7d0JBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO3dCQUNwQixtQkFBbUI7cUJBQ3BCO29CQUNELHdCQUF3QjtvQkFDeEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSTt3QkFDekMsWUFBWSxFQUFFLGtCQUFrQjtxQkFDakM7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFFeEMsK0NBQStDO0lBQy9DLHlFQUF5RTtJQUN6RSxPQUFPLGlCQUFpQjtRQUN0QixDQUFDLENBQUMsVUFBVTtRQUNaLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ25FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgdHJhbnNmb3JtQXN5bmMgfSBmcm9tICdAYmFiZWwvY29yZSc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IGFuZ3VsYXJBcHBsaWNhdGlvblByZXNldCBmcm9tICcuLi8uLi90b29scy9iYWJlbC9wcmVzZXRzL2FwcGxpY2F0aW9uJztcbmltcG9ydCB7IHJlcXVpcmVzTGlua2luZyB9IGZyb20gJy4uLy4uL3Rvb2xzL2JhYmVsL3dlYnBhY2stbG9hZGVyJztcbmltcG9ydCB7IGxvYWRFc21Nb2R1bGUgfSBmcm9tICcuLi8uLi91dGlscy9sb2FkLWVzbSc7XG5cbmludGVyZmFjZSBKYXZhU2NyaXB0VHJhbnNmb3JtUmVxdWVzdCB7XG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIGRhdGE6IHN0cmluZztcbiAgc291cmNlbWFwOiBib29sZWFuO1xuICB0aGlyZFBhcnR5U291cmNlbWFwczogYm9vbGVhbjtcbiAgYWR2YW5jZWRPcHRpbWl6YXRpb25zOiBib29sZWFuO1xuICBmb3JjZUFzeW5jVHJhbnNmb3JtYXRpb24/OiBib29sZWFuO1xuICBza2lwTGlua2VyOiBib29sZWFuO1xuICBqaXQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHRyYW5zZm9ybUphdmFTY3JpcHQoXG4gIHJlcXVlc3Q6IEphdmFTY3JpcHRUcmFuc2Zvcm1SZXF1ZXN0LFxuKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gIHJlcXVlc3QuZGF0YSA/Pz0gYXdhaXQgcmVhZEZpbGUocmVxdWVzdC5maWxlbmFtZSwgJ3V0Zi04Jyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IGF3YWl0IHRyYW5zZm9ybVdpdGhCYWJlbChyZXF1ZXN0KTtcblxuICByZXR1cm4gQnVmZmVyLmZyb20odHJhbnNmb3JtZWREYXRhLCAndXRmLTgnKTtcbn1cblxubGV0IGxpbmtlclBsdWdpbkNyZWF0b3I6XG4gIHwgdHlwZW9mIGltcG9ydCgnQGFuZ3VsYXIvY29tcGlsZXItY2xpL2xpbmtlci9iYWJlbCcpLmNyZWF0ZUVzMjAxNUxpbmtlclBsdWdpblxuICB8IHVuZGVmaW5lZDtcblxuYXN5bmMgZnVuY3Rpb24gdHJhbnNmb3JtV2l0aEJhYmVsKHtcbiAgZmlsZW5hbWUsXG4gIGRhdGEsXG4gIC4uLm9wdGlvbnNcbn06IEphdmFTY3JpcHRUcmFuc2Zvcm1SZXF1ZXN0KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgZm9yY2VBc3luY1RyYW5zZm9ybWF0aW9uID1cbiAgICBvcHRpb25zLmZvcmNlQXN5bmNUcmFuc2Zvcm1hdGlvbiA/P1xuICAgICghL1tcXFxcL11bX2ZdP2VzbTIwMTVbXFxcXC9dLy50ZXN0KGZpbGVuYW1lKSAmJiAvYXN5bmMoPzpcXHMrZnVuY3Rpb24pP1xccypcXCovLnRlc3QoZGF0YSkpO1xuICBjb25zdCBzaG91bGRMaW5rID0gIW9wdGlvbnMuc2tpcExpbmtlciAmJiAoYXdhaXQgcmVxdWlyZXNMaW5raW5nKGZpbGVuYW1lLCBkYXRhKSk7XG4gIGNvbnN0IHVzZUlucHV0U291cmNlbWFwID1cbiAgICBvcHRpb25zLnNvdXJjZW1hcCAmJlxuICAgICghIW9wdGlvbnMudGhpcmRQYXJ0eVNvdXJjZW1hcHMgfHwgIS9bXFxcXC9dbm9kZV9tb2R1bGVzW1xcXFwvXS8udGVzdChmaWxlbmFtZSkpO1xuXG4gIC8vIElmIG5vIGFkZGl0aW9uYWwgdHJhbnNmb3JtYXRpb25zIGFyZSBuZWVkZWQsIHJldHVybiB0aGUgZGF0YSBkaXJlY3RseVxuICBpZiAoIWZvcmNlQXN5bmNUcmFuc2Zvcm1hdGlvbiAmJiAhb3B0aW9ucy5hZHZhbmNlZE9wdGltaXphdGlvbnMgJiYgIXNob3VsZExpbmspIHtcbiAgICAvLyBTdHJpcCBzb3VyY2VtYXBzIGlmIHRoZXkgc2hvdWxkIG5vdCBiZSB1c2VkXG4gICAgcmV0dXJuIHVzZUlucHV0U291cmNlbWFwID8gZGF0YSA6IGRhdGEucmVwbGFjZSgvXlxcL1xcLyMgc291cmNlTWFwcGluZ1VSTD1bXlxcclxcbl0qL2dtLCAnJyk7XG4gIH1cblxuICAvLyBAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXIvaW5pdCBlbnRyeS1wb2ludCBoYXMgc2lkZS1lZmZlY3RzLlxuICBjb25zdCBzYWZlQW5ndWxhclBhY2thZ2UgPVxuICAgIC9bXFxcXC9dbm9kZV9tb2R1bGVzW1xcXFwvXUBhbmd1bGFyW1xcXFwvXS8udGVzdChmaWxlbmFtZSkgJiZcbiAgICAhL0Bhbmd1bGFyW1xcXFwvXXBsYXRmb3JtLXNlcnZlcltcXFxcL11mP2VzbTIwMjJbXFxcXC9daW5pdC8udGVzdChmaWxlbmFtZSk7XG5cbiAgLy8gTGF6eSBsb2FkIHRoZSBsaW5rZXIgcGx1Z2luIG9ubHkgd2hlbiBsaW5raW5nIGlzIHJlcXVpcmVkXG4gIGlmIChzaG91bGRMaW5rKSB7XG4gICAgbGlua2VyUGx1Z2luQ3JlYXRvciA/Pz0gKFxuICAgICAgYXdhaXQgbG9hZEVzbU1vZHVsZTx0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvbGlua2VyL2JhYmVsJyk+KFxuICAgICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpL2xpbmtlci9iYWJlbCcsXG4gICAgICApXG4gICAgKS5jcmVhdGVFczIwMTVMaW5rZXJQbHVnaW47XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm1Bc3luYyhkYXRhLCB7XG4gICAgZmlsZW5hbWUsXG4gICAgaW5wdXRTb3VyY2VNYXA6ICh1c2VJbnB1dFNvdXJjZW1hcCA/IHVuZGVmaW5lZCA6IGZhbHNlKSBhcyB1bmRlZmluZWQsXG4gICAgc291cmNlTWFwczogdXNlSW5wdXRTb3VyY2VtYXAgPyAnaW5saW5lJyA6IGZhbHNlLFxuICAgIGNvbXBhY3Q6IGZhbHNlLFxuICAgIGNvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgIGJhYmVscmM6IGZhbHNlLFxuICAgIGJyb3dzZXJzbGlzdENvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgIHBsdWdpbnM6IFtdLFxuICAgIHByZXNldHM6IFtcbiAgICAgIFtcbiAgICAgICAgYW5ndWxhckFwcGxpY2F0aW9uUHJlc2V0LFxuICAgICAgICB7XG4gICAgICAgICAgYW5ndWxhckxpbmtlcjogbGlua2VyUGx1Z2luQ3JlYXRvciAmJiB7XG4gICAgICAgICAgICBzaG91bGRMaW5rLFxuICAgICAgICAgICAgaml0TW9kZTogb3B0aW9ucy5qaXQsXG4gICAgICAgICAgICBsaW5rZXJQbHVnaW5DcmVhdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZm9yY2VBc3luY1RyYW5zZm9ybWF0aW9uLFxuICAgICAgICAgIG9wdGltaXplOiBvcHRpb25zLmFkdmFuY2VkT3B0aW1pemF0aW9ucyAmJiB7XG4gICAgICAgICAgICBwdXJlVG9wTGV2ZWw6IHNhZmVBbmd1bGFyUGFja2FnZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICBdLFxuICB9KTtcblxuICBjb25zdCBvdXRwdXRDb2RlID0gcmVzdWx0Py5jb2RlID8/IGRhdGE7XG5cbiAgLy8gU3RyaXAgc291cmNlbWFwcyBpZiB0aGV5IHNob3VsZCBub3QgYmUgdXNlZC5cbiAgLy8gQmFiZWwgd2lsbCBrZWVwIHRoZSBvcmlnaW5hbCBjb21tZW50cyBldmVuIGlmIHNvdXJjZW1hcHMgYXJlIGRpc2FibGVkLlxuICByZXR1cm4gdXNlSW5wdXRTb3VyY2VtYXBcbiAgICA/IG91dHB1dENvZGVcbiAgICA6IG91dHB1dENvZGUucmVwbGFjZSgvXlxcL1xcLyMgc291cmNlTWFwcGluZ1VSTD1bXlxcclxcbl0qL2dtLCAnJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,108 @@
|
|
|
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.io/license
|
|
8
|
+
*/
|
|
9
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
10
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
11
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
12
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
13
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
14
|
+
};
|
|
15
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
16
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
17
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
18
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
19
|
+
};
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
23
|
+
var _JavaScriptTransformer_workerPool, _JavaScriptTransformer_commonOptions;
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.JavaScriptTransformer = void 0;
|
|
26
|
+
const piscina_1 = __importDefault(require("piscina"));
|
|
27
|
+
/**
|
|
28
|
+
* A class that performs transformation of JavaScript files and raw data.
|
|
29
|
+
* A worker pool is used to distribute the transformation actions and allow
|
|
30
|
+
* parallel processing. Transformation behavior is based on the filename and
|
|
31
|
+
* data. Transformations may include: async downleveling, Angular linking,
|
|
32
|
+
* and advanced optimizations.
|
|
33
|
+
*/
|
|
34
|
+
class JavaScriptTransformer {
|
|
35
|
+
constructor(options, maxThreads) {
|
|
36
|
+
_JavaScriptTransformer_workerPool.set(this, void 0);
|
|
37
|
+
_JavaScriptTransformer_commonOptions.set(this, void 0);
|
|
38
|
+
__classPrivateFieldSet(this, _JavaScriptTransformer_workerPool, new piscina_1.default({
|
|
39
|
+
filename: require.resolve('./javascript-transformer-worker'),
|
|
40
|
+
maxThreads,
|
|
41
|
+
}), "f");
|
|
42
|
+
// Extract options to ensure only the named options are serialized and sent to the worker
|
|
43
|
+
const { sourcemap, thirdPartySourcemaps = false, advancedOptimizations = false, jit = false, } = options;
|
|
44
|
+
__classPrivateFieldSet(this, _JavaScriptTransformer_commonOptions, {
|
|
45
|
+
sourcemap,
|
|
46
|
+
thirdPartySourcemaps,
|
|
47
|
+
advancedOptimizations,
|
|
48
|
+
jit,
|
|
49
|
+
}, "f");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Performs JavaScript transformations on a file from the filesystem.
|
|
53
|
+
* If no transformations are required, the data for the original file will be returned.
|
|
54
|
+
* @param filename The full path to the file.
|
|
55
|
+
* @param skipLinker If true, bypass all Angular linker processing; if false, attempt linking.
|
|
56
|
+
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
57
|
+
*/
|
|
58
|
+
transformFile(filename, skipLinker) {
|
|
59
|
+
// Always send the request to a worker. Files are almost always from node modules which measn
|
|
60
|
+
// they may need linking. The data is also not yet available to perform most transformation checks.
|
|
61
|
+
return __classPrivateFieldGet(this, _JavaScriptTransformer_workerPool, "f").run({
|
|
62
|
+
filename,
|
|
63
|
+
skipLinker,
|
|
64
|
+
...__classPrivateFieldGet(this, _JavaScriptTransformer_commonOptions, "f"),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Performs JavaScript transformations on the provided data of a file. The file does not need
|
|
69
|
+
* to exist on the filesystem.
|
|
70
|
+
* @param filename The full path of the file represented by the data.
|
|
71
|
+
* @param data The data of the file that should be transformed.
|
|
72
|
+
* @param skipLinker If true, bypass all Angular linker processing; if false, attempt linking.
|
|
73
|
+
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
74
|
+
*/
|
|
75
|
+
async transformData(filename, data, skipLinker) {
|
|
76
|
+
// Perform a quick test to determine if the data needs any transformations.
|
|
77
|
+
// This allows directly returning the data without the worker communication overhead.
|
|
78
|
+
let forceAsyncTransformation;
|
|
79
|
+
if (skipLinker && !__classPrivateFieldGet(this, _JavaScriptTransformer_commonOptions, "f").advancedOptimizations) {
|
|
80
|
+
// If the linker is being skipped and no optimizations are needed, only async transformation is left.
|
|
81
|
+
// This checks for async generator functions and class methods. All other async transformation is handled by esbuild.
|
|
82
|
+
forceAsyncTransformation = data.includes('async') && /async(?:\s+function)?\s*\*/.test(data);
|
|
83
|
+
if (!forceAsyncTransformation) {
|
|
84
|
+
const keepSourcemap = __classPrivateFieldGet(this, _JavaScriptTransformer_commonOptions, "f").sourcemap &&
|
|
85
|
+
(!!__classPrivateFieldGet(this, _JavaScriptTransformer_commonOptions, "f").thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
|
|
86
|
+
return Buffer.from(keepSourcemap ? data : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''), 'utf-8');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return __classPrivateFieldGet(this, _JavaScriptTransformer_workerPool, "f").run({
|
|
90
|
+
filename,
|
|
91
|
+
data,
|
|
92
|
+
// Send the async check result if present to avoid rechecking in the worker
|
|
93
|
+
forceAsyncTransformation,
|
|
94
|
+
skipLinker,
|
|
95
|
+
...__classPrivateFieldGet(this, _JavaScriptTransformer_commonOptions, "f"),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Stops all active transformation tasks and shuts down all workers.
|
|
100
|
+
* @returns A void promise that resolves when closing is complete.
|
|
101
|
+
*/
|
|
102
|
+
close() {
|
|
103
|
+
return __classPrivateFieldGet(this, _JavaScriptTransformer_workerPool, "f").destroy();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.JavaScriptTransformer = JavaScriptTransformer;
|
|
107
|
+
_JavaScriptTransformer_workerPool = new WeakMap(), _JavaScriptTransformer_commonOptions = new WeakMap();
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC10cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2VzYnVpbGQvamF2YXNjcmlwdC10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxzREFBOEI7QUFZOUI7Ozs7OztHQU1HO0FBQ0gsTUFBYSxxQkFBcUI7SUFJaEMsWUFBWSxPQUFxQyxFQUFFLFVBQW1CO1FBSHRFLG9EQUFxQjtRQUNyQix1REFBdUQ7UUFHckQsdUJBQUEsSUFBSSxxQ0FBZSxJQUFJLGlCQUFPLENBQUM7WUFDN0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUM7WUFDNUQsVUFBVTtTQUNYLENBQUMsTUFBQSxDQUFDO1FBRUgseUZBQXlGO1FBQ3pGLE1BQU0sRUFDSixTQUFTLEVBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxFQUM1QixxQkFBcUIsR0FBRyxLQUFLLEVBQzdCLEdBQUcsR0FBRyxLQUFLLEdBQ1osR0FBRyxPQUFPLENBQUM7UUFDWix1QkFBQSxJQUFJLHdDQUFrQjtZQUNwQixTQUFTO1lBQ1Qsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixHQUFHO1NBQ0osTUFBQSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWEsQ0FBQyxRQUFnQixFQUFFLFVBQW9CO1FBQ2xELDZGQUE2RjtRQUM3RixtR0FBbUc7UUFDbkcsT0FBTyx1QkFBQSxJQUFJLHlDQUFZLENBQUMsR0FBRyxDQUFDO1lBQzFCLFFBQVE7WUFDUixVQUFVO1lBQ1YsR0FBRyx1QkFBQSxJQUFJLDRDQUFlO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFnQixFQUFFLElBQVksRUFBRSxVQUFtQjtRQUNyRSwyRUFBMkU7UUFDM0UscUZBQXFGO1FBQ3JGLElBQUksd0JBQXdCLENBQUM7UUFDN0IsSUFBSSxVQUFVLElBQUksQ0FBQyx1QkFBQSxJQUFJLDRDQUFlLENBQUMscUJBQXFCLEVBQUU7WUFDNUQscUdBQXFHO1lBQ3JHLHFIQUFxSDtZQUNySCx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3RixJQUFJLENBQUMsd0JBQXdCLEVBQUU7Z0JBQzdCLE1BQU0sYUFBYSxHQUNqQix1QkFBQSxJQUFJLDRDQUFlLENBQUMsU0FBUztvQkFDN0IsQ0FBQyxDQUFDLENBQUMsdUJBQUEsSUFBSSw0Q0FBZSxDQUFDLG9CQUFvQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBRTNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsb0NBQW9DLEVBQUUsRUFBRSxDQUFDLEVBQzdFLE9BQU8sQ0FDUixDQUFDO2FBQ0g7U0FDRjtRQUVELE9BQU8sdUJBQUEsSUFBSSx5Q0FBWSxDQUFDLEdBQUcsQ0FBQztZQUMxQixRQUFRO1lBQ1IsSUFBSTtZQUNKLDJFQUEyRTtZQUMzRSx3QkFBd0I7WUFDeEIsVUFBVTtZQUNWLEdBQUcsdUJBQUEsSUFBSSw0Q0FBZTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILE9BQU8sdUJBQUEsSUFBSSx5Q0FBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQXhGRCxzREF3RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IFBpc2NpbmEgZnJvbSAncGlzY2luYSc7XG5cbi8qKlxuICogVHJhbnNmb3JtYXRpb24gb3B0aW9ucyB0aGF0IHNob3VsZCBhcHBseSB0byBhbGwgdHJhbnNmb3JtZWQgZmlsZXMgYW5kIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YVNjcmlwdFRyYW5zZm9ybWVyT3B0aW9ucyB7XG4gIHNvdXJjZW1hcDogYm9vbGVhbjtcbiAgdGhpcmRQYXJ0eVNvdXJjZW1hcHM/OiBib29sZWFuO1xuICBhZHZhbmNlZE9wdGltaXphdGlvbnM/OiBib29sZWFuO1xuICBqaXQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgY2xhc3MgdGhhdCBwZXJmb3JtcyB0cmFuc2Zvcm1hdGlvbiBvZiBKYXZhU2NyaXB0IGZpbGVzIGFuZCByYXcgZGF0YS5cbiAqIEEgd29ya2VyIHBvb2wgaXMgdXNlZCB0byBkaXN0cmlidXRlIHRoZSB0cmFuc2Zvcm1hdGlvbiBhY3Rpb25zIGFuZCBhbGxvd1xuICogcGFyYWxsZWwgcHJvY2Vzc2luZy4gVHJhbnNmb3JtYXRpb24gYmVoYXZpb3IgaXMgYmFzZWQgb24gdGhlIGZpbGVuYW1lIGFuZFxuICogZGF0YS4gVHJhbnNmb3JtYXRpb25zIG1heSBpbmNsdWRlOiBhc3luYyBkb3dubGV2ZWxpbmcsIEFuZ3VsYXIgbGlua2luZyxcbiAqIGFuZCBhZHZhbmNlZCBvcHRpbWl6YXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdFRyYW5zZm9ybWVyIHtcbiAgI3dvcmtlclBvb2w6IFBpc2NpbmE7XG4gICNjb21tb25PcHRpb25zOiBSZXF1aXJlZDxKYXZhU2NyaXB0VHJhbnNmb3JtZXJPcHRpb25zPjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKYXZhU2NyaXB0VHJhbnNmb3JtZXJPcHRpb25zLCBtYXhUaHJlYWRzPzogbnVtYmVyKSB7XG4gICAgdGhpcy4jd29ya2VyUG9vbCA9IG5ldyBQaXNjaW5hKHtcbiAgICAgIGZpbGVuYW1lOiByZXF1aXJlLnJlc29sdmUoJy4vamF2YXNjcmlwdC10cmFuc2Zvcm1lci13b3JrZXInKSxcbiAgICAgIG1heFRocmVhZHMsXG4gICAgfSk7XG5cbiAgICAvLyBFeHRyYWN0IG9wdGlvbnMgdG8gZW5zdXJlIG9ubHkgdGhlIG5hbWVkIG9wdGlvbnMgYXJlIHNlcmlhbGl6ZWQgYW5kIHNlbnQgdG8gdGhlIHdvcmtlclxuICAgIGNvbnN0IHtcbiAgICAgIHNvdXJjZW1hcCxcbiAgICAgIHRoaXJkUGFydHlTb3VyY2VtYXBzID0gZmFsc2UsXG4gICAgICBhZHZhbmNlZE9wdGltaXphdGlvbnMgPSBmYWxzZSxcbiAgICAgIGppdCA9IGZhbHNlLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIHRoaXMuI2NvbW1vbk9wdGlvbnMgPSB7XG4gICAgICBzb3VyY2VtYXAsXG4gICAgICB0aGlyZFBhcnR5U291cmNlbWFwcyxcbiAgICAgIGFkdmFuY2VkT3B0aW1pemF0aW9ucyxcbiAgICAgIGppdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIEphdmFTY3JpcHQgdHJhbnNmb3JtYXRpb25zIG9uIGEgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtLlxuICAgKiBJZiBubyB0cmFuc2Zvcm1hdGlvbnMgYXJlIHJlcXVpcmVkLCB0aGUgZGF0YSBmb3IgdGhlIG9yaWdpbmFsIGZpbGUgd2lsbCBiZSByZXR1cm5lZC5cbiAgICogQHBhcmFtIGZpbGVuYW1lIFRoZSBmdWxsIHBhdGggdG8gdGhlIGZpbGUuXG4gICAqIEBwYXJhbSBza2lwTGlua2VyIElmIHRydWUsIGJ5cGFzcyBhbGwgQW5ndWxhciBsaW5rZXIgcHJvY2Vzc2luZzsgaWYgZmFsc2UsIGF0dGVtcHQgbGlua2luZy5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBVVEYtOCBlbmNvZGVkIFVpbnQ4QXJyYXkgY29udGFpbmluZyB0aGUgcmVzdWx0LlxuICAgKi9cbiAgdHJhbnNmb3JtRmlsZShmaWxlbmFtZTogc3RyaW5nLCBza2lwTGlua2VyPzogYm9vbGVhbik6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgIC8vIEFsd2F5cyBzZW5kIHRoZSByZXF1ZXN0IHRvIGEgd29ya2VyLiBGaWxlcyBhcmUgYWxtb3N0IGFsd2F5cyBmcm9tIG5vZGUgbW9kdWxlcyB3aGljaCBtZWFzblxuICAgIC8vIHRoZXkgbWF5IG5lZWQgbGlua2luZy4gVGhlIGRhdGEgaXMgYWxzbyBub3QgeWV0IGF2YWlsYWJsZSB0byBwZXJmb3JtIG1vc3QgdHJhbnNmb3JtYXRpb24gY2hlY2tzLlxuICAgIHJldHVybiB0aGlzLiN3b3JrZXJQb29sLnJ1bih7XG4gICAgICBmaWxlbmFtZSxcbiAgICAgIHNraXBMaW5rZXIsXG4gICAgICAuLi50aGlzLiNjb21tb25PcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIEphdmFTY3JpcHQgdHJhbnNmb3JtYXRpb25zIG9uIHRoZSBwcm92aWRlZCBkYXRhIG9mIGEgZmlsZS4gVGhlIGZpbGUgZG9lcyBub3QgbmVlZFxuICAgKiB0byBleGlzdCBvbiB0aGUgZmlsZXN5c3RlbS5cbiAgICogQHBhcmFtIGZpbGVuYW1lIFRoZSBmdWxsIHBhdGggb2YgdGhlIGZpbGUgcmVwcmVzZW50ZWQgYnkgdGhlIGRhdGEuXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIG9mIHRoZSBmaWxlIHRoYXQgc2hvdWxkIGJlIHRyYW5zZm9ybWVkLlxuICAgKiBAcGFyYW0gc2tpcExpbmtlciBJZiB0cnVlLCBieXBhc3MgYWxsIEFuZ3VsYXIgbGlua2VyIHByb2Nlc3Npbmc7IGlmIGZhbHNlLCBhdHRlbXB0IGxpbmtpbmcuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgVVRGLTggZW5jb2RlZCBVaW50OEFycmF5IGNvbnRhaW5pbmcgdGhlIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIHRyYW5zZm9ybURhdGEoZmlsZW5hbWU6IHN0cmluZywgZGF0YTogc3RyaW5nLCBza2lwTGlua2VyOiBib29sZWFuKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgLy8gUGVyZm9ybSBhIHF1aWNrIHRlc3QgdG8gZGV0ZXJtaW5lIGlmIHRoZSBkYXRhIG5lZWRzIGFueSB0cmFuc2Zvcm1hdGlvbnMuXG4gICAgLy8gVGhpcyBhbGxvd3MgZGlyZWN0bHkgcmV0dXJuaW5nIHRoZSBkYXRhIHdpdGhvdXQgdGhlIHdvcmtlciBjb21tdW5pY2F0aW9uIG92ZXJoZWFkLlxuICAgIGxldCBmb3JjZUFzeW5jVHJhbnNmb3JtYXRpb247XG4gICAgaWYgKHNraXBMaW5rZXIgJiYgIXRoaXMuI2NvbW1vbk9wdGlvbnMuYWR2YW5jZWRPcHRpbWl6YXRpb25zKSB7XG4gICAgICAvLyBJZiB0aGUgbGlua2VyIGlzIGJlaW5nIHNraXBwZWQgYW5kIG5vIG9wdGltaXphdGlvbnMgYXJlIG5lZWRlZCwgb25seSBhc3luYyB0cmFuc2Zvcm1hdGlvbiBpcyBsZWZ0LlxuICAgICAgLy8gVGhpcyBjaGVja3MgZm9yIGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbnMgYW5kIGNsYXNzIG1ldGhvZHMuIEFsbCBvdGhlciBhc3luYyB0cmFuc2Zvcm1hdGlvbiBpcyBoYW5kbGVkIGJ5IGVzYnVpbGQuXG4gICAgICBmb3JjZUFzeW5jVHJhbnNmb3JtYXRpb24gPSBkYXRhLmluY2x1ZGVzKCdhc3luYycpICYmIC9hc3luYyg/OlxccytmdW5jdGlvbik/XFxzKlxcKi8udGVzdChkYXRhKTtcblxuICAgICAgaWYgKCFmb3JjZUFzeW5jVHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgY29uc3Qga2VlcFNvdXJjZW1hcCA9XG4gICAgICAgICAgdGhpcy4jY29tbW9uT3B0aW9ucy5zb3VyY2VtYXAgJiZcbiAgICAgICAgICAoISF0aGlzLiNjb21tb25PcHRpb25zLnRoaXJkUGFydHlTb3VyY2VtYXBzIHx8ICEvW1xcXFwvXW5vZGVfbW9kdWxlc1tcXFxcL10vLnRlc3QoZmlsZW5hbWUpKTtcblxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oXG4gICAgICAgICAga2VlcFNvdXJjZW1hcCA/IGRhdGEgOiBkYXRhLnJlcGxhY2UoL15cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkw9W15cXHJcXG5dKi9nbSwgJycpLFxuICAgICAgICAgICd1dGYtOCcsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI3dvcmtlclBvb2wucnVuKHtcbiAgICAgIGZpbGVuYW1lLFxuICAgICAgZGF0YSxcbiAgICAgIC8vIFNlbmQgdGhlIGFzeW5jIGNoZWNrIHJlc3VsdCBpZiBwcmVzZW50IHRvIGF2b2lkIHJlY2hlY2tpbmcgaW4gdGhlIHdvcmtlclxuICAgICAgZm9yY2VBc3luY1RyYW5zZm9ybWF0aW9uLFxuICAgICAgc2tpcExpbmtlcixcbiAgICAgIC4uLnRoaXMuI2NvbW1vbk9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcHMgYWxsIGFjdGl2ZSB0cmFuc2Zvcm1hdGlvbiB0YXNrcyBhbmQgc2h1dHMgZG93biBhbGwgd29ya2Vycy5cbiAgICogQHJldHVybnMgQSB2b2lkIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGNsb3NpbmcgaXMgY29tcGxldGUuXG4gICAqL1xuICBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jd29ya2VyUG9vbC5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
|