@angular-devkit/build-angular 17.0.0-next.4 → 17.0.0-next.6

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.
Files changed (67) hide show
  1. package/package.json +9 -10
  2. package/src/builders/app-shell/render-worker.js +2 -2
  3. package/src/builders/application/execute-build.js +20 -6
  4. package/src/builders/application/i18n.d.ts +25 -0
  5. package/src/builders/application/i18n.js +110 -0
  6. package/src/builders/application/index.js +12 -1
  7. package/src/builders/application/options.d.ts +6 -2
  8. package/src/builders/application/options.js +9 -8
  9. package/src/builders/application/schema.d.ts +4 -16
  10. package/src/builders/application/schema.js +1 -1
  11. package/src/builders/application/schema.json +3 -19
  12. package/src/builders/browser-esbuild/builder-status-warnings.js +1 -6
  13. package/src/builders/dev-server/vite-server.js +21 -2
  14. package/src/builders/extract-i18n/application-extraction.js +2 -1
  15. package/src/builders/prerender/index.js +45 -10
  16. package/src/builders/prerender/render-worker.js +2 -2
  17. package/src/builders/prerender/routes-extractor-worker.d.ts +20 -0
  18. package/src/builders/prerender/routes-extractor-worker.js +71 -0
  19. package/src/builders/prerender/schema.d.ts +2 -2
  20. package/src/builders/prerender/schema.js +1 -1
  21. package/src/builders/prerender/schema.json +2 -2
  22. package/src/builders/server/platform-server-exports-loader.js +7 -2
  23. package/src/tools/esbuild/angular/angular-host.d.ts +1 -0
  24. package/src/tools/esbuild/angular/angular-host.js +1 -1
  25. package/src/tools/esbuild/angular/compilation/aot-compilation.js +12 -6
  26. package/src/tools/esbuild/angular/compilation/jit-compilation.js +12 -5
  27. package/src/tools/esbuild/angular/compiler-plugin.js +50 -30
  28. package/src/tools/esbuild/angular/web-worker-transformer.d.ts +17 -0
  29. package/src/tools/esbuild/angular/web-worker-transformer.js +95 -0
  30. package/src/tools/esbuild/application-code-bundle.js +74 -22
  31. package/src/tools/esbuild/bundler-context.js +3 -3
  32. package/src/tools/esbuild/bundler-execution-result.d.ts +2 -2
  33. package/src/tools/esbuild/bundler-execution-result.js +1 -1
  34. package/src/tools/esbuild/global-scripts.js +2 -2
  35. package/src/tools/esbuild/i18n-inliner-worker.d.ts +37 -0
  36. package/src/tools/esbuild/i18n-inliner-worker.js +138 -0
  37. package/src/tools/esbuild/i18n-inliner.d.ts +40 -0
  38. package/src/tools/esbuild/i18n-inliner.js +119 -0
  39. package/src/tools/esbuild/i18n-locale-plugin.d.ts +18 -0
  40. package/src/tools/esbuild/i18n-locale-plugin.js +91 -0
  41. package/src/tools/esbuild/index-html-generator.d.ts +2 -2
  42. package/src/tools/esbuild/index-html-generator.js +4 -4
  43. package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +2 -2
  44. package/src/tools/esbuild/sourcemap-ignorelist-plugin.d.ts +1 -1
  45. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +4 -4
  46. package/src/tools/esbuild/utils.d.ts +2 -0
  47. package/src/tools/esbuild/utils.js +34 -2
  48. package/src/tools/esbuild/virtual-module-plugin.d.ts +2 -0
  49. package/src/tools/esbuild/virtual-module-plugin.js +3 -3
  50. package/src/tools/vite/i18n-locale-plugin.d.ts +18 -0
  51. package/src/tools/vite/i18n-locale-plugin.js +56 -0
  52. package/src/utils/routes-extractor/extractor.d.ts +15 -0
  53. package/src/utils/routes-extractor/extractor.js +80 -0
  54. package/src/utils/server-rendering/esm-in-memory-file-loader.d.ts +8 -0
  55. package/src/utils/server-rendering/esm-in-memory-file-loader.js +8 -8
  56. package/src/utils/server-rendering/main-bundle-exports.d.ts +22 -0
  57. package/src/utils/server-rendering/main-bundle-exports.js +10 -0
  58. package/src/utils/server-rendering/prerender.d.ts +1 -2
  59. package/src/utils/server-rendering/prerender.js +55 -55
  60. package/src/utils/server-rendering/render-page.d.ts +1 -13
  61. package/src/utils/server-rendering/render-page.js +2 -2
  62. package/src/utils/server-rendering/render-worker.d.ts +2 -2
  63. package/src/utils/server-rendering/render-worker.js +1 -1
  64. package/src/utils/server-rendering/routes-extractor-worker.d.ts +17 -0
  65. package/src/utils/server-rendering/routes-extractor-worker.js +47 -0
  66. package/src/builders/prerender/utils.d.ts +0 -22
  67. package/src/builders/prerender/utils.js +0 -79
