@nx/angular-rspack 0.0.0-pr-32422-a3285be

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 (193) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +98 -0
  3. package/README.md__tpl__ +48 -0
  4. package/dist/lib/config/config-utils/browser-config.d.ts +4 -0
  5. package/dist/lib/config/config-utils/browser-config.d.ts.map +1 -0
  6. package/dist/lib/config/config-utils/browser-config.js +83 -0
  7. package/dist/lib/config/config-utils/common-config.d.ts +3 -0
  8. package/dist/lib/config/config-utils/common-config.d.ts.map +1 -0
  9. package/dist/lib/config/config-utils/common-config.js +144 -0
  10. package/dist/lib/config/config-utils/dev-server-config-utils.d.ts +4 -0
  11. package/dist/lib/config/config-utils/dev-server-config-utils.d.ts.map +1 -0
  12. package/dist/lib/config/config-utils/dev-server-config-utils.js +258 -0
  13. package/dist/lib/config/config-utils/entry-points.d.ts +9 -0
  14. package/dist/lib/config/config-utils/entry-points.d.ts.map +1 -0
  15. package/dist/lib/config/config-utils/entry-points.js +36 -0
  16. package/dist/lib/config/config-utils/get-stats-options.d.ts +3 -0
  17. package/dist/lib/config/config-utils/get-stats-options.d.ts.map +1 -0
  18. package/dist/lib/config/config-utils/get-stats-options.js +39 -0
  19. package/dist/lib/config/config-utils/helpers.d.ts +13 -0
  20. package/dist/lib/config/config-utils/helpers.d.ts.map +1 -0
  21. package/dist/lib/config/config-utils/helpers.js +106 -0
  22. package/dist/lib/config/config-utils/optimization-config.d.ts +5 -0
  23. package/dist/lib/config/config-utils/optimization-config.d.ts.map +1 -0
  24. package/dist/lib/config/config-utils/optimization-config.js +69 -0
  25. package/dist/lib/config/config-utils/server-config.d.ts +4 -0
  26. package/dist/lib/config/config-utils/server-config.d.ts.map +1 -0
  27. package/dist/lib/config/config-utils/server-config.js +92 -0
  28. package/dist/lib/config/config-utils/sourcemap-utils.d.ts +7 -0
  29. package/dist/lib/config/config-utils/sourcemap-utils.d.ts.map +1 -0
  30. package/dist/lib/config/config-utils/sourcemap-utils.js +48 -0
  31. package/dist/lib/config/config-utils/style-config-utils.d.ts +7 -0
  32. package/dist/lib/config/config-utils/style-config-utils.d.ts.map +1 -0
  33. package/dist/lib/config/config-utils/style-config-utils.js +353 -0
  34. package/dist/lib/config/config-utils/user-defined-config-helpers.d.ts +73 -0
  35. package/dist/lib/config/config-utils/user-defined-config-helpers.d.ts.map +1 -0
  36. package/dist/lib/config/config-utils/user-defined-config-helpers.js +23 -0
  37. package/dist/lib/config/create-config.d.ts +11 -0
  38. package/dist/lib/config/create-config.d.ts.map +1 -0
  39. package/dist/lib/config/create-config.js +35 -0
  40. package/dist/lib/config/i18n/create-i18n-options.d.ts +6 -0
  41. package/dist/lib/config/i18n/create-i18n-options.d.ts.map +1 -0
  42. package/dist/lib/config/i18n/create-i18n-options.js +124 -0
  43. package/dist/lib/index.d.ts +7 -0
  44. package/dist/lib/index.d.ts.map +1 -0
  45. package/dist/lib/index.js +14 -0
  46. package/dist/lib/models/angular-rspack-plugin-options.d.ts +344 -0
  47. package/dist/lib/models/angular-rspack-plugin-options.d.ts.map +1 -0
  48. package/dist/lib/models/angular-rspack-plugin-options.js +2 -0
  49. package/dist/lib/models/augmented-compilation.d.ts +13 -0
  50. package/dist/lib/models/augmented-compilation.d.ts.map +1 -0
  51. package/dist/lib/models/augmented-compilation.js +4 -0
  52. package/dist/lib/models/i18n.d.ts +33 -0
  53. package/dist/lib/models/i18n.d.ts.map +1 -0
  54. package/dist/lib/models/i18n.js +41 -0
  55. package/dist/lib/models/index.d.ts +5 -0
  56. package/dist/lib/models/index.d.ts.map +1 -0
  57. package/dist/lib/models/index.js +7 -0
  58. package/dist/lib/models/normalize-options.d.ts +16 -0
  59. package/dist/lib/models/normalize-options.d.ts.map +1 -0
  60. package/dist/lib/models/normalize-options.js +424 -0
  61. package/dist/lib/plugins/angular-rspack-plugin.d.ts +9 -0
  62. package/dist/lib/plugins/angular-rspack-plugin.d.ts.map +1 -0
  63. package/dist/lib/plugins/angular-rspack-plugin.js +234 -0
  64. package/dist/lib/plugins/angular-ssr-dev-server.d.ts +8 -0
  65. package/dist/lib/plugins/angular-ssr-dev-server.d.ts.map +1 -0
  66. package/dist/lib/plugins/angular-ssr-dev-server.js +62 -0
  67. package/dist/lib/plugins/any-component-style-budget-checker-plugin.d.ts +19 -0
  68. package/dist/lib/plugins/any-component-style-budget-checker-plugin.d.ts.map +1 -0
  69. package/dist/lib/plugins/any-component-style-budget-checker-plugin.js +64 -0
  70. package/dist/lib/plugins/client/ssr-reload-client.d.ts +2 -0
  71. package/dist/lib/plugins/client/ssr-reload-client.d.ts.map +1 -0
  72. package/dist/lib/plugins/client/ssr-reload-client.js +15 -0
  73. package/dist/lib/plugins/i18n-inline-plugin.d.ts +8 -0
  74. package/dist/lib/plugins/i18n-inline-plugin.d.ts.map +1 -0
  75. package/dist/lib/plugins/i18n-inline-plugin.js +201 -0
  76. package/dist/lib/plugins/index-html-plugin.d.ts +21 -0
  77. package/dist/lib/plugins/index-html-plugin.d.ts.map +1 -0
  78. package/dist/lib/plugins/index-html-plugin.js +107 -0
  79. package/dist/lib/plugins/loaders/angular-partial-transform.loader.d.ts +3 -0
  80. package/dist/lib/plugins/loaders/angular-partial-transform.loader.d.ts.map +1 -0
  81. package/dist/lib/plugins/loaders/angular-partial-transform.loader.js +39 -0
  82. package/dist/lib/plugins/loaders/angular-transform.loader.d.ts +7 -0
  83. package/dist/lib/plugins/loaders/angular-transform.loader.d.ts.map +1 -0
  84. package/dist/lib/plugins/loaders/angular-transform.loader.js +40 -0
  85. package/dist/lib/plugins/loaders/hmr-accept-loader.d.ts +11 -0
  86. package/dist/lib/plugins/loaders/hmr-accept-loader.d.ts.map +1 -0
  87. package/dist/lib/plugins/loaders/hmr-accept-loader.js +24 -0
  88. package/dist/lib/plugins/loaders/hmr-accept.d.ts +9 -0
  89. package/dist/lib/plugins/loaders/hmr-accept.d.ts.map +1 -0
  90. package/dist/lib/plugins/loaders/hmr-accept.js +183 -0
  91. package/dist/lib/plugins/loaders/platform-server-exports.loader.d.ts +5 -0
  92. package/dist/lib/plugins/loaders/platform-server-exports.loader.d.ts.map +1 -0
  93. package/dist/lib/plugins/loaders/platform-server-exports.loader.js +18 -0
  94. package/dist/lib/plugins/ng-rspack.d.ts +13 -0
  95. package/dist/lib/plugins/ng-rspack.d.ts.map +1 -0
  96. package/dist/lib/plugins/ng-rspack.js +134 -0
  97. package/dist/lib/plugins/prerender-plugin.d.ts +8 -0
  98. package/dist/lib/plugins/prerender-plugin.d.ts.map +1 -0
  99. package/dist/lib/plugins/prerender-plugin.js +216 -0
  100. package/dist/lib/plugins/progress-plugin.d.ts +12 -0
  101. package/dist/lib/plugins/progress-plugin.d.ts.map +1 -0
  102. package/dist/lib/plugins/progress-plugin.js +36 -0
  103. package/dist/lib/plugins/rxjs-esm-resolution.d.ts +5 -0
  104. package/dist/lib/plugins/rxjs-esm-resolution.d.ts.map +1 -0
  105. package/dist/lib/plugins/rxjs-esm-resolution.js +15 -0
  106. package/dist/lib/plugins/server/ssr-reload-server.d.ts +6 -0
  107. package/dist/lib/plugins/server/ssr-reload-server.d.ts.map +1 -0
  108. package/dist/lib/plugins/server/ssr-reload-server.js +21 -0
  109. package/dist/lib/plugins/stats-json-plugin.d.ts +14 -0
  110. package/dist/lib/plugins/stats-json-plugin.d.ts.map +1 -0
  111. package/dist/lib/plugins/stats-json-plugin.js +69 -0
  112. package/dist/lib/plugins/suppress-js-for-css-chunks-plugin.d.ts +5 -0
  113. package/dist/lib/plugins/suppress-js-for-css-chunks-plugin.d.ts.map +1 -0
  114. package/dist/lib/plugins/suppress-js-for-css-chunks-plugin.js +34 -0
  115. package/dist/lib/plugins/tools/dev-tools-ignore-plugin.d.ts +17 -0
  116. package/dist/lib/plugins/tools/dev-tools-ignore-plugin.d.ts.map +1 -0
  117. package/dist/lib/plugins/tools/dev-tools-ignore-plugin.js +57 -0
  118. package/dist/lib/plugins/tools/render-worker.d.ts +31 -0
  119. package/dist/lib/plugins/tools/render-worker.d.ts.map +1 -0
  120. package/dist/lib/plugins/tools/render-worker.js +105 -0
  121. package/dist/lib/plugins/tools/routes-extractor-worker.d.ts +21 -0
  122. package/dist/lib/plugins/tools/routes-extractor-worker.d.ts.map +1 -0
  123. package/dist/lib/plugins/tools/routes-extractor-worker.js +48 -0
  124. package/dist/lib/plugins/tools/worker-pool.d.ts +13 -0
  125. package/dist/lib/plugins/tools/worker-pool.d.ts.map +1 -0
  126. package/dist/lib/plugins/tools/worker-pool.js +23 -0
  127. package/dist/lib/plugins/transfer-size-plugin.d.ts +12 -0
  128. package/dist/lib/plugins/transfer-size-plugin.d.ts.map +1 -0
  129. package/dist/lib/plugins/transfer-size-plugin.js +49 -0
  130. package/dist/lib/plugins/watch-file-logs-plugin.d.ts +12 -0
  131. package/dist/lib/plugins/watch-file-logs-plugin.d.ts.map +1 -0
  132. package/dist/lib/plugins/watch-file-logs-plugin.js +27 -0
  133. package/dist/lib/utils/async-chunks.d.ts +17 -0
  134. package/dist/lib/utils/async-chunks.d.ts.map +1 -0
  135. package/dist/lib/utils/async-chunks.js +44 -0
  136. package/dist/lib/utils/color.d.ts +11 -0
  137. package/dist/lib/utils/color.d.ts.map +1 -0
  138. package/dist/lib/utils/color.js +41 -0
  139. package/dist/lib/utils/find-project-for-path.d.ts +16 -0
  140. package/dist/lib/utils/find-project-for-path.d.ts.map +1 -0
  141. package/dist/lib/utils/find-project-for-path.js +42 -0
  142. package/dist/lib/utils/get-locale-base-href.d.ts +3 -0
  143. package/dist/lib/utils/get-locale-base-href.d.ts.map +1 -0
  144. package/dist/lib/utils/get-locale-base-href.js +17 -0
  145. package/dist/lib/utils/graph.d.ts +3 -0
  146. package/dist/lib/utils/graph.d.ts.map +1 -0
  147. package/dist/lib/utils/graph.js +25 -0
  148. package/dist/lib/utils/i18n.d.ts +4 -0
  149. package/dist/lib/utils/i18n.d.ts.map +1 -0
  150. package/dist/lib/utils/i18n.js +25 -0
  151. package/dist/lib/utils/index-file/add-body-script.d.ts +2 -0
  152. package/dist/lib/utils/index-file/add-body-script.d.ts.map +1 -0
  153. package/dist/lib/utils/index-file/add-body-script.js +15 -0
  154. package/dist/lib/utils/index-file/add-event-dispatch-contract.d.ts +9 -0
  155. package/dist/lib/utils/index-file/add-event-dispatch-contract.d.ts.map +1 -0
  156. package/dist/lib/utils/index-file/add-event-dispatch-contract.js +27 -0
  157. package/dist/lib/utils/index-file/get-index-input-file.d.ts +3 -0
  158. package/dist/lib/utils/index-file/get-index-input-file.d.ts.map +1 -0
  159. package/dist/lib/utils/index-file/get-index-input-file.js +9 -0
  160. package/dist/lib/utils/index-file/get-index-output-file.d.ts +3 -0
  161. package/dist/lib/utils/index-file/get-index-output-file.d.ts.map +1 -0
  162. package/dist/lib/utils/index-file/get-index-output-file.js +10 -0
  163. package/dist/lib/utils/index-file/html-rewriting-stream.d.ts +16 -0
  164. package/dist/lib/utils/index-file/html-rewriting-stream.d.ts.map +1 -0
  165. package/dist/lib/utils/index-file/html-rewriting-stream.js +27 -0
  166. package/dist/lib/utils/max-workers.d.ts +2 -0
  167. package/dist/lib/utils/max-workers.d.ts.map +1 -0
  168. package/dist/lib/utils/max-workers.js +21 -0
  169. package/dist/lib/utils/misc-helpers.d.ts +7 -0
  170. package/dist/lib/utils/misc-helpers.d.ts.map +1 -0
  171. package/dist/lib/utils/misc-helpers.js +34 -0
  172. package/dist/lib/utils/postcss-cli-resources.d.ts +22 -0
  173. package/dist/lib/utils/postcss-cli-resources.d.ts.map +1 -0
  174. package/dist/lib/utils/postcss-cli-resources.js +159 -0
  175. package/dist/lib/utils/postcss-configuration.d.ts +18 -0
  176. package/dist/lib/utils/postcss-configuration.d.ts.map +1 -0
  177. package/dist/lib/utils/postcss-configuration.js +92 -0
  178. package/dist/lib/utils/rspack-diagnostics.d.ts +4 -0
  179. package/dist/lib/utils/rspack-diagnostics.d.ts.map +1 -0
  180. package/dist/lib/utils/rspack-diagnostics.js +22 -0
  181. package/dist/lib/utils/spinner.d.ts +21 -0
  182. package/dist/lib/utils/spinner.d.ts.map +1 -0
  183. package/dist/lib/utils/spinner.js +54 -0
  184. package/dist/lib/utils/stats.d.ts +35 -0
  185. package/dist/lib/utils/stats.d.ts.map +1 -0
  186. package/dist/lib/utils/stats.js +313 -0
  187. package/dist/lib/utils/tty.d.ts +9 -0
  188. package/dist/lib/utils/tty.d.ts.map +1 -0
  189. package/dist/lib/utils/tty.js +22 -0
  190. package/dist/lib/utils/url-join.d.ts +9 -0
  191. package/dist/lib/utils/url-join.d.ts.map +1 -0
  192. package/dist/lib/utils/url-join.js +17 -0
  193. package/package.json +150 -0
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { LoaderContext, LoaderDefinitionFunction } from '@rspack/core';
9
+ export declare const HmrLoader: string;
10
+ export default function localizeExtractLoader(this: LoaderContext, content: string, map: Parameters<LoaderDefinitionFunction>[1]): void;
11
+ //# sourceMappingURL=hmr-accept-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-accept-loader.d.ts","sourceRoot":"","sources":["../../../../src/lib/plugins/loaders/hmr-accept-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEvE,eAAO,MAAM,SAAS,QAAa,CAAC;AAGpC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAY7C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.HmrLoader = void 0;
11
+ exports.default = localizeExtractLoader;
12
+ const node_path_1 = require("node:path");
13
+ exports.HmrLoader = __filename;
14
+ const hmrAcceptPath = (0, node_path_1.join)(__dirname, './hmr-accept.js').replace(/\\/g, '/');
15
+ function localizeExtractLoader(content, map) {
16
+ const source = `${content}
17
+
18
+ // HMR Accept Code
19
+ import ngHmrAccept from '${hmrAcceptPath}';
20
+ ngHmrAccept(module);
21
+ `;
22
+ this.callback(null, source, map);
23
+ return;
24
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ export default function (mod: any): void;
9
+ //# sourceMappingURL=hmr-accept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-accept.d.ts","sourceRoot":"","sources":["../../../../src/lib/plugins/loaders/hmr-accept.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,GAAG,GAAG,IAAI,CA+FvC"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.default = default_1;
11
+ const core_1 = require("@angular/core");
12
+ const rxjs_1 = require("rxjs");
13
+ function default_1(mod) {
14
+ if (!mod['hot']) {
15
+ return;
16
+ }
17
+ if (!(0, core_1.isDevMode)()) {
18
+ console.error(`[NG HMR] Cannot use HMR when Angular is running in production mode. To prevent production mode, do not call 'enableProdMode()'.`);
19
+ return;
20
+ }
21
+ mod['hot'].accept();
22
+ mod['hot'].dispose(() => {
23
+ if (typeof ng === 'undefined') {
24
+ console.warn(`[NG HMR] Cannot find global 'ng'. Likely this is caused because scripts optimization is enabled.`);
25
+ return;
26
+ }
27
+ if (!ng.getInjector) {
28
+ // View Engine
29
+ return;
30
+ }
31
+ // Reset JIT compiled components cache
32
+ (0, core_1.ɵresetCompiledComponents)();
33
+ const appRoot = getAppRoot();
34
+ if (!appRoot) {
35
+ return;
36
+ }
37
+ const appRef = getApplicationRef(appRoot);
38
+ if (!appRef) {
39
+ return;
40
+ }
41
+ // Inputs that are hidden should be ignored
42
+ const oldInputs = document.querySelectorAll('input:not([type="hidden"]), textarea');
43
+ const oldOptions = document.querySelectorAll('option');
44
+ // Create new application
45
+ appRef.components.forEach((cp) => {
46
+ const element = cp.location.nativeElement;
47
+ const parentNode = element.parentNode;
48
+ parentNode.insertBefore(document.createElement(element.tagName), element);
49
+ parentNode.removeChild(element);
50
+ });
51
+ // Destroy old application, injectors, <style..., etc..
52
+ const platformRef = getPlatformRef(appRoot);
53
+ if (platformRef) {
54
+ platformRef.destroy();
55
+ }
56
+ // Restore all inputs and options
57
+ const bodyElement = document.body;
58
+ if (oldInputs.length + oldOptions.length === 0 || !bodyElement) {
59
+ return;
60
+ }
61
+ // Use a `MutationObserver` to wait until the app-root element has been bootstrapped.
62
+ // ie: when the ng-version attribute is added.
63
+ new MutationObserver((_mutationsList, observer) => {
64
+ observer.disconnect();
65
+ const newAppRoot = getAppRoot();
66
+ if (!newAppRoot) {
67
+ return;
68
+ }
69
+ const newAppRef = getApplicationRef(newAppRoot);
70
+ if (!newAppRef) {
71
+ return;
72
+ }
73
+ // Wait until the application isStable to restore the form values
74
+ newAppRef.isStable
75
+ .pipe((0, rxjs_1.filter)((isStable) => !!isStable), (0, rxjs_1.take)(1))
76
+ .subscribe(() => restoreFormValues(oldInputs, oldOptions));
77
+ }).observe(bodyElement, {
78
+ attributes: true,
79
+ subtree: true,
80
+ attributeFilter: ['ng-version'],
81
+ });
82
+ });
83
+ }
84
+ function getAppRoot() {
85
+ const appRoot = document.querySelector('[ng-version]');
86
+ if (!appRoot) {
87
+ console.warn('[NG HMR] Cannot find the application root component.');
88
+ return undefined;
89
+ }
90
+ return appRoot;
91
+ }
92
+ function getToken(appRoot, token) {
93
+ return ((typeof ng === 'object' && ng.getInjector(appRoot).get(token)) || undefined);
94
+ }
95
+ function getApplicationRef(appRoot) {
96
+ const appRef = getToken(appRoot, core_1.ApplicationRef);
97
+ if (!appRef) {
98
+ console.warn(`[NG HMR] Cannot get 'ApplicationRef'.`);
99
+ return undefined;
100
+ }
101
+ return appRef;
102
+ }
103
+ function getPlatformRef(appRoot) {
104
+ const platformRef = getToken(appRoot, core_1.PlatformRef);
105
+ if (!platformRef) {
106
+ console.warn(`[NG HMR] Cannot get 'PlatformRef'.`);
107
+ return undefined;
108
+ }
109
+ return platformRef;
110
+ }
111
+ function dispatchEvents(element) {
112
+ element.dispatchEvent(new Event('input', {
113
+ bubbles: true,
114
+ cancelable: true,
115
+ }));
116
+ element.blur();
117
+ element.dispatchEvent(new KeyboardEvent('keyup', { key: 'Enter' }));
118
+ }
119
+ function restoreFormValues(oldInputs, oldOptions) {
120
+ // Restore input that are not hidden
121
+ const newInputs = document.querySelectorAll('input:not([type="hidden"]), textarea');
122
+ if (newInputs.length && newInputs.length === oldInputs.length) {
123
+ console.log('[NG HMR] Restoring input/textarea values.');
124
+ for (let index = 0; index < newInputs.length; index++) {
125
+ const newElement = newInputs[index];
126
+ const oldElement = oldInputs[index];
127
+ switch (oldElement.type) {
128
+ case 'button':
129
+ case 'image':
130
+ case 'submit':
131
+ case 'reset':
132
+ // These types don't need any value change.
133
+ continue;
134
+ case 'radio':
135
+ case 'checkbox':
136
+ newElement.checked = oldElement.checked;
137
+ break;
138
+ case 'color':
139
+ case 'date':
140
+ case 'datetime-local':
141
+ case 'email':
142
+ case 'hidden':
143
+ case 'month':
144
+ case 'number':
145
+ case 'password':
146
+ case 'range':
147
+ case 'search':
148
+ case 'tel':
149
+ case 'text':
150
+ case 'textarea':
151
+ case 'time':
152
+ case 'url':
153
+ case 'week':
154
+ newElement.value = oldElement.value;
155
+ break;
156
+ case 'file':
157
+ // Ignored due: Uncaught DOMException: Failed to set the 'value' property on 'HTMLInputElement':
158
+ // This input element accepts a filename, which may only be programmatically set to the empty string.
159
+ break;
160
+ default:
161
+ console.warn('[NG HMR] Unknown input type ' + oldElement.type + '.');
162
+ continue;
163
+ }
164
+ dispatchEvents(newElement);
165
+ }
166
+ }
167
+ else if (oldInputs.length) {
168
+ console.warn('[NG HMR] Cannot restore input/textarea values.');
169
+ }
170
+ // Restore option
171
+ const newOptions = document.querySelectorAll('option');
172
+ if (newOptions.length && newOptions.length === oldOptions.length) {
173
+ console.log('[NG HMR] Restoring selected options.');
174
+ for (let index = 0; index < newOptions.length; index++) {
175
+ const newElement = newOptions[index];
176
+ newElement.selected = oldOptions[index].selected;
177
+ dispatchEvents(newElement);
178
+ }
179
+ }
180
+ else if (oldOptions.length) {
181
+ console.warn('[NG HMR] Cannot restore selected options.');
182
+ }
183
+ }
@@ -0,0 +1,5 @@
1
+ import { type LoaderContext, type LoaderDefinitionFunction } from '@rspack/core';
2
+ export default function loader(this: LoaderContext<{
3
+ angularSSRInstalled: boolean;
4
+ }>, content: string, map: Parameters<LoaderDefinitionFunction>[1]): void;
5
+ //# sourceMappingURL=platform-server-exports.loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-server-exports.loader.d.ts","sourceRoot":"","sources":["../../../../src/lib/plugins/loaders/platform-server-exports.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,IAAI,EAAE,aAAa,CAAC;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,CAAC,EACrD,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAmB7C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = loader;
4
+ function loader(content, map) {
5
+ const { angularSSRInstalled } = this.getOptions();
6
+ let source = `${content}
7
+
8
+ // EXPORTS added by @nx/angular-rspack
9
+ export { renderApplication, renderModule, ɵSERVER_CONTEXT } from '@angular/platform-server';
10
+ `;
11
+ if (angularSSRInstalled) {
12
+ source += `
13
+ export { ɵgetRoutesFromAngularRouterConfig } from '@angular/ssr';
14
+ `;
15
+ }
16
+ this.callback(null, source, map);
17
+ return;
18
+ }
@@ -0,0 +1,13 @@
1
+ import { Compiler, RspackPluginInstance } from '@rspack/core';
2
+ import type { I18nOptions, NormalizedAngularRspackPluginOptions } from '../models';
3
+ export declare class NgRspackPlugin implements RspackPluginInstance {
4
+ readonly pluginOptions: NormalizedAngularRspackPluginOptions;
5
+ readonly isPlatformServer: boolean;
6
+ readonly i18n: I18nOptions;
7
+ constructor(pluginOptions: NormalizedAngularRspackPluginOptions, extraOptions: {
8
+ platform: 'browser' | 'server';
9
+ i18nOptions: I18nOptions;
10
+ });
11
+ apply(compiler: Compiler): void;
12
+ }
13
+ //# sourceMappingURL=ng-rspack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-rspack.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/ng-rspack.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGR,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,WAAW,EACX,oCAAoC,EACrC,MAAM,WAAW,CAAC;AASnB,qBAAa,cAAe,YAAW,oBAAoB;IACzD,QAAQ,CAAC,aAAa,EAAE,oCAAoC,CAAC;IAC7D,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAGzB,aAAa,EAAE,oCAAoC,EACnD,YAAY,EAAE;QACZ,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC/B,WAAW,EAAE,WAAW,CAAC;KAC1B;IAOH,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAgJzB"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NgRspackPlugin = void 0;
4
+ const core_1 = require("@rspack/core");
5
+ const node_path_1 = require("node:path");
6
+ const entry_points_1 = require("../config/config-utils/entry-points");
7
+ const angular_rspack_plugin_1 = require("./angular-rspack-plugin");
8
+ const angular_ssr_dev_server_1 = require("./angular-ssr-dev-server");
9
+ const i18n_inline_plugin_1 = require("./i18n-inline-plugin");
10
+ const index_html_plugin_1 = require("./index-html-plugin");
11
+ const rxjs_esm_resolution_1 = require("./rxjs-esm-resolution");
12
+ const progress_plugin_1 = require("./progress-plugin");
13
+ const misc_helpers_1 = require("../utils/misc-helpers");
14
+ class NgRspackPlugin {
15
+ constructor(pluginOptions, extraOptions) {
16
+ this.pluginOptions = pluginOptions;
17
+ this.i18n = extraOptions.i18nOptions;
18
+ this.isPlatformServer = extraOptions.platform === 'server';
19
+ }
20
+ apply(compiler) {
21
+ const root = this.pluginOptions.root;
22
+ const isDevServer = process.env['WEBPACK_SERVE'];
23
+ if (this.isPlatformServer && isDevServer) {
24
+ if (this.pluginOptions.ssr &&
25
+ typeof this.pluginOptions.ssr === 'object' &&
26
+ this.pluginOptions.ssr.entry !== undefined) {
27
+ new angular_ssr_dev_server_1.AngularSsrDevServer(this.pluginOptions).apply(compiler);
28
+ }
29
+ }
30
+ if (!isDevServer && this.pluginOptions.progress) {
31
+ new progress_plugin_1.ProgressPlugin(this.isPlatformServer ? 'server' : 'browser').apply(compiler);
32
+ }
33
+ new core_1.DefinePlugin({
34
+ ...(this.pluginOptions.optimization.scripts
35
+ ? { ngDevMode: 'false' }
36
+ : {}),
37
+ ngJitMode: this.pluginOptions.aot ? undefined : 'true',
38
+ ngServerMode: this.isPlatformServer,
39
+ ngHmrMode: this.pluginOptions.devServer?.hmr && isDevServer ? 'true' : 'false',
40
+ ...(this.pluginOptions.define ?? {}),
41
+ }).apply(compiler);
42
+ if (this.pluginOptions.assets && !this.isPlatformServer) {
43
+ new core_1.CopyRspackPlugin({
44
+ patterns: (this.pluginOptions.assets ?? []).map((asset) => {
45
+ let { input, output = '' } = asset;
46
+ input = (0, node_path_1.resolve)(root, input).replace(/\\/g, '/');
47
+ input = input.endsWith('/') ? input : input + '/';
48
+ output = output.endsWith('/') ? output : output + '/';
49
+ if (output.startsWith('..')) {
50
+ throw new Error('An asset cannot be written to a location outside of the output path.');
51
+ }
52
+ return {
53
+ context: input,
54
+ to: output.replace(/^\//, ''),
55
+ from: asset.glob,
56
+ noErrorOnMissing: true,
57
+ force: true,
58
+ globOptions: {
59
+ dot: true,
60
+ ignore: [
61
+ '**/.gitkeep',
62
+ '**/.DS_Store',
63
+ '**/Thumbs.db',
64
+ ...(asset.ignore ?? []),
65
+ ],
66
+ },
67
+ };
68
+ }),
69
+ }).apply(compiler);
70
+ }
71
+ if (this.pluginOptions.extractLicenses) {
72
+ const { LicenseWebpackPlugin } = require('license-webpack-plugin');
73
+ new LicenseWebpackPlugin({
74
+ stats: {
75
+ warnings: false,
76
+ errors: false,
77
+ },
78
+ perChunkOutput: false,
79
+ outputFilename: node_path_1.posix.join((0, node_path_1.relative)(this.pluginOptions.outputPath.browser, this.pluginOptions.outputPath.base), '3rdpartylicenses.txt'),
80
+ skipChildCompilers: true,
81
+ }).apply(compiler);
82
+ }
83
+ if (this.i18n.shouldInline) {
84
+ new i18n_inline_plugin_1.I18nInlinePlugin(this.pluginOptions, this.i18n).apply(compiler);
85
+ }
86
+ new rxjs_esm_resolution_1.RxjsEsmResolutionPlugin().apply(compiler);
87
+ new angular_rspack_plugin_1.AngularRspackPlugin(this.pluginOptions, this.i18n).apply(compiler);
88
+ if (!this.isPlatformServer && this.pluginOptions.index) {
89
+ new index_html_plugin_1.IndexHtmlPlugin({
90
+ indexPath: this.pluginOptions.index.input,
91
+ index: this.pluginOptions.index,
92
+ baseHref: this.pluginOptions.baseHref,
93
+ outputPath: this.pluginOptions.outputPath.browser,
94
+ entrypoints: (0, entry_points_1.getEntryPoints)(this.pluginOptions.globalStyles, this.pluginOptions.globalScripts, this.pluginOptions.devServer?.hmr),
95
+ i18n: this.i18n,
96
+ optimization: this.pluginOptions.optimization,
97
+ postTransform: this.pluginOptions.index.transformer,
98
+ isSsr: !!(this.pluginOptions.ssr ||
99
+ this.pluginOptions.prerender ||
100
+ this.pluginOptions.appShell),
101
+ deployUrl: this.pluginOptions.deployUrl,
102
+ crossOrigin: this.pluginOptions.crossOrigin,
103
+ sri: this.pluginOptions.subresourceIntegrity,
104
+ }).apply(compiler);
105
+ }
106
+ if (this.pluginOptions.devServer.open &&
107
+ isDevServer &&
108
+ !this.isPlatformServer) {
109
+ compiler.hooks.afterEmit.tapAsync('AngularRspackPlugin', async (_, callback) => {
110
+ const protocol = this.pluginOptions.devServer.ssl ? 'https' : 'http';
111
+ const hostname = this.pluginOptions.devServer.host === '0.0.0.0'
112
+ ? 'localhost'
113
+ : this.pluginOptions.devServer.host;
114
+ const port = this.pluginOptions.devServer.port;
115
+ const pathname = typeof compiler.options.devServer?.devMiddleware?.publicPath ===
116
+ 'string'
117
+ ? compiler.options.devServer?.devMiddleware?.publicPath
118
+ : undefined;
119
+ const serverAddress = new URL(`${protocol}://${hostname}:${port}`);
120
+ if (pathname) {
121
+ // Ensure pathname starts with a slash
122
+ serverAddress.pathname = pathname.startsWith('/')
123
+ ? pathname
124
+ : `/${pathname}`;
125
+ }
126
+ const open = (await (0, misc_helpers_1.loadEsmModule)('open'))
127
+ .default;
128
+ await open(serverAddress.toString());
129
+ callback();
130
+ });
131
+ }
132
+ }
133
+ }
134
+ exports.NgRspackPlugin = NgRspackPlugin;
@@ -0,0 +1,8 @@
1
+ import { type Compiler, RspackPluginInstance } from '@rspack/core';
2
+ import { type I18nOptions, NormalizedAngularRspackPluginOptions } from '../models';
3
+ export declare class PrerenderPlugin implements RspackPluginInstance {
4
+ #private;
5
+ constructor(options: NormalizedAngularRspackPluginOptions, i18nOptions?: I18nOptions);
6
+ apply(compiler: Compiler): void;
7
+ }
8
+ //# sourceMappingURL=prerender-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerender-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/plugins/prerender-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOhF,OAAO,EACL,KAAK,WAAW,EAEhB,oCAAoC,EACrC,MAAM,WAAW,CAAC;AAenB,qBAAa,eAAgB,YAAW,oBAAoB;;gBAKxD,OAAO,EAAE,oCAAoC,EAC7C,WAAW,CAAC,EAAE,WAAW;IAM3B,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAwQzB"}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ var _PrerenderPlugin_instances, _PrerenderPlugin__options, _PrerenderPlugin_i18n, _PrerenderPlugin_prerenderAppShell, _PrerenderPlugin_prerenderSSGUniversal, _PrerenderPlugin_getRoutes, _PrerenderPlugin_normalizePrerenderOptions, _PrerenderPlugin_resolveZonePackage;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PrerenderPlugin = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const private_1 = require("@angular/build/private");
7
+ const devkit_1 = require("@nx/devkit");
8
+ const fs_1 = require("fs");
9
+ const promises_1 = require("fs/promises");
10
+ const path_1 = require("path");
11
+ const assert_1 = tslib_1.__importDefault(require("assert"));
12
+ const get_index_output_file_1 = require("../utils/index-file/get-index-output-file");
13
+ const worker_pool_1 = require("./tools/worker-pool");
14
+ const max_workers_1 = require("../utils/max-workers");
15
+ const i18n_1 = require("../utils/i18n");
16
+ const rspack_diagnostics_1 = require("../utils/rspack-diagnostics");
17
+ const misc_helpers_1 = require("../utils/misc-helpers");
18
+ class RoutesSet extends Set {
19
+ add(value) {
20
+ return super.add(value.charAt(0) === '/' ? value.slice(1) : value);
21
+ }
22
+ }
23
+ class PrerenderPlugin {
24
+ constructor(options, i18nOptions) {
25
+ _PrerenderPlugin_instances.add(this);
26
+ _PrerenderPlugin__options.set(this, void 0);
27
+ _PrerenderPlugin_i18n.set(this, void 0);
28
+ tslib_1.__classPrivateFieldSet(this, _PrerenderPlugin__options, options, "f");
29
+ tslib_1.__classPrivateFieldSet(this, _PrerenderPlugin_i18n, i18nOptions, "f");
30
+ }
31
+ apply(compiler) {
32
+ compiler.hooks.afterEmit.tapAsync('Angular Rspack', async (compilation, callback) => {
33
+ if (tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").appShell) {
34
+ await tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_prerenderAppShell).call(this, compilation);
35
+ }
36
+ if (tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").prerender) {
37
+ await tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_prerenderSSGUniversal).call(this, compilation);
38
+ }
39
+ callback();
40
+ });
41
+ }
42
+ }
43
+ exports.PrerenderPlugin = PrerenderPlugin;
44
+ _PrerenderPlugin__options = new WeakMap(), _PrerenderPlugin_i18n = new WeakMap(), _PrerenderPlugin_instances = new WeakSet(), _PrerenderPlugin_prerenderAppShell = async function _PrerenderPlugin_prerenderAppShell(compilation) {
45
+ // Users can specify a different base html file e.g. "src/home.html"
46
+ const indexFile = (0, get_index_output_file_1.getIndexOutputFile)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").index);
47
+ const worker = new worker_pool_1.WorkerPool({
48
+ filename: require.resolve('./tools/render-worker'),
49
+ maxThreads: (0, max_workers_1.maxWorkers)(),
50
+ workerData: {
51
+ zonePackage: tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_resolveZonePackage).call(this, devkit_1.workspaceRoot),
52
+ },
53
+ recordTiming: false,
54
+ });
55
+ try {
56
+ const outputPaths = tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f")
57
+ ? (0, i18n_1.ensureOutputPaths)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser, tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f"))
58
+ : new Map([['', tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser]]);
59
+ const localeOutputPaths = tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f")
60
+ ? (0, i18n_1.getLocaleOutputPaths)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f"))
61
+ : new Map();
62
+ for (const [locale, outputPath] of outputPaths.entries()) {
63
+ const normalizedOutputPath = (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser, outputPath);
64
+ const serverBundlePath = locale
65
+ ? (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.server, localeOutputPaths.get(locale), 'server.js')
66
+ : (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.server, 'server.js');
67
+ if (!(0, fs_1.existsSync)(serverBundlePath)) {
68
+ throw new Error(`Could not find the main bundle: ${serverBundlePath}`);
69
+ }
70
+ try {
71
+ const options = {
72
+ indexFile,
73
+ deployUrl: tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").deployUrl || '',
74
+ inlineCriticalCss: !!tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").optimization.styles.inlineCritical,
75
+ minifyCss: !!tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").optimization.styles.minify,
76
+ outputPath: normalizedOutputPath,
77
+ route: '/',
78
+ serverBundlePath,
79
+ };
80
+ const { errors, warnings } = await worker.run(options);
81
+ errors?.forEach((e) => (0, rspack_diagnostics_1.addError)(compilation, e));
82
+ warnings?.forEach((e) => (0, rspack_diagnostics_1.addWarning)(compilation, e));
83
+ }
84
+ catch (error) {
85
+ (0, misc_helpers_1.assertIsError)(error);
86
+ (0, rspack_diagnostics_1.addError)(compilation, error.message);
87
+ }
88
+ if (tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").serviceWorker && tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").ngswConfigPath) {
89
+ try {
90
+ await (0, private_1.augmentAppWithServiceWorker)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").root, devkit_1.workspaceRoot, outputPath, tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").baseHref || '/', tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").ngswConfigPath);
91
+ }
92
+ catch (error) {
93
+ (0, misc_helpers_1.assertIsError)(error);
94
+ (0, rspack_diagnostics_1.addError)(compilation, error.message);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ catch (error) {
100
+ (0, misc_helpers_1.assertIsError)(error);
101
+ (0, rspack_diagnostics_1.addError)(compilation, error.message);
102
+ }
103
+ finally {
104
+ void worker.destroy();
105
+ }
106
+ }, _PrerenderPlugin_prerenderSSGUniversal = async function _PrerenderPlugin_prerenderSSGUniversal(compilation) {
107
+ // Users can specify a different base html file e.g. "src/home.html"
108
+ const indexFile = (0, get_index_output_file_1.getIndexOutputFile)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").index);
109
+ const worker = new worker_pool_1.WorkerPool({
110
+ filename: require.resolve('./tools/render-worker'),
111
+ maxThreads: (0, max_workers_1.maxWorkers)(),
112
+ workerData: {
113
+ zonePackage: tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_resolveZonePackage).call(this, devkit_1.workspaceRoot),
114
+ },
115
+ recordTiming: false,
116
+ });
117
+ let routes;
118
+ try {
119
+ const outputPaths = tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f")
120
+ ? (0, i18n_1.ensureOutputPaths)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser, tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f"))
121
+ : new Map([['', tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser]]);
122
+ const localeOutputPaths = tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f")
123
+ ? (0, i18n_1.getLocaleOutputPaths)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_i18n, "f"))
124
+ : new Map();
125
+ for (const [locale, outputPath] of outputPaths.entries()) {
126
+ const normalizedOutputPath = (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.browser, outputPath);
127
+ const serverBundlePath = locale
128
+ ? (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.server, localeOutputPaths.get(locale), 'server.js')
129
+ : (0, path_1.join)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").outputPath.server, 'server.js');
130
+ if (!(0, fs_1.existsSync)(serverBundlePath)) {
131
+ throw new Error(`Could not find the main bundle: ${serverBundlePath}`);
132
+ }
133
+ routes ??= await tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_getRoutes).call(this, indexFile, normalizedOutputPath, serverBundlePath, devkit_1.workspaceRoot);
134
+ try {
135
+ const results = (await Promise.all(routes.map((route) => {
136
+ const options = {
137
+ indexFile,
138
+ deployUrl: tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").deployUrl || '',
139
+ inlineCriticalCss: !!tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").optimization.styles.inlineCritical,
140
+ minifyCss: !!tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").optimization.styles.minify,
141
+ outputPath: normalizedOutputPath,
142
+ route,
143
+ serverBundlePath,
144
+ };
145
+ return worker.run(options);
146
+ })));
147
+ for (const { errors, warnings } of results) {
148
+ errors?.forEach((e) => (0, rspack_diagnostics_1.addError)(compilation, e));
149
+ warnings?.forEach((e) => (0, rspack_diagnostics_1.addWarning)(compilation, e));
150
+ }
151
+ }
152
+ catch (error) {
153
+ (0, misc_helpers_1.assertIsError)(error);
154
+ (0, rspack_diagnostics_1.addError)(compilation, error.message);
155
+ }
156
+ if (tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").serviceWorker && tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").ngswConfigPath) {
157
+ try {
158
+ await (0, private_1.augmentAppWithServiceWorker)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").root, devkit_1.workspaceRoot, outputPath, tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").baseHref || '/', tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").ngswConfigPath);
159
+ }
160
+ catch (error) {
161
+ (0, misc_helpers_1.assertIsError)(error);
162
+ (0, rspack_diagnostics_1.addError)(compilation, error.message);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ finally {
168
+ void worker.destroy();
169
+ }
170
+ }, _PrerenderPlugin_getRoutes = async function _PrerenderPlugin_getRoutes(indexFile, outputPath, serverBundlePath, workspaceRoot) {
171
+ const { routes: extraRoutes = [], routesFile, discoverRoutes, } = tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_normalizePrerenderOptions).call(this);
172
+ const routes = new RoutesSet(extraRoutes);
173
+ if (routesFile) {
174
+ const routesFromFile = (await (0, promises_1.readFile)((0, path_1.join)(workspaceRoot, routesFile), 'utf8')).split(/\r?\n/);
175
+ for (const route of routesFromFile) {
176
+ routes.add(route);
177
+ }
178
+ }
179
+ if (discoverRoutes) {
180
+ const renderWorker = new worker_pool_1.WorkerPool({
181
+ filename: require.resolve('./tools/routes-extractor-worker'),
182
+ maxThreads: (0, max_workers_1.maxWorkers)(),
183
+ workerData: {
184
+ indexFile,
185
+ outputPath,
186
+ serverBundlePath,
187
+ zonePackage: tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin_instances, "m", _PrerenderPlugin_resolveZonePackage).call(this, workspaceRoot),
188
+ },
189
+ recordTiming: false,
190
+ });
191
+ const extractedRoutes = await renderWorker
192
+ .run({})
193
+ .finally(() => void renderWorker.destroy());
194
+ for (const route of extractedRoutes) {
195
+ routes.add(route);
196
+ }
197
+ }
198
+ if (routes.size === 0) {
199
+ throw new Error('Could not find any routes to prerender.');
200
+ }
201
+ return [...routes];
202
+ }, _PrerenderPlugin_normalizePrerenderOptions = function _PrerenderPlugin_normalizePrerenderOptions() {
203
+ (0, assert_1.default)(tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").prerender, 'Prerendering is not enabled.');
204
+ if (typeof tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").prerender === 'boolean') {
205
+ return {
206
+ routes: [],
207
+ routesFile: undefined,
208
+ discoverRoutes: true,
209
+ };
210
+ }
211
+ return tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").prerender;
212
+ }, _PrerenderPlugin_resolveZonePackage = function _PrerenderPlugin_resolveZonePackage(workspaceRoot) {
213
+ if (tslib_1.__classPrivateFieldGet(this, _PrerenderPlugin__options, "f").zoneless)
214
+ return false;
215
+ return require.resolve('zone.js', { paths: [workspaceRoot] });
216
+ };