@@ -0,0 +1,138 @@
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 remapping_1 = __importDefault(require("@ampproject/remapping"));
14
+ const core_1 = require("@babel/core");
15
+ const node_assert_1 = __importDefault(require("node:assert"));
16
+ const node_worker_threads_1 = require("node:worker_threads");
17
+ const error_1 = require("../../utils/error");
18
+ const load_esm_1 = require("../../utils/load-esm");
19
+ // Extract the application files and common options used for inline requests from the Worker context
20
+ // TODO: Evaluate overall performance difference of passing translations here as well
21
+ const { files, missingTranslation, shouldOptimize } = (node_worker_threads_1.workerData || {});
22
+ /**
23
+ * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
24
+ * This function is the main entry for the Worker's action that is called by the worker pool.
25
+ *
26
+ * @param request An InlineRequest object representing the options for inlining
27
+ * @returns An array containing the inlined file and optional map content.
28
+ */
29
+ async function inlineLocale(request) {
30
+ const data = files.get(request.filename);
31
+ (0, node_assert_1.default)(data !== undefined, `Invalid inline request for file '${request.filename}'.`);
32
+ const code = await data.text();
33
+ const map = await files.get(request.filename + '.map')?.text();
34
+ const result = await transformWithBabel(code, map && JSON.parse(map), request);
35
+ // TODO: Return diagnostics
36
+ // TODO: Consider buffer transfer instead of string copying
37
+ const response = [{ file: request.filename, contents: result.code }];
38
+ if (result.map) {
39
+ response.push({ file: request.filename + '.map', contents: result.map });
40
+ }
41
+ return response;
42
+ }
43
+ exports.default = inlineLocale;
44
+ /**
45
+ * Cached instance of the `@angular/localize/tools` module.
46
+ * This is used to remove the need to repeatedly import the module per file translation.
47
+ */
48
+ let localizeToolsModule;
49
+ /**
50
+ * Attempts to load the `@angular/localize/tools` module containing the functionality to
51
+ * perform the file translations.
52
+ * This module must be dynamically loaded as it is an ESM module and this file is CommonJS.
53
+ */
54
+ async function loadLocalizeTools() {
55
+ // Load ESM `@angular/localize/tools` using the TypeScript dynamic import workaround.
56
+ // Once TypeScript provides support for keeping the dynamic import this workaround can be
57
+ // changed to a direct dynamic import.
58
+ localizeToolsModule ??= await (0, load_esm_1.loadEsmModule)('@angular/localize/tools');
59
+ return localizeToolsModule;
60
+ }
61
+ /**
62
+ * Creates the needed Babel plugins to inline a given locale and translation for a JavaScript file.
63
+ * @param locale A string containing the locale specifier to use.
64
+ * @param translation A object record containing locale specific messages to use.
65
+ * @returns An array of Babel plugins.
66
+ */
67
+ async function createI18nPlugins(locale, translation) {
68
+ const { Diagnostics, makeEs2015TranslatePlugin } = await loadLocalizeTools();
69
+ const plugins = [];
70
+ const diagnostics = new Diagnostics();
71
+ plugins.push(
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ makeEs2015TranslatePlugin(diagnostics, (translation || {}), {
74
+ missingTranslation: translation === undefined ? 'ignore' : missingTranslation,
75
+ }));
76
+ // Create a plugin to replace the locale specifier constant inject by the build system with the actual specifier
77
+ plugins.push({
78
+ visitor: {
79
+ StringLiteral(path) {
80
+ if (path.node.value === '___NG_LOCALE_INSERT___') {
81
+ path.replaceWith(core_1.types.stringLiteral(locale));
82
+ }
83
+ },
84
+ },
85
+ });
86
+ return { diagnostics, plugins };
87
+ }
88
+ /**
89
+ * Transforms a JavaScript file using Babel to inline the request locale and translation.
90
+ * @param code A string containing the JavaScript code to transform.
91
+ * @param map A sourcemap object for the provided JavaScript code.
92
+ * @param options The inline request options to use.
93
+ * @returns An object containing the code, map, and diagnostics from the transformation.
94
+ */
95
+ async function transformWithBabel(code, map, options) {
96
+ let ast;
97
+ try {
98
+ ast = (0, core_1.parseSync)(code, {
99
+ babelrc: false,
100
+ configFile: false,
101
+ sourceType: 'unambiguous',
102
+ filename: options.filename,
103
+ });
104
+ }
105
+ catch (error) {
106
+ (0, error_1.assertIsError)(error);
107
+ // Make the error more readable.
108
+ // Same errors will contain the full content of the file as the error message
109
+ // Which makes it hard to find the actual error message.
110
+ const index = error.message.indexOf(')\n');
111
+ const msg = index !== -1 ? error.message.slice(0, index + 1) : error.message;
112
+ throw new Error(`${msg}\nAn error occurred inlining file "${options.filename}"`);
113
+ }
114
+ if (!ast) {
115
+ throw new Error(`Unknown error occurred inlining file "${options.filename}"`);
116
+ }
117
+ const { diagnostics, plugins } = await createI18nPlugins(options.locale, options.translation);
118
+ const transformResult = await (0, core_1.transformFromAstAsync)(ast, code, {
119
+ filename: options.filename,
120
+ // false is a valid value but not included in the type definition
121
+ inputSourceMap: false,
122
+ sourceMaps: !!map,
123
+ compact: shouldOptimize,
124
+ configFile: false,
125
+ babelrc: false,
126
+ browserslistConfigFile: false,
127
+ plugins,
128
+ });
129
+ if (!transformResult || !transformResult.code) {
130
+ throw new Error(`Unknown error occurred processing bundle for "${options.filename}".`);
131
+ }
132
+ let outputMap;
133
+ if (map && transformResult.map) {
134
+ outputMap = (0, remapping_1.default)([transformResult.map, map], () => null);
135
+ }
136
+ return { code: transformResult.code, map: outputMap && JSON.stringify(outputMap), diagnostics };
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1pbmxpbmVyLXdvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2VzYnVpbGQvaTE4bi1pbmxpbmVyLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7OztBQUVILHNFQUFrRTtBQUNsRSxzQ0FBaUY7QUFDakYsOERBQWlDO0FBQ2pDLDZEQUFpRDtBQUNqRCw2Q0FBa0Q7QUFDbEQsbURBQXFEO0FBcUJyRCxvR0FBb0c7QUFDcEcscUZBQXFGO0FBQ3JGLE1BQU0sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxnQ0FBVSxJQUFJLEVBQUUsQ0FJdEUsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNZLEtBQUssVUFBVSxZQUFZLENBQUMsT0FBc0I7SUFDL0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFekMsSUFBQSxxQkFBTSxFQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsb0NBQW9DLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO0lBRXJGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9ELE1BQU0sTUFBTSxHQUFHLE1BQU0sa0JBQWtCLENBQ3JDLElBQUksRUFDSixHQUFHLElBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQW9CLEVBQzFDLE9BQU8sQ0FDUixDQUFDO0lBRUYsMkJBQTJCO0lBQzNCLDJEQUEyRDtJQUMzRCxNQUFNLFFB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bGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCByZW1hcHBpbmcsIHsgU291cmNlTWFwSW5wdXQgfSBmcm9tICdAYW1wcHJvamVjdC9yZW1hcHBpbmcnO1xuaW1wb3J0IHsgUGx1Z2luT2JqLCBwYXJzZVN5bmMsIHRyYW5zZm9ybUZyb21Bc3RBc3luYywgdHlwZXMgfSBmcm9tICdAYmFiZWwvY29yZSc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0JztcbmltcG9ydCB7IHdvcmtlckRhdGEgfSBmcm9tICdub2RlOndvcmtlcl90aHJlYWRzJztcbmltcG9ydCB7IGFzc2VydElzRXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcic7XG5pbXBvcnQgeyBsb2FkRXNtTW9kdWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9hZC1lc20nO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIHBhc3NlZCB0byB0aGUgaW5saW5lciBmb3IgZWFjaCBmaWxlIHJlcXVlc3RcbiAqL1xuaW50ZXJmYWNlIElubGluZVJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIGZpbGVuYW1lIHRoYXQgc2hvdWxkIGJlIHByb2Nlc3NlZC4gVGhlIGRhdGEgZm9yIHRoZSBmaWxlIGlzIHByb3ZpZGVkIHRvIHRoZSBXb3JrZXJcbiAgICogZHVyaW5nIFdvcmtlciBpbml0aWFsaXphdGlvbi5cbiAgICovXG4gIGZpbGVuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbG9jYWxlIHNwZWNpZmllciB0aGF0IHNob3VsZCBiZSB1c2VkIGR1cmluZyB0aGUgaW5saW5pbmcgcHJvY2VzcyBvZiB0aGUgZmlsZS5cbiAgICovXG4gIGxvY2FsZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHRyYW5zbGF0aW9uIG1lc3NhZ2VzIGZvciB0aGUgbG9jYWxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZHVyaW5nIHRoZSBpbmxpbmluZyBwcm9jZXNzIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgdHJhbnNsYXRpb24/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLy8gRXh0cmFjdCB0aGUgYXBwbGljYXRpb24gZmlsZXMgYW5kIGNvbW1vbiBvcHRpb25zIHVzZWQgZm9yIGlubGluZSByZXF1ZXN0cyBmcm9tIHRoZSBXb3JrZXIgY29udGV4dFxuLy8gVE9ETzogRXZhbHVhdGUgb3ZlcmFsbCBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIG9mIHBhc3NpbmcgdHJhbnNsYXRpb25zIGhlcmUgYXMgd2VsbFxuY29uc3QgeyBmaWxlcywgbWlzc2luZ1RyYW5zbGF0aW9uLCBzaG91bGRPcHRpbWl6ZSB9ID0gKHdvcmtlckRhdGEgfHwge30pIGFzIHtcbiAgZmlsZXM6IFJlYWRvbmx5TWFwPHN0cmluZywgQmxvYj47XG4gIG1pc3NpbmdUcmFuc2xhdGlvbjogJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdpZ25vcmUnO1xuICBzaG91bGRPcHRpbWl6ZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogSW5saW5lcyB0aGUgcHJvdmlkZWQgbG9jYWxlIGFuZCB0cmFuc2xhdGlvbiBpbnRvIGEgSmF2YVNjcmlwdCBmaWxlIHRoYXQgY29udGFpbnMgYCRsb2NhbGl6ZWAgdXNhZ2UuXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBtYWluIGVudHJ5IGZvciB0aGUgV29ya2VyJ3MgYWN0aW9uIHRoYXQgaXMgY2FsbGVkIGJ5IHRoZSB3b3JrZXIgcG9vbC5cbiAqXG4gKiBAcGFyYW0gcmVxdWVzdCBBbiBJbmxpbmVSZXF1ZXN0IG9iamVjdCByZXByZXNlbnRpbmcgdGhlIG9wdGlvbnMgZm9yIGlubGluaW5nXG4gKiBAcmV0dXJucyBBbiBhcnJheSBjb250YWluaW5nIHRoZSBpbmxpbmVkIGZpbGUgYW5kIG9wdGlvbmFsIG1hcCBjb250ZW50LlxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBpbmxpbmVMb2NhbGUocmVxdWVzdDogSW5saW5lUmVxdWVzdCkge1xuICBjb25zdCBkYXRhID0gZmlsZXMuZ2V0KHJlcXVlc3QuZmlsZW5hbWUpO1xuXG4gIGFzc2VydChkYXRhICE9PSB1bmRlZmluZWQsIGBJbnZhbGlkIGlubGluZSByZXF1ZXN0IGZvciBmaWxlICcke3JlcXVlc3QuZmlsZW5hbWV9Jy5gKTtcblxuICBjb25zdCBjb2RlID0gYXdhaXQgZGF0YS50ZXh0KCk7XG4gIGNvbnN0IG1hcCA9IGF3YWl0IGZpbGVzLmdldChyZXF1ZXN0LmZpbGVuYW1lICsgJy5tYXAnKT8udGV4dCgpO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm1XaXRoQmFiZWwoXG4gICAgY29kZSxcbiAgICBtYXAgJiYgKEpTT04ucGFyc2UobWFwKSBhcyBTb3VyY2VNYXBJbnB1dCksXG4gICAgcmVxdWVzdCxcbiAgKTtcblxuICAvLyBUT0RPOiBSZXR1cm4gZGlhZ25vc3RpY3NcbiAgLy8gVE9ETzogQ29uc2lkZXIgYnVmZmVyIHRyYW5zZmVyIGluc3RlYWQgb2Ygc3RyaW5nIGNvcHlpbmdcbiAgY29uc3QgcmVzcG9uc2UgPSBbeyBmaWxlOiByZXF1ZXN0LmZpbGVuYW1lLCBjb250ZW50czogcmVzdWx0LmNvZGUgfV07XG4gIGlmIChyZXN1bHQubWFwKSB7XG4gICAgcmVzcG9uc2UucHVzaCh7IGZpbGU6IHJlcXVlc3QuZmlsZW5hbWUgKyAnLm1hcCcsIGNvbnRlbnRzOiByZXN1bHQubWFwIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlO1xufVxuXG4vKipcbiAqIEEgVHlwZSByZXByZXNlbnRpbmcgdGhlIGxvY2FsaXplIHRvb2xzIG1vZHVsZS5cbiAqL1xudHlwZSBMb2NhbGl6ZVV0aWxpdHlNb2R1bGUgPSB0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9sb2NhbGl6ZS90b29scycpO1xuXG4vKipcbiAqIENhY2hlZCBpbnN0YW5jZSBvZiB0aGUgYEBhbmd1bGFyL2xvY2FsaXplL3Rvb2xzYCBtb2R1bGUuXG4gKiBUaGlzIGlzIHVzZWQgdG8gcmVtb3ZlIHRoZSBuZWVkIHRvIHJlcGVhdGVkbHkgaW1wb3J0IHRoZSBtb2R1bGUgcGVyIGZpbGUgdHJhbnNsYXRpb24uXG4gKi9cbmxldCBsb2NhbGl6ZVRvb2xzTW9kdWxlOiBMb2NhbGl6ZVV0aWxpdHlNb2R1bGUgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gbG9hZCB0aGUgYEBhbmd1bGFyL2xvY2FsaXplL3Rvb2xzYCBtb2R1bGUgY29udGFpbmluZyB0aGUgZnVuY3Rpb25hbGl0eSB0b1xuICogcGVyZm9ybSB0aGUgZmlsZSB0cmFuc2xhdGlvbnMuXG4gKiBUaGlzIG1vZHVsZSBtdXN0IGJlIGR5bmFtaWNhbGx5IGxvYWRlZCBhcyBpdCBpcyBhbiBFU00gbW9kdWxlIGFuZCB0aGlzIGZpbGUgaXMgQ29tbW9uSlMuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRMb2NhbGl6ZVRvb2xzKCk6IFByb21pc2U8TG9jYWxpemVVdGlsaXR5TW9kdWxlPiB7XG4gIC8vIExvYWQgRVNNIGBAYW5ndWxhci9sb2NhbGl6ZS90b29sc2AgdXNpbmcgdGhlIFR5cGVTY3JpcHQgZHluYW1pYyBpbXBvcnQgd29ya2Fyb3VuZC5cbiAgLy8gT25jZSBUeXBlU2NyaXB0IHByb3ZpZGVzIHN1cHBvcnQgZm9yIGtlZXBpbmcgdGhlIGR5bmFtaWMgaW1wb3J0IHRoaXMgd29ya2Fyb3VuZCBjYW4gYmVcbiAgLy8gY2hhbmdlZCB0byBhIGRpcmVjdCBkeW5hbWljIGltcG9ydC5cbiAgbG9jYWxpemVUb29sc01vZHVsZSA/Pz0gYXdhaXQgbG9hZEVzbU1vZHVsZTxMb2NhbGl6ZVV0aWxpdHlNb2R1bGU+KCdAYW5ndWxhci9sb2NhbGl6ZS90b29scycpO1xuXG4gIHJldHVybiBsb2NhbGl6ZVRvb2xzTW9kdWxlO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIG5lZWRlZCBCYWJlbCBwbHVnaW5zIHRvIGlubGluZSBhIGdpdmVuIGxvY2FsZSBhbmQgdHJhbnNsYXRpb24gZm9yIGEgSmF2YVNjcmlwdCBmaWxlLlxuICogQHBhcmFtIGxvY2FsZSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBsb2NhbGUgc3BlY2lmaWVyIHRvIHVzZS5cbiAqIEBwYXJhbSB0cmFuc2xhdGlvbiBBIG9iamVjdCByZWNvcmQgY29udGFpbmluZyBsb2NhbGUgc3BlY2lmaWMgbWVzc2FnZXMgdG8gdXNlLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgQmFiZWwgcGx1Z2lucy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlSTE4blBsdWdpbnMobG9jYWxlOiBzdHJpbmcsIHRyYW5zbGF0aW9uOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCkge1xuICBjb25zdCB7IERpYWdub3N0aWNzLCBtYWtlRXMyMDE1VHJhbnNsYXRlUGx1Z2luIH0gPSBhd2FpdCBsb2FkTG9jYWxpemVUb29scygpO1xuXG4gIGNvbnN0IHBsdWdpbnM6IFBsdWdpbk9ialtdID0gW107XG4gIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNzKCk7XG5cbiAgcGx1Z2lucy5wdXNoKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgbWFrZUVzMjAxNVRyYW5zbGF0ZVBsdWdpbihkaWFnbm9zdGljcywgKHRyYW5zbGF0aW9uIHx8IHt9KSBhcyBhbnksIHtcbiAgICAgIG1pc3NpbmdUcmFuc2xhdGlvbjogdHJhbnNsYXRpb24gPT09IHVuZGVmaW5lZCA/ICdpZ25vcmUnIDogbWlzc2luZ1RyYW5zbGF0aW9uLFxuICAgIH0pLFxuICApO1xuXG4gIC8vIENyZWF0ZSBhIHBsdWdpbiB0byByZXBsYWNlIHRoZSBsb2NhbGUgc3BlY2lmaWVyIGNvbnN0YW50IGluamVjdCBieSB0aGUgYnVpbGQgc3lzdGVtIHdpdGggdGhlIGFjdHVhbCBzcGVjaWZpZXJcbiAgcGx1Z2lucy5wdXNoKHtcbiAgICB2aXNpdG9yOiB7XG4gICAgICBTdHJpbmdMaXRlcmFsKHBhdGgpIHtcbiAgICAgICAgaWYgKHBhdGgubm9kZS52YWx1ZSA9PT0gJ19fX05HX0xPQ0FMRV9JTlNFUlRfX18nKSB7XG4gICAgICAgICAgcGF0aC5yZXBsYWNlV2l0aCh0eXBlcy5zdHJpbmdMaXRlcmFsKGxvY2FsZSkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiB7IGRpYWdub3N0aWNzLCBwbHVnaW5zIH07XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIEphdmFTY3JpcHQgZmlsZSB1c2luZyBCYWJlbCB0byBpbmxpbmUgdGhlIHJlcXVlc3QgbG9jYWxlIGFuZCB0cmFuc2xhdGlvbi5cbiAqIEBwYXJhbSBjb2RlIEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIEphdmFTY3JpcHQgY29kZSB0byB0cmFuc2Zvcm0uXG4gKiBAcGFyYW0gbWFwIEEgc291cmNlbWFwIG9iamVjdCBmb3IgdGhlIHByb3ZpZGVkIEphdmFTY3JpcHQgY29kZS5cbiAqIEBwYXJhbSBvcHRpb25zIFRoZSBpbmxpbmUgcmVxdWVzdCBvcHRpb25zIHRvIHVzZS5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb2RlLCBtYXAsIGFuZCBkaWFnbm9zdGljcyBmcm9tIHRoZSB0cmFuc2Zvcm1hdGlvbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gdHJhbnNmb3JtV2l0aEJhYmVsKFxuICBjb2RlOiBzdHJpbmcsXG4gIG1hcDogU291cmNlTWFwSW5wdXQgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IElubGluZVJlcXVlc3QsXG4pIHtcbiAgbGV0IGFzdDtcbiAgdHJ5IHtcbiAgICBhc3QgPSBwYXJzZVN5bmMoY29kZSwge1xuICAgICAgYmFiZWxyYzogZmFsc2UsXG4gICAgICBjb25maWdGaWxlOiBmYWxzZSxcbiAgICAgIHNvdXJjZVR5cGU6ICd1bmFtYmlndW91cycsXG4gICAgICBmaWxlbmFtZTogb3B0aW9ucy5maWxlbmFtZSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBhc3NlcnRJc0Vycm9yKGVycm9yKTtcblxuICAgIC8vIE1ha2UgdGhlIGVycm9yIG1vcmUgcmVhZGFibGUuXG4gICAgLy8gU2FtZSBlcnJvcnMgd2lsbCBjb250YWluIHRoZSBmdWxsIGNvbnRlbnQgb2YgdGhlIGZpbGUgYXMgdGhlIGVycm9yIG1lc3NhZ2VcbiAgICAvLyBXaGljaCBtYWtlcyBpdCBoYXJkIHRvIGZpbmQgdGhlIGFjdHVhbCBlcnJvciBtZXNzYWdlLlxuICAgIGNvbnN0IGluZGV4ID0gZXJyb3IubWVzc2FnZS5pbmRleE9mKCcpXFxuJyk7XG4gICAgY29uc3QgbXNnID0gaW5kZXggIT09IC0xID8gZXJyb3IubWVzc2FnZS5zbGljZSgwLCBpbmRleCArIDEpIDogZXJyb3IubWVzc2FnZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bXNnfVxcbkFuIGVycm9yIG9jY3VycmVkIGlubGluaW5nIGZpbGUgXCIke29wdGlvbnMuZmlsZW5hbWV9XCJgKTtcbiAgfVxuXG4gIGlmICghYXN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGVycm9yIG9jY3VycmVkIGlubGluaW5nIGZpbGUgXCIke29wdGlvbnMuZmlsZW5hbWV9XCJgKTtcbiAgfVxuXG4gIGNvbnN0IHsgZGlhZ25vc3RpY3MsIHBsdWdpbnMgfSA9IGF3YWl0IGNyZWF0ZUkxOG5QbHVnaW5zKG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLnRyYW5zbGF0aW9uKTtcbiAgY29uc3QgdHJhbnNmb3JtUmVzdWx0ID0gYXdhaXQgdHJhbnNmb3JtRnJvbUFzdEFzeW5jKGFzdCwgY29kZSwge1xuICAgIGZpbGVuYW1lOiBvcHRpb25zLmZpbGVuYW1lLFxuICAgIC8vIGZhbHNlIGlzIGEgdmFsaWQgdmFsdWUgYnV0IG5vdCBpbmNsdWRlZCBpbiB0aGUgdHlwZSBkZWZpbml0aW9uXG4gICAgaW5wdXRTb3VyY2VNYXA6IGZhbHNlIGFzIHVua25vd24gYXMgdW5kZWZpbmVkLFxuICAgIHNvdXJjZU1hcHM6ICEhbWFwLFxuICAgIGNvbXBhY3Q6IHNob3VsZE9wdGltaXplLFxuICAgIGNvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgIGJhYmVscmM6IGZhbHNlLFxuICAgIGJyb3dzZXJzbGlzdENvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgIHBsdWdpbnMsXG4gIH0pO1xuXG4gIGlmICghdHJhbnNmb3JtUmVzdWx0IHx8ICF0cmFuc2Zvcm1SZXN1bHQuY29kZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBlcnJvciBvY2N1cnJlZCBwcm9jZXNzaW5nIGJ1bmRsZSBmb3IgXCIke29wdGlvbnMuZmlsZW5hbWV9XCIuYCk7XG4gIH1cblxuICBsZXQgb3V0cHV0TWFwO1xuICBpZiAobWFwICYmIHRyYW5zZm9ybVJlc3VsdC5tYXApIHtcbiAgICBvdXRwdXRNYXAgPSByZW1hcHBpbmcoW3RyYW5zZm9ybVJlc3VsdC5tYXAgYXMgU291cmNlTWFwSW5wdXQsIG1hcF0sICgpID0+IG51bGwpO1xuICB9XG5cbiAgcmV0dXJuIHsgY29kZTogdHJhbnNmb3JtUmVzdWx0LmNvZGUsIG1hcDogb3V0cHV0TWFwICYmIEpTT04uc3RyaW5naWZ5KG91dHB1dE1hcCksIGRpYWdub3N0aWNzIH07XG59XG4iXX0=
@@ -0,0 +1,40 @@
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 type { OutputFile } from 'esbuild';
9
+ /**
10
+ * Inlining options that should apply to all transformed code.
11
+ */
12
+ export interface I18nInlinerOptions {
13
+ missingTranslation: 'error' | 'warning' | 'ignore';
14
+ outputFiles: OutputFile[];
15
+ shouldOptimize?: boolean;
16
+ }
17
+ /**
18
+ * A class that performs i18n translation inlining of JavaScript code.
19
+ * A worker pool is used to distribute the transformation actions and allow
20
+ * parallel processing. Inlining is only performed on code that contains the
21
+ * localize function (`$localize`).
22
+ */
23
+ export declare class I18nInliner {
24
+ #private;
25
+ constructor(options: I18nInlinerOptions, maxThreads?: number);
26
+ /**
27
+ * Performs inlining of translations for the provided locale and translations. The files that
28
+ * are processed originate from the files passed to the class constructor and filter by presence
29
+ * of the localize function keyword.
30
+ * @param locale The string representing the locale to inline.
31
+ * @param translation The translation messages to use when inlining.
32
+ * @returns A promise that resolves to an array of OutputFiles representing a translated result.
33
+ */
34
+ inlineForLocale(locale: string, translation: Record<string, unknown> | undefined): Promise<OutputFile[]>;
35
+ /**
36
+ * Stops all active transformation tasks and shuts down all workers.
37
+ * @returns A void promise that resolves when closing is complete.
38
+ */
39
+ close(): Promise<void>;
40
+ }
@@ -0,0 +1,119 @@
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.I18nInliner = void 0;
14
+ const piscina_1 = __importDefault(require("piscina"));
15
+ const utils_1 = require("./utils");
16
+ /**
17
+ * A keyword used to indicate if a JavaScript file may require inlining of translations.
18
+ * This keyword is used to avoid processing files that would not otherwise need i18n processing.
19
+ */
20
+ const LOCALIZE_KEYWORD = '$localize';
21
+ /**
22
+ * A class that performs i18n translation inlining of JavaScript code.
23
+ * A worker pool is used to distribute the transformation actions and allow
24
+ * parallel processing. Inlining is only performed on code that contains the
25
+ * localize function (`$localize`).
26
+ */
27
+ class I18nInliner {
28
+ #workerPool;
29
+ #localizeFiles;
30
+ #unmodifiedFiles;
31
+ constructor(options, maxThreads) {
32
+ this.#unmodifiedFiles = [];
33
+ const files = new Map();
34
+ const pendingMaps = [];
35
+ for (const file of options.outputFiles) {
36
+ if (file.path.endsWith('.js')) {
37
+ // Check if localizations are present
38
+ const contentBuffer = Buffer.isBuffer(file.contents)
39
+ ? file.contents
40
+ : Buffer.from(file.contents.buffer, file.contents.byteOffset, file.contents.byteLength);
41
+ const hasLocalize = contentBuffer.includes(LOCALIZE_KEYWORD);
42
+ if (hasLocalize) {
43
+ // A Blob is an immutable data structure that allows sharing the data between workers
44
+ // without copying until the data is actually used within a Worker. This is useful here
45
+ // since each file may not actually be processed in each Worker and the Blob avoids
46
+ // unneeded repeat copying of potentially large JavaScript files.
47
+ files.set(file.path, new Blob([file.contents]));
48
+ continue;
49
+ }
50
+ }
51
+ else if (file.path.endsWith('.js.map')) {
52
+ // The related JS file may not have been checked yet. To ensure that map files are not
53
+ // missed, store any pending map files and check them after all output files.
54
+ pendingMaps.push(file);
55
+ continue;
56
+ }
57
+ this.#unmodifiedFiles.push(file);
58
+ }
59
+ // Check if any pending map files should be processed by checking if the parent JS file is present
60
+ for (const file of pendingMaps) {
61
+ if (files.has(file.path.slice(0, -4))) {
62
+ files.set(file.path, new Blob([file.contents]));
63
+ }
64
+ else {
65
+ this.#unmodifiedFiles.push(file);
66
+ }
67
+ }
68
+ this.#localizeFiles = files;
69
+ this.#workerPool = new piscina_1.default({
70
+ filename: require.resolve('./i18n-inliner-worker'),
71
+ maxThreads,
72
+ // Extract options to ensure only the named options are serialized and sent to the worker
73
+ workerData: {
74
+ missingTranslation: options.missingTranslation,
75
+ shouldOptimize: options.shouldOptimize,
76
+ files,
77
+ },
78
+ });
79
+ }
80
+ /**
81
+ * Performs inlining of translations for the provided locale and translations. The files that
82
+ * are processed originate from the files passed to the class constructor and filter by presence
83
+ * of the localize function keyword.
84
+ * @param locale The string representing the locale to inline.
85
+ * @param translation The translation messages to use when inlining.
86
+ * @returns A promise that resolves to an array of OutputFiles representing a translated result.
87
+ */
88
+ async inlineForLocale(locale, translation) {
89
+ // Request inlining for each file that contains localize calls
90
+ const requests = [];
91
+ for (const filename of this.#localizeFiles.keys()) {
92
+ if (filename.endsWith('.map')) {
93
+ continue;
94
+ }
95
+ const fileRequest = this.#workerPool.run({
96
+ filename,
97
+ locale,
98
+ translation,
99
+ });
100
+ requests.push(fileRequest);
101
+ }
102
+ // Wait for all file requests to complete
103
+ const rawResults = await Promise.all(requests);
104
+ // Convert raw results to output file objects and include all unmodified files
105
+ return [
106
+ ...rawResults.flat().map(({ file, contents }) => (0, utils_1.createOutputFileFromData)(file, contents)),
107
+ ...this.#unmodifiedFiles.map((file) => (0, utils_1.cloneOutputFile)(file)),
108
+ ];
109
+ }
110
+ /**
111
+ * Stops all active transformation tasks and shuts down all workers.
112
+ * @returns A void promise that resolves when closing is complete.
113
+ */
114
+ close() {
115
+ return this.#workerPool.destroy();
116
+ }
117
+ }
118
+ exports.I18nInliner = I18nInliner;
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1pbmxpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9pMThuLWlubGluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7O0FBR0gsc0RBQThCO0FBQzlCLG1DQUFvRTtBQUVwRTs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQVdyQzs7Ozs7R0FLRztBQUNILE1BQWEsV0FBVztJQUN0QixXQUFXLENBQVU7SUFDWixjQUFjLENBQTRCO0lBQzFDLGdCQUFnQixDQUFvQjtJQUU3QyxZQUFZLE9BQTJCLEVBQUUsVUFBbUI7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdCLHFDQUFxQztnQkFDckMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7b0JBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUYsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFD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RjtBQXhHRCxrQ0F3R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPdXRwdXRGaWxlIH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgUGlzY2luYSBmcm9tICdwaXNjaW5hJztcbmltcG9ydCB7IGNsb25lT3V0cHV0RmlsZSwgY3JlYXRlT3V0cHV0RmlsZUZyb21EYXRhIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQSBrZXl3b3JkIHVzZWQgdG8gaW5kaWNhdGUgaWYgYSBKYXZhU2NyaXB0IGZpbGUgbWF5IHJlcXVpcmUgaW5saW5pbmcgb2YgdHJhbnNsYXRpb25zLlxuICogVGhpcyBrZXl3b3JkIGlzIHVzZWQgdG8gYXZvaWQgcHJvY2Vzc2luZyBmaWxlcyB0aGF0IHdvdWxkIG5vdCBvdGhlcndpc2UgbmVlZCBpMThuIHByb2Nlc3NpbmcuXG4gKi9cbmNvbnN0IExPQ0FMSVpFX0tFWVdPUkQgPSAnJGxvY2FsaXplJztcblxuLyoqXG4gKiBJbmxpbmluZyBvcHRpb25zIHRoYXQgc2hvdWxkIGFwcGx5IHRvIGFsbCB0cmFuc2Zvcm1lZCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5JbmxpbmVyT3B0aW9ucyB7XG4gIG1pc3NpbmdUcmFuc2xhdGlvbjogJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdpZ25vcmUnO1xuICBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdO1xuICBzaG91bGRPcHRpbWl6ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IHBlcmZvcm1zIGkxOG4gdHJhbnNsYXRpb24gaW5saW5pbmcgb2YgSmF2YVNjcmlwdCBjb2RlLlxuICogQSB3b3JrZXIgcG9vbCBpcyB1c2VkIHRvIGRpc3RyaWJ1dGUgdGhlIHRyYW5zZm9ybWF0aW9uIGFjdGlvbnMgYW5kIGFsbG93XG4gKiBwYXJhbGxlbCBwcm9jZXNzaW5nLiBJbmxpbmluZyBpcyBvbmx5IHBlcmZvcm1lZCBvbiBjb2RlIHRoYXQgY29udGFpbnMgdGhlXG4gKiBsb2NhbGl6ZSBmdW5jdGlvbiAoYCRsb2NhbGl6ZWApLlxuICovXG5leHBvcnQgY2xhc3MgSTE4bklubGluZXIge1xuICAjd29ya2VyUG9vbDogUGlzY2luYTtcbiAgcmVhZG9ubHkgI2xvY2FsaXplRmlsZXM6IFJlYWRvbmx5TWFwPHN0cmluZywgQmxvYj47XG4gIHJlYWRvbmx5ICN1bm1vZGlmaWVkRmlsZXM6IEFycmF5PE91dHB1dEZpbGU+O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEkxOG5JbmxpbmVyT3B0aW9ucywgbWF4VGhyZWFkcz86IG51bWJlcikge1xuICAgIHRoaXMuI3VubW9kaWZpZWRGaWxlcyA9IFtdO1xuXG4gICAgY29uc3QgZmlsZXMgPSBuZXcgTWFwPHN0cmluZywgQmxvYj4oKTtcbiAgICBjb25zdCBwZW5kaW5nTWFwcyA9IFtdO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBvcHRpb25zLm91dHB1dEZpbGVzKSB7XG4gICAgICBpZiAoZmlsZS5wYXRoLmVuZHNXaXRoKCcuanMnKSkge1xuICAgICAgICAvLyBDaGVjayBpZiBsb2NhbGl6YXRpb25zIGFyZSBwcmVzZW50XG4gICAgICAgIGNvbnN0IGNvbnRlbnRCdWZmZXIgPSBCdWZmZXIuaXNCdWZmZXIoZmlsZS5jb250ZW50cylcbiAgICAgICAgICA/IGZpbGUuY29udGVudHNcbiAgICAgICAgICA6IEJ1ZmZlci5mcm9tKGZpbGUuY29udGVudHMuYnVmZmVyLCBmaWxlLmNvbnRlbnRzLmJ5dGVPZmZzZXQsIGZpbGUuY29udGVudHMuYnl0ZUxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGhhc0xvY2FsaXplID0gY29udGVudEJ1ZmZlci5pbmNsdWRlcyhMT0NBTElaRV9LRVlXT1JEKTtcblxuICAgICAgICBpZiAoaGFzTG9jYWxpemUpIHtcbiAgICAgICAgICAvLyBBIEJsb2IgaXMgYW4gaW1tdXRhYmxlIGRhdGEgc3RydWN0dXJlIHRoYXQgYWxsb3dzIHNoYXJpbmcgdGhlIGRhdGEgYmV0d2VlbiB3b3JrZXJzXG4gICAgICAgICAgLy8gd2l0aG91dCBjb3B5aW5nIHVudGlsIHRoZSBkYXRhIGlzIGFjdHVhbGx5IHVzZWQgd2l0aGluIGEgV29ya2VyLiBUaGlzIGlzIHVzZWZ1bCBoZXJlXG4gICAgICAgICAgLy8gc2luY2UgZWFjaCBmaWxlIG1heSBub3QgYWN0dWFsbHkgYmUgcHJvY2Vzc2VkIGluIGVhY2ggV29ya2VyIGFuZCB0aGUgQmxvYiBhdm9pZHNcbiAgICAgICAgICAvLyB1bm5lZWRlZCByZXBlYXQgY29weWluZyBvZiBwb3RlbnRpYWxseSBsYXJnZSBKYXZhU2NyaXB0IGZpbGVzLlxuICAgICAgICAgIGZpbGVzLnNldChmaWxlLnBhdGgsIG5ldyBCbG9iKFtmaWxlLmNvbnRlbnRzXSkpO1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZmlsZS5wYXRoLmVuZHNXaXRoKCcuanMubWFwJykpIHtcbiAgICAgICAgLy8gVGhlIHJlbGF0ZWQgSlMgZmlsZSBtYXkgbm90IGhhdmUgYmVlbiBjaGVja2VkIHlldC4gVG8gZW5zdXJlIHRoYXQgbWFwIGZpbGVzIGFyZSBub3RcbiAgICAgICAgLy8gbWlzc2VkLCBzdG9yZSBhbnkgcGVuZGluZyBtYXAgZmlsZXMgYW5kIGNoZWNrIHRoZW0gYWZ0ZXIgYWxsIG91dHB1dCBmaWxlcy5cbiAgICAgICAgcGVuZGluZ01hcHMucHVzaChmaWxlKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3VubW9kaWZpZWRGaWxlcy5wdXNoKGZpbGUpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIGFueSBwZW5kaW5nIG1hcCBmaWxlcyBzaG91bGQgYmUgcHJvY2Vzc2VkIGJ5IGNoZWNraW5nIGlmIHRoZSBwYXJlbnQgSlMgZmlsZSBpcyBwcmVzZW50XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHBlbmRpbmdNYXBzKSB7XG4gICAgICBpZiAoZmlsZXMuaGFzKGZpbGUucGF0aC5zbGljZSgwLCAtNCkpKSB7XG4gICAgICAgIGZpbGVzLnNldChmaWxlLnBhdGgsIG5ldyBCbG9iKFtmaWxlLmNvbnRlbnRzXSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdW5tb2RpZmllZEZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jbG9jYWxpemVGaWxlcyA9IGZpbGVzO1xuXG4gICAgdGhpcy4jd29ya2VyUG9vbCA9IG5ldyBQaXNjaW5hKHtcbiAgICAgIGZpbGVuYW1lOiByZXF1aXJlLnJlc29sdmUoJy4vaTE4bi1pbmxpbmVyLXdvcmtlcicpLFxuICAgICAgbWF4VGhyZWFkcyxcbiAgICAgIC8vIEV4dHJhY3Qgb3B0aW9ucyB0byBlbnN1cmUgb25seSB0aGUgbmFtZWQgb3B0aW9ucyBhcmUgc2VyaWFsaXplZCBhbmQgc2VudCB0byB0aGUgd29ya2VyXG4gICAgICB3b3JrZXJEYXRhOiB7XG4gICAgICAgIG1pc3NpbmdUcmFuc2xhdGlvbjogb3B0aW9ucy5taXNzaW5nVHJhbnNsYXRpb24sXG4gICAgICAgIHNob3VsZE9wdGltaXplOiBvcHRpb25zLnNob3VsZE9wdGltaXplLFxuICAgICAgICBmaWxlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybXMgaW5saW5pbmcgb2YgdHJhbnNsYXRpb25zIGZvciB0aGUgcHJvdmlkZWQgbG9jYWxlIGFuZCB0cmFuc2xhdGlvbnMuIFRoZSBmaWxlcyB0aGF0XG4gICAqIGFyZSBwcm9jZXNzZWQgb3JpZ2luYXRlIGZyb20gdGhlIGZpbGVzIHBhc3NlZCB0byB0aGUgY2xhc3MgY29uc3RydWN0b3IgYW5kIGZpbHRlciBieSBwcmVzZW5jZVxuICAgKiBvZiB0aGUgbG9jYWxpemUgZnVuY3Rpb24ga2V5d29yZC5cbiAgICogQHBhcmFtIGxvY2FsZSBUaGUgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgbG9jYWxlIHRvIGlubGluZS5cbiAgICogQHBhcmFtIHRyYW5zbGF0aW9uIFRoZSB0cmFuc2xhdGlvbiBtZXNzYWdlcyB0byB1c2Ugd2hlbiBpbmxpbmluZy5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgT3V0cHV0RmlsZXMgcmVwcmVzZW50aW5nIGEgdHJhbnNsYXRlZCByZXN1bHQuXG4gICAqL1xuICBhc3luYyBpbmxpbmVGb3JMb2NhbGUoXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgdHJhbnNsYXRpb246IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkLFxuICApOiBQcm9taXNlPE91dHB1dEZpbGVbXT4ge1xuICAgIC8vIFJlcXVlc3QgaW5saW5pbmcgZm9yIGVhY2ggZmlsZSB0aGF0IGNvbnRhaW5zIGxvY2FsaXplIGNhbGxzXG4gICAgY29uc3QgcmVxdWVzdHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIHRoaXMuI2xvY2FsaXplRmlsZXMua2V5cygpKSB7XG4gICAgICBpZiAoZmlsZW5hbWUuZW5kc1dpdGgoJy5tYXAnKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZVJlcXVlc3QgPSB0aGlzLiN3b3JrZXJQb29sLnJ1bih7XG4gICAgICAgIGZpbGVuYW1lLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHRyYW5zbGF0aW9uLFxuICAgICAgfSk7XG4gICAgICByZXF1ZXN0cy5wdXNoKGZpbGVSZXF1ZXN0KTtcbiAgICB9XG5cbiAgICAvLyBXYWl0IGZvciBhbGwgZmlsZSByZXF1ZXN0cyB0byBjb21wbGV0ZVxuICAgIGNvbnN0IHJhd1Jlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChyZXF1ZXN0cyk7XG5cbiAgICAvLyBDb252ZXJ0IHJhdyByZXN1bHRzIHRvIG91dHB1dCBmaWxlIG9iamVjdHMgYW5kIGluY2x1ZGUgYWxsIHVubW9kaWZpZWQgZmlsZXNcbiAgICByZXR1cm4gW1xuICAgICAgLi4ucmF3UmVzdWx0cy5mbGF0KCkubWFwKCh7IGZpbGUsIGNvbnRlbnRzIH0pID0+IGNyZWF0ZU91dHB1dEZpbGVGcm9tRGF0YShmaWxlLCBjb250ZW50cykpLFxuICAgICAgLi4udGhpcy4jdW5tb2RpZmllZEZpbGVzLm1hcCgoZmlsZSkgPT4gY2xvbmVPdXRwdXRGaWxlKGZpbGUpKSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3BzIGFsbCBhY3RpdmUgdHJhbnNmb3JtYXRpb24gdGFza3MgYW5kIHNodXRzIGRvd24gYWxsIHdvcmtlcnMuXG4gICAqIEByZXR1cm5zIEEgdm9pZCBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBjbG9zaW5nIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgY2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI3dvcmtlclBvb2wuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
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 type { Plugin } from 'esbuild';
9
+ /**
10
+ * The base module location used to search for locale specific data.
11
+ */
12
+ export declare const LOCALE_DATA_BASE_MODULE = "@angular/common/locales/global";
13
+ /**
14
+ * Creates an esbuild plugin that resolves Angular locale data files from `@angular/common`.
15
+ *
16
+ * @returns An esbuild plugin.
17
+ */
18
+ export declare function createAngularLocaleDataPlugin(): Plugin;
@@ -0,0 +1,91 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createAngularLocaleDataPlugin = exports.LOCALE_DATA_BASE_MODULE = void 0;
11
+ /**
12
+ * The base module location used to search for locale specific data.
13
+ */
14
+ exports.LOCALE_DATA_BASE_MODULE = '@angular/common/locales/global';
15
+ /**
16
+ * Creates an esbuild plugin that resolves Angular locale data files from `@angular/common`.
17
+ *
18
+ * @returns An esbuild plugin.
19
+ */
20
+ function createAngularLocaleDataPlugin() {
21
+ return {
22
+ name: 'angular-locale-data',
23
+ setup(build) {
24
+ // If packages are configured to be external then leave the original angular locale import path.
25
+ // This happens when using the development server with caching enabled to allow Vite prebundling to work.
26
+ // There currently is no option on the esbuild resolve function to resolve while disabling the option. To
27
+ // workaround the inability to resolve the full locale location here, the Vite dev server prebundling also
28
+ // contains a plugin to allow the locales to be correctly resolved when prebundling.
29
+ // NOTE: If esbuild eventually allows controlling the external package options in a build.resolve call, this
30
+ // workaround can be removed.
31
+ if (build.initialOptions.packages === 'external') {
32
+ return;
33
+ }
34
+ build.onResolve({ filter: /^angular:locale\/data:/ }, async ({ path }) => {
35
+ // Extract the locale from the path
36
+ const originalLocale = path.split(':', 3)[2];
37
+ // Remove any private subtags since these will never match
38
+ let partialLocale = originalLocale.replace(/-x(-[a-zA-Z0-9]{1,8})+$/, '');
39
+ let exact = true;
40
+ while (partialLocale) {
41
+ const potentialPath = `${exports.LOCALE_DATA_BASE_MODULE}/${partialLocale}`;
42
+ const result = await build.resolve(potentialPath, {
43
+ kind: 'import-statement',
44
+ resolveDir: build.initialOptions.absWorkingDir,
45
+ });
46
+ if (result.path) {
47
+ if (exact) {
48
+ return result;
49
+ }
50
+ else {
51
+ return {
52
+ ...result,
53
+ warnings: [
54
+ ...result.warnings,
55
+ {
56
+ location: null,
57
+ text: `Locale data for '${originalLocale}' cannot be found. Using locale data for '${partialLocale}'.`,
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ }
63
+ // Remove the last subtag and try again with a less specific locale
64
+ const parts = partialLocale.split('-');
65
+ partialLocale = parts.slice(0, -1).join('-');
66
+ exact = false;
67
+ // The locales "en" and "en-US" are considered exact to retain existing behavior
68
+ if (originalLocale === 'en-US' && partialLocale === 'en') {
69
+ exact = true;
70
+ }
71
+ }
72
+ // Not found so issue a warning and use an empty loader. Framework built-in `en-US` data will be used.
73
+ // This retains existing behavior as in the Webpack-based builder.
74
+ return {
75
+ path: originalLocale,
76
+ namespace: 'angular:locale/data',
77
+ warnings: [
78
+ {
79
+ location: null,
80
+ text: `Locale data for '${originalLocale}' cannot be found. No locale data will be included for this locale.`,
81
+ },
82
+ ],
83
+ };
84
+ });
85
+ // Locales that cannot be found will be loaded as empty content with a warning from the resolve step
86
+ build.onLoad({ filter: /./, namespace: 'angular:locale/data' }, () => ({ loader: 'empty' }));
87
+ },
88
+ };
89
+ }
90
+ exports.createAngularLocaleDataPlugin = createAngularLocaleDataPlugin;
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1sb2NhbGUtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9pMThuLWxvY2FsZS1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBSUg7O0dBRUc7QUFDVSxRQUFBLHVCQUF1QixHQUFHLGdDQUFnQyxDQUFDO0FBRXhFOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkI7SUFDM0MsT0FBTztRQUNMLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsS0FBSyxDQUFDLEtBQUs7WUFDVCxnR0FBZ0c7WUFDaEcseUdBQXlHO1lBQ3pHLHlHQUF5RztZQUN6RywwR0FBMEc7WUFDMUcsb0ZBQW9GO1lBQ3BGLDRHQUE0RztZQUM1RyxtQ0FBbUM7WUFDbkMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUU7Z0JBQ2hELE9BQU87YUFDUjtZQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUN2RSxtQ0FBbUM7Z0JBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU3QywwREFBMEQ7Z0JBQzFELElBQUksYUFBYSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRTFFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsT0FBTyxhQUFhLEVBQUU7b0JBQ3BCLE1BQU0sYUFBYSxHQUFHLEdBQUcsK0JBQXVCLElBQUksYUFBYSxFQUFFLENBQUM7b0JBRXBFLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7d0JBQ2hELElBQUksRUFBRSxrQkFBa0I7d0JBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWE7cUJBQy9DLENBQUMsQ0FBQztvQkFDSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7d0JBQ2YsSUFBSSxLQUFLLEVBQUU7NEJBQ1QsT0FBTyxNQUFNLENBQUM7eUJBQ2Y7NkJBQU07NEJBQ0wsT0FBTztnQ0FDTCxHQUFHLE1BQU07Z0NBQ1QsUUFBUSxFQUFFO29DQUNSLEdBQUcsTUFBTSxDQUFDLFFBQVE7b0NBQ2xCO3dDQUNFLFFBQVEsRUFBRSxJQUFJO3dDQUNkLElBQUksRUFBRSxvQkFBb0IsY0FBYyw2Q0FBNkMsYUFBYSxJQUFJO3FDQUN2RztpQ0FDRjs2QkFDRixDQUFDO3lCQUNIO3FCQUNGO29CQUVELG1FQUFtRTtvQkFDbkUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNkLGdGQUFnRjtvQkFDaEYsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUU7d0JBQ3hELEtBQUssR0FBRyxJQUFJLENBQUM7cUJBQ2Q7aUJBQ0Y7Z0JBRUQsc0dBQXNHO2dCQUN0RyxrRUFBa0U7Z0JBQ2xFLE9BQU87b0JBQ0wsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFNBQVMsRUFBRSxxQkFBcUI7b0JBQ2hDLFFBQVEsRUFBRTt3QkFDUjs0QkFDRSxRQUFRLEVBQUUsSUFBSTs0QkFDZCxJQUFJLEVBQUUsb0JBQW9CLGNBQWMscUVBQXFFO3lCQUM5RztxQkFDRjtpQkFDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxvR0FBb0c7WUFDcEcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0YsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBM0VELHNFQTJFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG4vKipcbiAqIFRoZSBiYXNlIG1vZHVsZSBsb2NhdGlvbiB1c2VkIHRvIHNlYXJjaCBmb3IgbG9jYWxlIHNwZWNpZmljIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBMT0NBTEVfREFUQV9CQVNFX01PRFVMRSA9ICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9nbG9iYWwnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCByZXNvbHZlcyBBbmd1bGFyIGxvY2FsZSBkYXRhIGZpbGVzIGZyb20gYEBhbmd1bGFyL2NvbW1vbmAuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBwbHVnaW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbmd1bGFyTG9jYWxlRGF0YVBsdWdpbigpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhbmd1bGFyLWxvY2FsZS1kYXRhJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgLy8gSWYgcGFja2FnZXMgYXJlIGNvbmZpZ3VyZWQgdG8gYmUgZXh0ZXJuYWwgdGhlbiBsZWF2ZSB0aGUgb3JpZ2luYWwgYW5ndWxhciBsb2NhbGUgaW1wb3J0IHBhdGguXG4gICAgICAvLyBUaGlzIGhhcHBlbnMgd2hlbiB1c2luZyB0aGUgZGV2ZWxvcG1lbnQgc2VydmVyIHdpdGggY2FjaGluZyBlbmFibGVkIHRvIGFsbG93IFZpdGUgcHJlYnVuZGxpbmcgdG8gd29yay5cbiAgICAgIC8vIFRoZXJlIGN1cnJlbnRseSBpcyBubyBvcHRpb24gb24gdGhlIGVzYnVpbGQgcmVzb2x2ZSBmdW5jdGlvbiB0byByZXNvbHZlIHdoaWxlIGRpc2FibGluZyB0aGUgb3B0aW9uLiBUb1xuICAgICAgLy8gd29ya2Fyb3VuZCB0aGUgaW5hYmlsaXR5IHRvIHJlc29sdmUgdGhlIGZ1bGwgbG9jYWxlIGxvY2F0aW9uIGhlcmUsIHRoZSBWaXRlIGRldiBzZXJ2ZXIgcHJlYnVuZGxpbmcgYWxzb1xuICAgICAgLy8gY29udGFpbnMgYSBwbHVnaW4gdG8gYWxsb3cgdGhlIGxvY2FsZXMgdG8gYmUgY29ycmVjdGx5IHJlc29sdmVkIHdoZW4gcHJlYnVuZGxpbmcuXG4gICAgICAvLyBOT1RFOiBJZiBlc2J1aWxkIGV2ZW50dWFsbHkgYWxsb3dzIGNvbnRyb2xsaW5nIHRoZSBleHRlcm5hbCBwYWNrYWdlIG9wdGlvbnMgaW4gYSBidWlsZC5yZXNvbHZlIGNhbGwsIHRoaXNcbiAgICAgIC8vICAgICAgIHdvcmthcm91bmQgY2FuIGJlIHJlbW92ZWQuXG4gICAgICBpZiAoYnVpbGQuaW5pdGlhbE9wdGlvbnMucGFja2FnZXMgPT09ICdleHRlcm5hbCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC9eYW5ndWxhcjpsb2NhbGVcXC9kYXRhOi8gfSwgYXN5bmMgKHsgcGF0aCB9KSA9PiB7XG4gICAgICAgIC8vIEV4dHJhY3QgdGhlIGxvY2FsZSBmcm9tIHRoZSBwYXRoXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTG9jYWxlID0gcGF0aC5zcGxpdCgnOicsIDMpWzJdO1xuXG4gICAgICAgIC8vIFJlbW92ZSBhbnkgcHJpdmF0ZSBzdWJ0YWdzIHNpbmNlIHRoZXNlIHdpbGwgbmV2ZXIgbWF0Y2hcbiAgICAgICAgbGV0IHBhcnRpYWxMb2NhbGUgPSBvcmlnaW5hbExvY2FsZS5yZXBsYWNlKC8teCgtW2EtekEtWjAtOV17MSw4fSkrJC8sICcnKTtcblxuICAgICAgICBsZXQgZXhhY3QgPSB0cnVlO1xuICAgICAgICB3aGlsZSAocGFydGlhbExvY2FsZSkge1xuICAgICAgICAgIGNvbnN0IHBvdGVudGlhbFBhdGggPSBgJHtMT0NBTEVfREFUQV9CQVNFX01PRFVMRX0vJHtwYXJ0aWFsTG9jYWxlfWA7XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZC5yZXNvbHZlKHBvdGVudGlhbFBhdGgsIHtcbiAgICAgICAgICAgIGtpbmQ6ICdpbXBvcnQtc3RhdGVtZW50JyxcbiAgICAgICAgICAgIHJlc29sdmVEaXI6IGJ1aWxkLmluaXRpYWxPcHRpb25zLmFic1dvcmtpbmdEaXIsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHJlc3VsdC5wYXRoKSB7XG4gICAgICAgICAgICBpZiAoZXhhY3QpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgIHdhcm5pbmdzOiBbXG4gICAgICAgICAgICAgICAgICAuLi5yZXN1bHQud2FybmluZ3MsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBgTG9jYWxlIGRhdGEgZm9yICcke29yaWdpbmFsTG9jYWxlfScgY2Fubm90IGJlIGZvdW5kLiBVc2luZyBsb2NhbGUgZGF0YSBmb3IgJyR7cGFydGlhbExvY2FsZX0nLmAsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUmVtb3ZlIHRoZSBsYXN0IHN1YnRhZyBhbmQgdHJ5IGFnYWluIHdpdGggYSBsZXNzIHNwZWNpZmljIGxvY2FsZVxuICAgICAgICAgIGNvbnN0IHBhcnRzID0gcGFydGlhbExvY2FsZS5zcGxpdCgnLScpO1xuICAgICAgICAgIHBhcnRpYWxMb2NhbGUgPSBwYXJ0cy5zbGljZSgwLCAtMSkuam9pbignLScpO1xuICAgICAgICAgIGV4YWN0ID0gZmFsc2U7XG4gICAgICAgICAgLy8gVGhlIGxvY2FsZXMgXCJlblwiIGFuZCBcImVuLVVTXCIgYXJlIGNvbnNpZGVyZWQgZXhhY3QgdG8gcmV0YWluIGV4aXN0aW5nIGJlaGF2aW9yXG4gICAgICAgICAgaWYgKG9yaWdpbmFsTG9jYWxlID09PSAnZW4tVVMnICYmIHBhcnRpYWxMb2NhbGUgPT09ICdlbicpIHtcbiAgICAgICAgICAgIGV4YWN0ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3QgZm91bmQgc28gaXNzdWUgYSB3YXJuaW5nIGFuZCB1c2UgYW4gZW1wdHkgbG9hZGVyLiBGcmFtZXdvcmsgYnVpbHQtaW4gYGVuLVVTYCBkYXRhIHdpbGwgYmUgdXNlZC5cbiAgICAgICAgLy8gVGhpcyByZXRhaW5zIGV4aXN0aW5nIGJlaGF2aW9yIGFzIGluIHRoZSBXZWJwYWNrLWJhc2VkIGJ1aWxkZXIuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGF0aDogb3JpZ2luYWxMb2NhbGUsXG4gICAgICAgICAgbmFtZXNwYWNlOiAnYW5ndWxhcjpsb2NhbGUvZGF0YScsXG4gICAgICAgICAgd2FybmluZ3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbG9jYXRpb246IG51bGwsXG4gICAgICAgICAgICAgIHRleHQ6IGBMb2NhbGUgZGF0YSBmb3IgJyR7b3JpZ2luYWxMb2NhbGV9JyBjYW5ub3QgYmUgZm91bmQuIE5vIGxvY2FsZSBkYXRhIHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoaXMgbG9jYWxlLmAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgLy8gTG9jYWxlcyB0aGF0IGNhbm5vdCBiZSBmb3VuZCB3aWxsIGJlIGxvYWRlZCBhcyBlbXB0eSBjb250ZW50IHdpdGggYSB3YXJuaW5nIGZyb20gdGhlIHJlc29sdmUgc3RlcFxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvLi8sIG5hbWVzcGFjZTogJ2FuZ3VsYXI6bG9jYWxlL2RhdGEnIH0sICgpID0+ICh7IGxvYWRlcjogJ2VtcHR5JyB9KSk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -5,10 +5,10 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
+ import type { OutputFile } from 'esbuild';
8
9
  import { NormalizedApplicationBuildOptions } from '../../builders/application/options';
9
10
  import { InitialFileRecord } from './bundler-context';
10
- import type { ExecutionResult } from './bundler-execution-result';
11
- export declare function generateIndexHtml(initialFiles: Map<string, InitialFileRecord>, executionResult: ExecutionResult, buildOptions: NormalizedApplicationBuildOptions): Promise<{
11
+ export declare function generateIndexHtml(initialFiles: Map<string, InitialFileRecord>, outputFiles: OutputFile[], buildOptions: NormalizedApplicationBuildOptions, lang?: string): Promise<{
12
12
  content: string;
13
13
  contentWithoutCriticalCssInlined: string;
14
14
  warnings: string[];
@@ -15,7 +15,7 @@ const node_assert_1 = __importDefault(require("node:assert"));
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  const index_html_generator_1 = require("../../utils/index-file/index-html-generator");
17
17
  const inline_critical_css_1 = require("../../utils/index-file/inline-critical-css");
18
- async function generateIndexHtml(initialFiles, executionResult, buildOptions) {
18
+ async function generateIndexHtml(initialFiles, outputFiles, buildOptions, lang) {
19
19
  // Analyze metafile for initial link-based hints.
20
20
  // Skip if the internal externalPackages option is enabled since this option requires
21
21
  // dev server cooperation to properly resolve and fetch imports.
@@ -43,7 +43,7 @@ async function generateIndexHtml(initialFiles, executionResult, buildOptions) {
43
43
  const readAsset = async function (filePath) {
44
44
  // Remove leading directory separator
45
45
  const relativefilePath = node_path_1.default.relative(virtualOutputPath, filePath);
46
- const file = executionResult.outputFiles.find((file) => file.path === relativefilePath);
46
+ const file = outputFiles.find((file) => file.path === relativefilePath);
47
47
  if (file) {
48
48
  return file.text;
49
49
  }
@@ -66,7 +66,7 @@ async function generateIndexHtml(initialFiles, executionResult, buildOptions) {
66
66
  indexHtmlGenerator.readAsset = readAsset;
67
67
  const transformResult = await indexHtmlGenerator.process({
68
68
  baseHref,
69
- lang: undefined,
69
+ lang,
70
70
  outputPath: virtualOutputPath,
71
71
  files: [...initialFiles].map(([file, record]) => ({
72
72
  name: record.name ?? '',
@@ -97,4 +97,4 @@ async function generateIndexHtml(initialFiles, executionResult, buildOptions) {
97
97
  };
98
98
  }
99
99
  exports.generateIndexHtml = generateIndexHtml;
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtaHRtbC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2luZGV4LWh0bWwtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUVILDhEQUFpQztBQUNqQywwREFBNkI7QUFFN0Isc0ZBQWlGO0FBQ2pGLG9GQUF3RjtBQUlqRixLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLFlBQTRDLEVBQzVDLGVBQWdDLEVBQ2hDLFlBQStDO0lBTy9DLGlEQUFpRDtJQUNqRCxxRkFBcUY7SUFDckYsZ0VBQWdFO0lBQ2hFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNqQixNQUFNLEVBQ0osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixRQUFRLEdBQ1QsR0FBRyxZQUFZLENBQUM7SUFFakIsSUFBQSxxQkFBTSxFQUFDLGdCQUFnQixFQUFFLHVDQUF1QyxDQUFDLENBQUM7SUFFbEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxZQUFZLEVBQUU7WUFDdkMsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO2dCQUNwQixrREFBa0Q7Z0JBQ2xELFNBQVM7YUFDVjtZQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxlQUF3QixFQUFFLENBQUMsQ0FBQzthQUMxRDtpQkFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNqQyxnRkFBZ0Y7Z0JBQ2hGLDZD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aWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0JztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBOb3JtYWxpemVkQXBwbGljYXRpb25CdWlsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9idWlsZGVycy9hcHBsaWNhdGlvbi9vcHRpb25zJztcbmltcG9ydCB7IEluZGV4SHRtbEdlbmVyYXRvciB9IGZyb20gJy4uLy4uL3V0aWxzL2luZGV4LWZpbGUvaW5kZXgtaHRtbC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgSW5saW5lQ3JpdGljYWxDc3NQcm9jZXNzb3IgfSBmcm9tICcuLi8uLi91dGlscy9pbmRleC1maWxlL2lubGluZS1jcml0aWNhbC1jc3MnO1xuaW1wb3J0IHsgSW5pdGlhbEZpbGVSZWNvcmQgfSBmcm9tICcuL2J1bmRsZXItY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCB9IGZyb20gJy4vYnVuZGxlci1leGVjdXRpb24tcmVzdWx0JztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlSW5kZXhIdG1sKFxuICBpbml0aWFsRmlsZXM6IE1hcDxzdHJpbmcsIEluaXRpYWxGaWxlUmVjb3JkPixcbiAgZXhlY3V0aW9uUmVzdWx0OiBFeGVjdXRpb25SZXN1bHQsXG4gIGJ1aWxkT3B0aW9uczogTm9ybWFsaXplZEFwcGxpY2F0aW9uQnVpbGRPcHRpb25zLFxuKTogUHJvbWlzZTx7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgY29udGVudFdpdGhvdXRDcml0aWNhbENzc0lubGluZWQ6IHN0cmluZztcbiAgd2FybmluZ3M6IHN0cmluZ1tdO1xuICBlcnJvcnM6IHN0cmluZ1tdO1xufT4ge1xuICAvLyBBbmFseXplIG1ldGFmaWxlIGZvciBpbml0aWFsIGxpbmstYmFzZWQgaGludHMuXG4gIC8vIFNraXAgaWYgdGhlIGludGVybmFsIGV4dGVybmFsUGFja2FnZXMgb3B0aW9uIGlzIGVuYWJsZWQgc2luY2UgdGhpcyBvcHRpb24gcmVxdWlyZXNcbiAgLy8gZGV2IHNlcnZlciBjb29wZXJhdGlvbiB0byBwcm9wZXJseSByZXNvbHZlIGFuZCBmZXRjaCBpbXBvcnRzLlxuICBjb25zdCBoaW50cyA9IFtdO1xuICBjb25zdCB7XG4gICAgaW5kZXhIdG1sT3B0aW9ucyxcbiAgICBleHRlcm5hbFBhY2thZ2VzLFxuICAgIG9wdGltaXphdGlvbk9wdGlvbnMsXG4gICAgY3Jvc3NPcmlnaW4sXG4gICAgc3VicmVzb3VyY2VJbnRlZ3JpdHksXG4gICAgYmFzZUhyZWYsXG4gIH0gPSBidWlsZE9wdGlvbnM7XG5cbiAgYXNzZXJ0KGluZGV4SHRtbE9wdGlvbnMsICdpbmRleEh0bWxPcHRpb25zIGNhbm5vdCBiZSB1bmRlZmluZWQuJyk7XG5cbiAgaWYgKCFleHRlcm5hbFBhY2thZ2VzKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaW5pdGlhbEZpbGVzKSB7XG4gICAgICBpZiAodmFsdWUuZW50cnlwb2ludCkge1xuICAgICAgICAvLyBFbnRyeSBwb2ludHMgYXJlIGFscmVhZHkgcmVmZXJlbmNlZCBpbiB0aGUgSFRNTFxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS50eXBlID09PSAnc2NyaXB0Jykge1xuICAgICAgICBoaW50cy5wdXNoKHsgdXJsOiBrZXksIG1vZGU6ICdtb2R1bGVwcmVsb2FkJyBhcyBjb25zdCB9KTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUudHlwZSA9PT0gJ3N0eWxlJykge1xuICAgICAgICAvLyBQcm92aWRlIGFuIFwiYXNcIiB2YWx1ZSBvZiBcInN0eWxlXCIgdG8gZW5zdXJlIGV4dGVybmFsIFVSTHMgd2hpY2ggbWF5IG5vdCBoYXZlIGFcbiAgICAgICAgLy8gZmlsZSBleHRlbnNpb24gYXJlIHRyZWF0ZWQgYXMgc3R5bGVzaGVldHMuXG4gICAgICAgIGhpbnRzLnB1c2goeyB1cmw6IGtleSwgbW9kZTogJ3ByZWxvYWQnIGFzIGNvbnN0LCBhczogJ3N0eWxlJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVmlydHVhbCBvdXRwdXQgcGF0aCB0byBzdXBwb3J0IHJlYWRpbmcgaW4tbWVtb3J5IGZpbGVzLiAqL1xuICBjb25zdCB2aXJ0dWFsT3V0cHV0UGF0aCA9ICcvJztcbiAgY29uc3QgcmVhZEFzc2V0ID0gYXN5bmMgZnVuY3Rpb24gKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIFJlbW92ZSBsZWFkaW5nIGRpcmVjdG9yeSBzZXBhcmF0b3JcbiAgICBjb25zdCByZWxhdGl2ZWZpbGVQYXRoID0gcGF0aC5yZWxhdGl2ZSh2aXJ0dWFsT3V0cHV0UGF0aCwgZmlsZVBhdGgpO1xuICAgIGNvbnN0IGZpbGUgPSBleGVjdXRpb25SZXN1bHQub3V0cHV0RmlsZXMuZmluZCgoZmlsZSkgPT4gZmlsZS5wYXRoID09PSByZWxhdGl2ZWZpbGVQYXRoKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgcmV0dXJuIGZpbGUudGV4dDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYE91dHB1dCBmaWxlIGRvZXMgbm90IGV4aXN0OiAke3JlbGF0aXZlZmlsZVBhdGh9YCk7XG4gIH07XG5cbiAgLy8gQ3JlYXRlIGFuIGluZGV4IEhUTUwgZ2VuZXJhdG9yIHRoYXQgcmVhZHMgZnJvbSB0aGUgaW4tbWVtb3J5IG91dHB1dCBmaWxlc1xuICBjb25zdCBpbmRleEh0bWxHZW5lcmF0b3IgPSBuZXcgSW5kZXhIdG1sR2VuZXJhdG9yKHtcbiAgICBpbmRleFBhdGg6IGluZGV4SHRtbE9wdGlvbnMuaW5wdXQsXG4gICAgZW50cnlwb2ludHM6IGluZGV4SHRtbE9wdGlvbnMuaW5zZXJ0aW9uT3JkZXIsXG4gICAgc3JpOiBzdWJyZXNvdXJjZUludGVncml0eSxcbiAgICBvcHRpbWl6YXRpb246IHtcbiAgICAgIC4uLm9wdGltaXphdGlvbk9wdGlvbnMsXG4gICAgICBzdHlsZXM6IHtcbiAgICAgICAgLi4ub3B0aW1pemF0aW9uT3B0aW9ucy5zdHlsZXMsXG4gICAgICAgIGlubGluZUNyaXRpY2FsOiBmYWxzZSwgLy8gRGlzYWJsZSBjcml0aWNhbCBjc3MgaW5saW5lIGFzIGZvciBTU1IgYW5kIFNTRyB0aGlzIHdpbGwgYmUgZG9uZSBkdXJpbmcgcmVuZGVyaW5nLlxuICAgICAgfSxcbiAgICB9LFxuICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbixcbiAgfSk7XG5cbiAgaW5kZXhIdG1sR2VuZXJhdG9yLnJlYWRBc3NldCA9IHJlYWRBc3NldDtcblxuICBjb25zdCB0cmFuc2Zvcm1SZXN1bHQgPSBhd2FpdCBpbmRleEh0bWxHZW5lcmF0b3IucHJvY2Vzcyh7XG4gICAgYmFzZUhyZWYsXG4gICAgbGFuZzogdW5kZWZpbmVkLFxuICAgIG91dHB1dFBhdGg6IHZpcnR1YWxPdXRwdXRQYXRoLFxuICAgIGZpbGVzOiBbLi4uaW5pdGlhbEZpbGVzXS5tYXAoKFtmaWxlLCByZWNvcmRdKSA9PiAoe1xuICAgICAgbmFtZTogcmVjb3JkLm5hbWUgPz8gJycsXG4gICAgICBmaWxlLFxuICAgICAgZXh0ZW5zaW9uOiBwYXRoLmV4dG5hbWUoZmlsZSksXG4gICAgfSkpLFxuICAgIGhpbnRzLFxuICB9KTtcblxuICBjb25zdCBjb250ZW50V2l0aG91dENyaXRpY2FsQ3NzSW5saW5lZCA9IHRyYW5zZm9ybVJlc3VsdC5jb250ZW50O1xuICBpZiAoIW9wdGltaXphdGlvbk9wdGlvbnMuc3R5bGVzLmlubGluZUNyaXRpY2FsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRyYW5zZm9ybVJlc3VsdCxcbiAgICAgIGNvbnRlbnRXaXRob3V0Q3JpdGljYWxDc3NJbmxpbmVkLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBpbmxpbmVDcml0aWNhbENzc1Byb2Nlc3NvciA9IG5ldyBJbmxpbmVDcml0aWNhbENzc1Byb2Nlc3Nvcih7XG4gICAgbWluaWZ5OiBmYWxzZSwgLy8gQ1NTIGhhcyBhbHJlYWR5IGJlZW4gbWluaWZpZWQgZHVyaW5nIHRoZSBidWlsZC5cbiAgICByZWFkQXNzZXQsXG4gIH0pO1xuXG4gIGNvbnN0IHsgY29udGVudCwgZXJyb3JzLCB3YXJuaW5ncyB9ID0gYXdhaXQgaW5saW5lQ3JpdGljYWxDc3NQcm9jZXNzb3IucHJvY2VzcyhcbiAgICBjb250ZW50V2l0aG91dENyaXRpY2FsQ3NzSW5saW5lZCxcbiAgICB7XG4gICAgICBvdXRwdXRQYXRoOiB2aXJ0dWFsT3V0cHV0UGF0aCxcbiAgICB9LFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgZXJyb3JzOiBbLi4udHJhbnNmb3JtUmVzdWx0LmVycm9ycywgLi4uZXJyb3JzXSxcbiAgICB3YXJuaW5nczogWy4uLnRyYW5zZm9ybVJlc3VsdC53YXJuaW5ncywgLi4ud2FybmluZ3NdLFxuICAgIGNvbnRlbnQsXG4gICAgY29udGVudFdpdGhvdXRDcml0aWNhbENzc0lubGluZWQsXG4gIH07XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtaHRtbC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2luZGV4LWh0bWwtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUdILDhEQUFpQztBQUNqQywwREFBNkI7QUFFN0Isc0ZBQWlGO0FBQ2pGLG9GQUF3RjtBQUdqRixLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLFlBQTRDLEVBQzVDLFdBQXlCLEVBQ3pCLFlBQStDLEVBQy9DLElBQWE7SUFPYixpREFBaUQ7SUFDakQscUZBQXFGO0lBQ3JGLGdFQUFnRTtJQUNoRSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsTUFBTSxFQUNKLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsUUFBUSxHQUNULEdBQUcsWUFBWSxDQUFDO0lBRWpCLElBQUEscUJBQU0sRUFBQyxnQkFBZ0IsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksWUFBWSxFQUFFO1lBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsa0RBQWtEO2dCQUNsRCxTQUFTO2FBQ1Y7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBd0IsRUFBRSxDQUFDLENBQUM7YUFDMUQ7aUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDakMsZ0ZBQWdG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ZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0eXBlIHsgT3V0cHV0RmlsZSB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgTm9ybWFsaXplZEFwcGxpY2F0aW9uQnVpbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vYnVpbGRlcnMvYXBwbGljYXRpb24vb3B0aW9ucyc7XG5pbXBvcnQgeyBJbmRleEh0bWxHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi91dGlscy9pbmRleC1maWxlL2luZGV4LWh0bWwtZ2VuZXJhdG9yJztcbmltcG9ydCB7IElubGluZUNyaXRpY2FsQ3NzUHJvY2Vzc29yIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5kZXgtZmlsZS9pbmxpbmUtY3JpdGljYWwtY3NzJztcbmltcG9ydCB7IEluaXRpYWxGaWxlUmVjb3JkIH0gZnJvbSAnLi9idW5kbGVyLWNvbnRleHQnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVJbmRleEh0bWwoXG4gIGluaXRpYWxGaWxlczogTWFwPHN0cmluZywgSW5pdGlhbEZpbGVSZWNvcmQ+LFxuICBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdLFxuICBidWlsZE9wdGlvbnM6IE5vcm1hbGl6ZWRBcHBsaWNhdGlvbkJ1aWxkT3B0aW9ucyxcbiAgbGFuZz86IHN0cmluZyxcbik6IFByb21pc2U8e1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGNvbnRlbnRXaXRob3V0Q3JpdGljYWxDc3NJbmxpbmVkOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBzdHJpbmdbXTtcbiAgZXJyb3JzOiBzdHJpbmdbXTtcbn0+IHtcbiAgLy8gQW5hbHl6ZSBtZXRhZmlsZSBmb3IgaW5pdGlhbCBsaW5rLWJhc2VkIGhpbnRzLlxuICAvLyBTa2lwIGlmIHRoZSBpbnRlcm5hbCBleHRlcm5hbFBhY2thZ2VzIG9wdGlvbiBpcyBlbmFibGVkIHNpbmNlIHRoaXMgb3B0aW9uIHJlcXVpcmVzXG4gIC8vIGRldiBzZXJ2ZXIgY29vcGVyYXRpb24gdG8gcHJvcGVybHkgcmVzb2x2ZSBhbmQgZmV0Y2ggaW1wb3J0cy5cbiAgY29uc3QgaGludHMgPSBbXTtcbiAgY29uc3Qge1xuICAgIGluZGV4SHRtbE9wdGlvbnMsXG4gICAgZXh0ZXJuYWxQYWNrYWdlcyxcbiAgICBvcHRpbWl6YXRpb25PcHRpb25zLFxuICAgIGNyb3NzT3JpZ2luLFxuICAgIHN1YnJlc291cmNlSW50ZWdyaXR5LFxuICAgIGJhc2VIcmVmLFxuICB9ID0gYnVpbGRPcHRpb25zO1xuXG4gIGFzc2VydChpbmRleEh0bWxPcHRpb25zLCAnaW5kZXhIdG1sT3B0aW9ucyBjYW5ub3QgYmUgdW5kZWZpbmVkLicpO1xuXG4gIGlmICghZXh0ZXJuYWxQYWNrYWdlcykge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGluaXRpYWxGaWxlcykge1xuICAgICAgaWYgKHZhbHVlLmVudHJ5cG9pbnQpIHtcbiAgICAgICAgLy8gRW50cnkgcG9pbnRzIGFyZSBhbHJlYWR5IHJlZmVyZW5jZWQgaW4gdGhlIEhUTUxcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUudHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgICAgaGludHMucHVzaCh7IHVybDoga2V5LCBtb2RlOiAnbW9kdWxlcHJlbG9hZCcgYXMgY29uc3QgfSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLnR5cGUgPT09ICdzdHlsZScpIHtcbiAgICAgICAgLy8gUHJvdmlkZSBhbiBcImFzXCIgdmFsdWUgb2YgXCJzdHlsZVwiIHRvIGVuc3VyZSBleHRlcm5hbCBVUkxzIHdoaWNoIG1heSBub3QgaGF2ZSBhXG4gICAgICAgIC8vIGZpbGUgZXh0ZW5zaW9uIGFyZSB0cmVhdGVkIGFzIHN0eWxlc2hlZXRzLlxuICAgICAgICBoaW50cy5wdXNoKHsgdXJsOiBrZXksIG1vZGU6ICdwcmVsb2FkJyBhcyBjb25zdCwgYXM6ICdzdHlsZScgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFZpcnR1YWwgb3V0cHV0IHBhdGggdG8gc3VwcG9ydCByZWFkaW5nIGluLW1lbW9yeSBmaWxlcy4gKi9cbiAgY29uc3QgdmlydHVhbE91dHB1dFBhdGggPSAnLyc7XG4gIGNvbnN0IHJlYWRBc3NldCA9IGFzeW5jIGZ1bmN0aW9uIChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBSZW1vdmUgbGVhZGluZyBkaXJlY3Rvcnkgc2VwYXJhdG9yXG4gICAgY29uc3QgcmVsYXRpdmVmaWxlUGF0aCA9IHBhdGgucmVsYXRpdmUodmlydHVhbE91dHB1dFBhdGgsIGZpbGVQYXRoKTtcbiAgICBjb25zdCBmaWxlID0gb3V0cHV0RmlsZXMuZmluZCgoZmlsZSkgPT4gZmlsZS5wYXRoID09PSByZWxhdGl2ZWZpbGVQYXRoKTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgcmV0dXJuIGZpbGUudGV4dDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYE91dHB1dCBmaWxlIGRvZXMgbm90IGV4aXN0OiAke3JlbGF0aXZlZmlsZVBhdGh9YCk7XG4gIH07XG5cbiAgLy8gQ3JlYXRlIGFuIGluZGV4IEhUTUwgZ2VuZXJhdG9yIHRoYXQgcmVhZHMgZnJvbSB0aGUgaW4tbWVtb3J5IG91dHB1dCBmaWxlc1xuICBjb25zdCBpbmRleEh0bWxHZW5lcmF0b3IgPSBuZXcgSW5kZXhIdG1sR2VuZXJhdG9yKHtcbiAgICBpbmRleFBhdGg6IGluZGV4SHRtbE9wdGlvbnMuaW5wdXQsXG4gICAgZW50cnlwb2ludHM6IGluZGV4SHRtbE9wdGlvbnMuaW5zZXJ0aW9uT3JkZXIsXG4gICAgc3JpOiBzdWJyZXNvdXJjZUludGVncml0eSxcbiAgICBvcHRpbWl6YXRpb246IHtcbiAgICAgIC4uLm9wdGltaXphdGlvbk9wdGlvbnMsXG4gICAgICBzdHlsZXM6IHtcbiAgICAgICAgLi4ub3B0aW1pemF0aW9uT3B0aW9ucy5zdHlsZXMsXG4gICAgICAgIGlubGluZUNyaXRpY2FsOiBmYWxzZSwgLy8gRGlzYWJsZSBjcml0aWNhbCBjc3MgaW5saW5lIGFzIGZvciBTU1IgYW5kIFNTRyB0aGlzIHdpbGwgYmUgZG9uZSBkdXJpbmcgcmVuZGVyaW5nLlxuICAgICAgfSxcbiAgICB9LFxuICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbixcbiAgfSk7XG5cbiAgaW5kZXhIdG1sR2VuZXJhdG9yLnJlYWRBc3NldCA9IHJlYWRBc3NldDtcblxuICBjb25zdCB0cmFuc2Zvcm1SZXN1bHQgPSBhd2FpdCBpbmRleEh0bWxHZW5lcmF0b3IucHJvY2Vzcyh7XG4gICAgYmFzZUhyZWYsXG4gICAgbGFuZyxcbiAgICBvdXRwdXRQYXRoOiB2aXJ0dWFsT3V0cHV0UGF0aCxcbiAgICBmaWxlczogWy4uLmluaXRpYWxGaWxlc10ubWFwKChbZmlsZSwgcmVjb3JkXSkgPT4gKHtcbiAgICAgIG5hbWU6IHJlY29yZC5uYW1lID8/ICcnLFxuICAgICAgZmlsZSxcbiAgICAgIGV4dGVuc2lvbjogcGF0aC5leHRuYW1lKGZpbGUpLFxuICAgIH0pKSxcbiAgICBoaW50cyxcbiAgfSk7XG5cbiAgY29uc3QgY29udGVudFdpdGhvdXRDcml0aWNhbENzc0lubGluZWQgPSB0cmFuc2Zvcm1SZXN1bHQuY29udGVudDtcbiAgaWYgKCFvcHRpbWl6YXRpb25PcHRpb25zLnN0eWxlcy5pbmxpbmVDcml0aWNhbCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50cmFuc2Zvcm1SZXN1bHQsXG4gICAgICBjb250ZW50V2l0aG91dENyaXRpY2FsQ3NzSW5saW5lZCxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgaW5saW5lQ3JpdGljYWxDc3NQcm9jZXNzb3IgPSBuZXcgSW5saW5lQ3JpdGljYWxDc3NQcm9jZXNzb3Ioe1xuICAgIG1pbmlmeTogZmFsc2UsIC8vIENTUyBoYXMgYWxyZWFkeSBiZWVuIG1pbmlmaWVkIGR1cmluZyB0aGUgYnVpbGQuXG4gICAgcmVhZEFzc2V0LFxuICB9KTtcblxuICBjb25zdCB7IGNvbnRlbnQsIGVycm9ycywgd2FybmluZ3MgfSA9IGF3YWl0IGlubGluZUNyaXRpY2FsQ3NzUHJvY2Vzc29yLnByb2Nlc3MoXG4gICAgY29udGVudFdpdGhvdXRDcml0aWNhbENzc0lubGluZWQsXG4gICAge1xuICAgICAgb3V0cHV0UGF0aDogdmlydHVhbE91dHB1dFBhdGgsXG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGVycm9yczogWy4uLnRyYW5zZm9ybVJlc3VsdC5lcnJvcnMsIC4uLmVycm9yc10sXG4gICAgd2FybmluZ3M6IFsuLi50cmFuc2Zvcm1SZXN1bHQud2FybmluZ3MsIC4uLndhcm5pbmdzXSxcbiAgICBjb250ZW50LFxuICAgIGNvbnRlbnRXaXRob3V0Q3JpdGljYWxDc3NJbmxpbmVkLFxuICB9O1xufVxuIl19
@@ -35,11 +35,11 @@ function createRxjsEsmResolutionPlugin() {
35
35
  pluginData,
36
36
  resolveDir,
37
37
  });
38
- result.path = result.path.replace('/dist/cjs/', '/dist/esm/');
38
+ result.path = result.path.replace(/([\\/]dist[\\/])cjs([\\/])/, '$1esm$2');
39
39
  return result;
40
40
  });
41
41
  },
42
42
  };
43
43
  }
44
44
  exports.createRxjsEsmResolutionPlugin = createRxjsEsmResolutionPlugin;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy1lc20tcmVzb2x1dGlvbi1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL3J4anMtZXNtLXJlc29sdXRpb24tcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUlILE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQiw2QkFBNkI7SUFDM0MsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsS0FBSyxDQUFDLEtBQUs7WUFDVCxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUN4RSxVQUFVLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBRXZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUM1QyxRQUFRO29CQUNSLElBQUk7b0JBQ0osU0FBUztvQkFDVCxVQUFVO29CQUNWLFVBQVU7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUU5RCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQTFCRCxzRUEwQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcblxuY29uc3QgUlhKU19FU01fUkVTT0xVVElPTiA9IFN5bWJvbCgnUlhKU19FU01fUkVTT0xVVElPTicpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBwbHVnaW4gdGhhdCBmb3JjZXMgRVNNIHJlc29sdXRpb24gb2Ygcnhqcy5cbiAqIFRoaXMgaXMgbmVlZGVkIGFzIHdoZW4gdGFyZ2V0aW5nIG5vZGUsIHRoZSBDSlMgdmVyc2lvbiBpcyB1c2VkIHRvIHRoZSBjdXJyZW50IHBhY2thZ2UgY29uZGl0aW9uYWwgZXhwb3J0cy5cbiAqIEBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9ibG9iLzI5NDc1ODNiYjMzZTk3ZjNkYjllNmQ5ZjZjZWE3MGM2MmExNzMwNjAvcGFja2FnZS5qc29uI0wxOS5cbiAqXG4gKiBOT1RFOiBUaGlzIGNhbiBiZSByZW1vdmVkIHdoZW4gYW5kIGlmIHJ4anMgYWRkcyBhbiBpbXBvcnQgY29uZGl0aW9uIHRoYXQgYWxsb3dzIEVTTSB1c2FnZSBvbiBOb2RlLmpzLlxuICpcbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUnhqc0VzbVJlc29sdXRpb25QbHVnaW4oKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnYW5ndWxhci1yeGpzLXJlc29sdXRpb24nLFxuICAgIHNldHVwKGJ1aWxkKSB7XG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC9ecnhqcy8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgaWYgKGFyZ3MucGx1Z2luRGF0YT8uW1JYSlNfRVNNX1JFU09MVVRJT05dKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGltcG9ydGVyLCBraW5kLCByZXNvbHZlRGlyLCBuYW1lc3BhY2UsIHBsdWdpbkRhdGEgPSB7fSB9ID0gYXJncztcbiAgICAgICAgcGx1Z2luRGF0YVtSWEpTX0VTTV9SRVNPTFVUSU9OXSA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGQucmVzb2x2ZShhcmdzLnBhdGgsIHtcbiAgICAgICAgICBpbXBvcnRlcixcbiAgICAgICAgICBraW5kLFxuICAgICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgICBwbHVnaW5EYXRhLFxuICAgICAgICAgIHJlc29sdmVEaXIsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlc3VsdC5wYXRoID0gcmVzdWx0LnBhdGgucmVwbGFjZSgnL2Rpc3QvY2pzLycsICcvZGlzdC9lc20vJyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy1lc20tcmVzb2x1dGlvbi1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL3J4anMtZXNtLXJlc29sdXRpb24tcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUlILE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQiw2QkFBNkI7SUFDM0MsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsS0FBSyxDQUFDLEtBQUs7WUFDVCxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUN4RSxVQUFVLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBRXZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUM1QyxRQUFRO29CQUNSLElBQUk7b0JBQ0osU0FBUztvQkFDVCxVQUFVO29CQUNWLFVBQVU7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRTNFLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBMUJELHNFQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5jb25zdCBSWEpTX0VTTV9SRVNPTFVUSU9OID0gU3ltYm9sKCdSWEpTX0VTTV9SRVNPTFVUSU9OJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHBsdWdpbiB0aGF0IGZvcmNlcyBFU00gcmVzb2x1dGlvbiBvZiByeGpzLlxuICogVGhpcyBpcyBuZWVkZWQgYXMgd2hlbiB0YXJnZXRpbmcgbm9kZSwgdGhlIENKUyB2ZXJzaW9uIGlzIHVzZWQgdG8gdGhlIGN1cnJlbnQgcGFja2FnZSBjb25kaXRpb25hbCBleHBvcnRzLlxuICogQHNlZTogaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2Jsb2IvMjk0NzU4M2JiMzNlOTdmM2RiOWU2ZDlmNmNlYTcwYzYyYTE3MzA2MC9wYWNrYWdlLmpzb24jTDE5LlxuICpcbiAqIE5PVEU6IFRoaXMgY2FuIGJlIHJlbW92ZWQgd2hlbiBhbmQgaWYgcnhqcyBhZGRzIGFuIGltcG9ydCBjb25kaXRpb24gdGhhdCBhbGxvd3MgRVNNIHVzYWdlIG9uIE5vZGUuanMuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBwbHVnaW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSeGpzRXNtUmVzb2x1dGlvblBsdWdpbigpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhbmd1bGFyLXJ4anMtcmVzb2x1dGlvbicsXG4gICAgc2V0dXAoYnVpbGQpIHtcbiAgICAgIGJ1aWxkLm9uUmVzb2x2ZSh7IGZpbHRlcjogL15yeGpzLyB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICBpZiAoYXJncy5wbHVnaW5EYXRhPy5bUlhKU19FU01fUkVTT0xVVElPTl0pIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgaW1wb3J0ZXIsIGtpbmQsIHJlc29sdmVEaXIsIG5hbWVzcGFjZSwgcGx1Z2luRGF0YSA9IHt9IH0gPSBhcmdzO1xuICAgICAgICBwbHVnaW5EYXRhW1JYSlNfRVNNX1JFU09MVVRJT05dID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZC5yZXNvbHZlKGFyZ3MucGF0aCwge1xuICAgICAgICAgIGltcG9ydGVyLFxuICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICAgIHBsdWdpbkRhdGEsXG4gICAgICAgICAgcmVzb2x2ZURpcixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVzdWx0LnBhdGggPSByZXN1bHQucGF0aC5yZXBsYWNlKC8oW1xcXFwvXWRpc3RbXFxcXC9dKWNqcyhbXFxcXC9dKS8sICckMWVzbSQyJyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -14,4 +14,4 @@ import type { Plugin } from 'esbuild';
14
14
  * For more information, see https://developer.chrome.com/articles/x-google-ignore-list/
15
15
  * @returns An esbuild plugin.
16
16
  */
17
- export declare function createSourcemapIngorelistPlugin(): Plugin;
17
+ export declare function createSourcemapIgnorelistPlugin(): Plugin;