@depup/angular__build 22.1.8-depup.5 → 22.2.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/README.md +9 -14
  2. package/builders.json +1 -1
  3. package/changes.json +12 -32
  4. package/package.json +29 -48
  5. package/src/builders/application/build-action.js +63 -92
  6. package/src/builders/application/build-action.js.map +1 -1
  7. package/src/builders/application/chunk-optimizer.d.ts +2 -2
  8. package/src/builders/application/chunk-optimizer.js +5 -5
  9. package/src/builders/application/chunk-optimizer.js.map +1 -1
  10. package/src/builders/application/execute-build.js +26 -19
  11. package/src/builders/application/execute-build.js.map +1 -1
  12. package/src/builders/application/execute-post-bundle.d.ts +2 -2
  13. package/src/builders/application/execute-post-bundle.js +5 -5
  14. package/src/builders/application/execute-post-bundle.js.map +1 -1
  15. package/src/builders/application/i18n.d.ts +3 -1
  16. package/src/builders/application/i18n.js +48 -13
  17. package/src/builders/application/i18n.js.map +1 -1
  18. package/src/{tools/esbuild → builders/application}/index-html-generator.d.ts +2 -2
  19. package/src/{tools/esbuild → builders/application}/index-html-generator.js +2 -2
  20. package/src/builders/application/index-html-generator.js.map +1 -0
  21. package/src/builders/application/index.js +2 -2
  22. package/src/builders/application/index.js.map +1 -1
  23. package/src/builders/application/options.d.ts +5 -0
  24. package/src/builders/application/options.js +8 -26
  25. package/src/builders/application/options.js.map +1 -1
  26. package/src/builders/application/results.d.ts +3 -2
  27. package/src/builders/application/schema.d.ts +2 -1
  28. package/src/builders/application/schema.js.map +1 -1
  29. package/src/builders/application/schema.json +1 -2
  30. package/src/builders/application/setup-bundling.js +3 -1
  31. package/src/builders/application/setup-bundling.js.map +1 -1
  32. package/src/builders/dev-server/internal.d.ts +1 -1
  33. package/src/builders/dev-server/internal.js +1 -1
  34. package/src/builders/dev-server/internal.js.map +1 -1
  35. package/src/builders/dev-server/vite/index.js +5 -8
  36. package/src/builders/dev-server/vite/index.js.map +1 -1
  37. package/src/builders/dev-server/vite/server.js +2 -0
  38. package/src/builders/dev-server/vite/server.js.map +1 -1
  39. package/src/builders/dev-server/vite/utils.d.ts +1 -1
  40. package/src/builders/dev-server/vite/utils.js +9 -4
  41. package/src/builders/dev-server/vite/utils.js.map +1 -1
  42. package/src/builders/extract-i18n/application-extraction.js +6 -5
  43. package/src/builders/extract-i18n/application-extraction.js.map +1 -1
  44. package/src/builders/karma/application_builder.js +1 -1
  45. package/src/builders/karma/application_builder.js.map +1 -1
  46. package/src/builders/karma/assets-middleware.d.ts +2 -2
  47. package/src/builders/karma/assets-middleware.js +5 -2
  48. package/src/builders/karma/assets-middleware.js.map +1 -1
  49. package/src/builders/karma/progress-reporter.js +7 -5
  50. package/src/builders/karma/progress-reporter.js.map +1 -1
  51. package/src/builders/karma/utils.d.ts +2 -1
  52. package/src/builders/karma/utils.js +2 -2
  53. package/src/builders/karma/utils.js.map +1 -1
  54. package/src/builders/unit-test/builder.js +1 -1
  55. package/src/builders/unit-test/runners/vitest/build-options.js +9 -3
  56. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  57. package/src/builders/unit-test/runners/vitest/executor.js +5 -4
  58. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  59. package/src/builders/unit-test/runners/vitest/plugins.d.ts +4 -4
  60. package/src/builders/unit-test/runners/vitest/plugins.js +9 -2
  61. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  62. package/src/builders/unit-test/schema.d.ts +3 -2
  63. package/src/builders/unit-test/schema.js.map +1 -1
  64. package/src/builders/unit-test/schema.json +3 -2
  65. package/src/builders/unit-test/test-discovery.js +3 -2
  66. package/src/builders/unit-test/test-discovery.js.map +1 -1
  67. package/src/private.d.ts +3 -5
  68. package/src/private.js +6 -9
  69. package/src/private.js.map +1 -1
  70. package/src/tools/angular/angular-host.d.ts +1 -2
  71. package/src/tools/angular/angular-host.js +6 -6
  72. package/src/tools/angular/angular-host.js.map +1 -1
  73. package/src/tools/angular/compilation/angular-compilation.d.ts +24 -16
  74. package/src/tools/angular/compilation/angular-compilation.js +4 -80
  75. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  76. package/src/tools/angular/compilation/aot-compilation.d.ts +6 -12
  77. package/src/tools/angular/compilation/aot-compilation.js +23 -20
  78. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  79. package/src/tools/angular/compilation/compiler-options.d.ts +25 -0
  80. package/src/tools/angular/compilation/compiler-options.js +135 -0
  81. package/src/tools/angular/compilation/compiler-options.js.map +1 -0
  82. package/src/tools/angular/compilation/factory.d.ts +5 -3
  83. package/src/tools/angular/compilation/factory.js +10 -5
  84. package/src/tools/angular/compilation/factory.js.map +1 -1
  85. package/src/tools/angular/compilation/index.d.ts +3 -3
  86. package/src/tools/angular/compilation/index.js +1 -3
  87. package/src/tools/angular/compilation/index.js.map +1 -1
  88. package/src/tools/angular/compilation/jit-compilation.d.ts +6 -9
  89. package/src/tools/angular/compilation/jit-compilation.js +10 -16
  90. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  91. package/src/tools/angular/compilation/parallel-compilation.d.ts +3 -14
  92. package/src/tools/angular/compilation/parallel-compilation.js +40 -42
  93. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  94. package/src/tools/angular/compilation/parallel-worker.d.ts +5 -17
  95. package/src/tools/angular/compilation/parallel-worker.js +89 -68
  96. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  97. package/src/tools/angular/compilation/typescript-compilation.d.ts +31 -0
  98. package/src/tools/angular/compilation/typescript-compilation.js +125 -0
  99. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -0
  100. package/src/tools/angular/linker/oxc-ast-host.d.ts +33 -0
  101. package/src/tools/angular/linker/oxc-ast-host.js +234 -0
  102. package/src/tools/angular/linker/oxc-ast-host.js.map +1 -0
  103. package/src/tools/angular/linker/oxc-linker.d.ts +22 -0
  104. package/src/tools/angular/linker/oxc-linker.js +75 -0
  105. package/src/tools/angular/linker/oxc-linker.js.map +1 -0
  106. package/src/tools/angular/linker/string-ast-factory.d.ts +86 -0
  107. package/src/tools/angular/linker/string-ast-factory.js +234 -0
  108. package/src/tools/angular/linker/string-ast-factory.js.map +1 -0
  109. package/src/tools/esbuild/angular/compilation-state.d.ts +23 -3
  110. package/src/tools/esbuild/angular/compilation-state.js +51 -13
  111. package/src/tools/esbuild/angular/compilation-state.js.map +1 -1
  112. package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
  113. package/src/tools/esbuild/angular/compiler-plugin.js +126 -139
  114. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  115. package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
  116. package/src/tools/esbuild/angular/component-stylesheets.js +52 -22
  117. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  118. package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -2
  119. package/src/tools/esbuild/angular/source-file-cache.js +1 -11
  120. package/src/tools/esbuild/angular/source-file-cache.js.map +1 -1
  121. package/src/tools/esbuild/application-code-bundle.js +7 -14
  122. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  123. package/src/tools/esbuild/budget-stats.js +3 -3
  124. package/src/tools/esbuild/budget-stats.js.map +1 -1
  125. package/src/tools/esbuild/bundler-context.d.ts +23 -7
  126. package/src/tools/esbuild/bundler-context.js +112 -43
  127. package/src/tools/esbuild/bundler-context.js.map +1 -1
  128. package/src/tools/esbuild/bundler-execution-result.d.ts +2 -1
  129. package/src/tools/esbuild/bundler-execution-result.js +2 -2
  130. package/src/tools/esbuild/bundler-execution-result.js.map +1 -1
  131. package/src/tools/esbuild/bundler-files.js +3 -5
  132. package/src/tools/esbuild/bundler-files.js.map +1 -1
  133. package/src/tools/esbuild/compiler-plugin-options.js +2 -1
  134. package/src/tools/esbuild/compiler-plugin-options.js.map +1 -1
  135. package/src/tools/esbuild/i18n-locale-plugin.d.ts +1 -8
  136. package/src/tools/esbuild/i18n-locale-plugin.js +33 -114
  137. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
  138. package/src/tools/esbuild/license-extractor.d.ts +1 -1
  139. package/src/tools/esbuild/license-extractor.js +89 -86
  140. package/src/tools/esbuild/license-extractor.js.map +1 -1
  141. package/src/tools/esbuild/load-result-cache.d.ts +2 -1
  142. package/src/tools/esbuild/load-result-cache.js +28 -13
  143. package/src/tools/esbuild/load-result-cache.js.map +1 -1
  144. package/src/tools/esbuild/persistent-load-result-cache.d.ts +87 -0
  145. package/src/tools/esbuild/persistent-load-result-cache.js +229 -0
  146. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -0
  147. package/src/tools/esbuild/stylesheets/bundle-options.d.ts +1 -0
  148. package/src/tools/esbuild/stylesheets/bundle-options.js +1 -1
  149. package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -1
  150. package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +3 -1
  151. package/src/tools/esbuild/stylesheets/css-resource-plugin.js +4 -2
  152. package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -1
  153. package/src/tools/esbuild/stylesheets/sass-language.d.ts +9 -0
  154. package/src/tools/esbuild/stylesheets/sass-language.js +109 -50
  155. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
  156. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.d.ts +35 -0
  157. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js +64 -0
  158. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js.map +1 -0
  159. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
  160. package/src/tools/esbuild/utils.d.ts +3 -3
  161. package/src/tools/esbuild/utils.js +9 -6
  162. package/src/tools/esbuild/utils.js.map +1 -1
  163. package/src/tools/i18n/i18n-inliner-worker.d.ts +126 -0
  164. package/src/tools/i18n/i18n-inliner-worker.js +363 -0
  165. package/src/tools/i18n/i18n-inliner-worker.js.map +1 -0
  166. package/src/tools/i18n/i18n-inliner.d.ts +97 -0
  167. package/src/tools/i18n/i18n-inliner.js +500 -0
  168. package/src/tools/i18n/i18n-inliner.js.map +1 -0
  169. package/src/tools/i18n/i18n-translation-encoder.d.ts +21 -0
  170. package/src/tools/i18n/i18n-translation-encoder.js +92 -0
  171. package/src/tools/i18n/i18n-translation-encoder.js.map +1 -0
  172. package/src/tools/i18n/i18n-translation-reader.d.ts +41 -0
  173. package/src/tools/i18n/i18n-translation-reader.js +164 -0
  174. package/src/tools/i18n/i18n-translation-reader.js.map +1 -0
  175. package/src/tools/i18n/index.d.ts +11 -0
  176. package/src/tools/i18n/index.js +28 -0
  177. package/src/tools/i18n/index.js.map +1 -0
  178. package/src/tools/i18n/locale-data.d.ts +47 -0
  179. package/src/tools/i18n/locale-data.js +108 -0
  180. package/src/tools/i18n/locale-data.js.map +1 -0
  181. package/src/tools/javascript-transformer/index.d.ts +8 -0
  182. package/src/tools/javascript-transformer/index.js +25 -0
  183. package/src/tools/javascript-transformer/index.js.map +1 -0
  184. package/src/tools/{esbuild → javascript-transformer}/javascript-transformer-worker.d.ts +0 -4
  185. package/src/tools/javascript-transformer/javascript-transformer-worker.js +231 -0
  186. package/src/tools/javascript-transformer/javascript-transformer-worker.js.map +1 -0
  187. package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.d.ts +26 -9
  188. package/src/tools/javascript-transformer/javascript-transformer.js +294 -0
  189. package/src/tools/javascript-transformer/javascript-transformer.js.map +1 -0
  190. package/src/tools/{babel/plugins → oxc}/oxc-transform.d.ts +5 -2
  191. package/src/tools/{babel/plugins → oxc}/oxc-transform.js +105 -138
  192. package/src/tools/oxc/oxc-transform.js.map +1 -0
  193. package/src/tools/oxc/traversal.d.ts +32 -0
  194. package/src/tools/oxc/traversal.js +299 -0
  195. package/src/tools/oxc/traversal.js.map +1 -0
  196. package/src/tools/oxc/types.d.ts +20 -0
  197. package/src/tools/sass/rebasing-importer.d.ts +12 -18
  198. package/src/tools/sass/rebasing-importer.js +23 -26
  199. package/src/tools/sass/rebasing-importer.js.map +1 -1
  200. package/src/tools/sass/sass-service.d.ts +15 -38
  201. package/src/tools/sass/sass-service.js +132 -187
  202. package/src/tools/sass/sass-service.js.map +1 -1
  203. package/src/tools/vite/middlewares/assets-middleware.js +3 -3
  204. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
  205. package/src/tools/vite/utils.d.ts +1 -1
  206. package/src/{tools/esbuild → utils/cache}/cache.d.ts +25 -8
  207. package/src/{tools/esbuild → utils/cache}/cache.js +72 -41
  208. package/src/utils/cache/cache.js.map +1 -0
  209. package/src/utils/cache/index.d.ts +8 -0
  210. package/src/utils/cache/index.js +25 -0
  211. package/src/utils/cache/index.js.map +1 -0
  212. package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js +1 -1
  213. package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js.map +1 -1
  214. package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.d.ts +1 -1
  215. package/src/utils/cache/sqlite-cache-store.js +339 -0
  216. package/src/utils/cache/sqlite-cache-store.js.map +1 -0
  217. package/src/utils/concurrency.d.ts +30 -0
  218. package/src/utils/concurrency.js +81 -0
  219. package/src/utils/concurrency.js.map +1 -0
  220. package/src/utils/environment-options.d.ts +34 -0
  221. package/src/utils/environment-options.js +42 -12
  222. package/src/utils/environment-options.js.map +1 -1
  223. package/src/utils/hash.d.ts +24 -0
  224. package/src/utils/hash.js +94 -0
  225. package/src/utils/hash.js.map +1 -0
  226. package/src/utils/i18n-options.d.ts +3 -1
  227. package/src/utils/i18n-options.js.map +1 -1
  228. package/src/utils/index-file/auto-csp.d.ts +8 -0
  229. package/src/utils/index-file/auto-csp.js +30 -3
  230. package/src/utils/index-file/auto-csp.js.map +1 -1
  231. package/src/utils/index-file/index-html-generator.d.ts +1 -1
  232. package/src/utils/index-file/index-html-generator.js +9 -13
  233. package/src/utils/index-file/index-html-generator.js.map +1 -1
  234. package/src/utils/index-file/inline-critical-css.d.ts +16 -18
  235. package/src/utils/index-file/inline-critical-css.js +78 -179
  236. package/src/utils/index-file/inline-critical-css.js.map +1 -1
  237. package/src/utils/index-file/nonce.d.ts +2 -0
  238. package/src/utils/index-file/nonce.js +1 -0
  239. package/src/utils/index-file/nonce.js.map +1 -1
  240. package/src/utils/normalize-cache.js +1 -1
  241. package/src/utils/postcss-configuration.d.ts +6 -0
  242. package/src/utils/postcss-configuration.js +23 -0
  243. package/src/utils/postcss-configuration.js.map +1 -1
  244. package/src/{tools/esbuild → utils}/profiling.js +1 -1
  245. package/src/{tools/esbuild → utils}/profiling.js.map +1 -1
  246. package/src/utils/server-rendering/manifest.d.ts +2 -2
  247. package/src/utils/server-rendering/manifest.js +53 -4
  248. package/src/utils/server-rendering/manifest.js.map +1 -1
  249. package/src/utils/source-map.d.ts +26 -2
  250. package/src/utils/source-map.js +151 -53
  251. package/src/utils/source-map.js.map +1 -1
  252. package/src/utils/test-files.d.ts +2 -2
  253. package/src/utils/test-files.js +3 -3
  254. package/src/utils/test-files.js.map +1 -1
  255. package/src/utils/watcher.d.ts +61 -0
  256. package/src/utils/watcher.js +642 -0
  257. package/src/utils/watcher.js.map +1 -0
  258. package/src/tools/angular/compilation/noop-compilation.d.ts +0 -20
  259. package/src/tools/angular/compilation/noop-compilation.js +0 -27
  260. package/src/tools/angular/compilation/noop-compilation.js.map +0 -1
  261. package/src/tools/babel/plugins/add-code-coverage.d.ts +0 -14
  262. package/src/tools/babel/plugins/add-code-coverage.js +0 -44
  263. package/src/tools/babel/plugins/add-code-coverage.js.map +0 -1
  264. package/src/tools/babel/plugins/adjust-static-class-members.d.ts +0 -25
  265. package/src/tools/babel/plugins/adjust-static-class-members.js +0 -349
  266. package/src/tools/babel/plugins/adjust-static-class-members.js.map +0 -1
  267. package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +0 -21
  268. package/src/tools/babel/plugins/adjust-typescript-enums.js +0 -113
  269. package/src/tools/babel/plugins/adjust-typescript-enums.js.map +0 -1
  270. package/src/tools/babel/plugins/elide-angular-metadata.d.ts +0 -23
  271. package/src/tools/babel/plugins/elide-angular-metadata.js +0 -110
  272. package/src/tools/babel/plugins/elide-angular-metadata.js.map +0 -1
  273. package/src/tools/babel/plugins/index.d.ts +0 -11
  274. package/src/tools/babel/plugins/index.js +0 -22
  275. package/src/tools/babel/plugins/index.js.map +0 -1
  276. package/src/tools/babel/plugins/oxc-transform.js.map +0 -1
  277. package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +0 -13
  278. package/src/tools/babel/plugins/pure-toplevel-functions.js +0 -128
  279. package/src/tools/babel/plugins/pure-toplevel-functions.js.map +0 -1
  280. package/src/tools/babel/plugins/types.d.ts +0 -20
  281. package/src/tools/babel/typings.d.ts +0 -21
  282. package/src/tools/esbuild/cache.js.map +0 -1
  283. package/src/tools/esbuild/i18n-inliner-worker.d.ts +0 -81
  284. package/src/tools/esbuild/i18n-inliner-worker.js +0 -255
  285. package/src/tools/esbuild/i18n-inliner-worker.js.map +0 -1
  286. package/src/tools/esbuild/i18n-inliner.d.ts +0 -58
  287. package/src/tools/esbuild/i18n-inliner.js +0 -265
  288. package/src/tools/esbuild/i18n-inliner.js.map +0 -1
  289. package/src/tools/esbuild/index-html-generator.js.map +0 -1
  290. package/src/tools/esbuild/javascript-transformer-worker.js +0 -192
  291. package/src/tools/esbuild/javascript-transformer-worker.js.map +0 -1
  292. package/src/tools/esbuild/javascript-transformer.js +0 -197
  293. package/src/tools/esbuild/javascript-transformer.js.map +0 -1
  294. package/src/tools/esbuild/sqlite-cache-store.js +0 -165
  295. package/src/tools/esbuild/sqlite-cache-store.js.map +0 -1
  296. package/src/tools/esbuild/watcher.d.ts +0 -25
  297. package/src/tools/esbuild/watcher.js +0 -119
  298. package/src/tools/esbuild/watcher.js.map +0 -1
  299. package/src/tools/sass/worker.d.ts +0 -63
  300. package/src/tools/sass/worker.js +0 -202
  301. package/src/tools/sass/worker.js.map +0 -1
  302. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.d.ts +0 -0
  303. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js +0 -0
  304. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js.map +0 -0
  305. /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.d.ts +0 -0
  306. /package/src/{tools/esbuild → utils}/profiling.d.ts +0 -0
@@ -0,0 +1,22 @@
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 type { CallExpression } from '@oxc-project/types';
9
+ /**
10
+ * Manages Angular partial declaration linking using Oxc AST nodes.
11
+ */
12
+ export declare class OxcLinker {
13
+ #private;
14
+ constructor(filename: string, code: string, jit?: boolean);
15
+ /**
16
+ * Attempts to link an Angular partial declaration CallExpression.
17
+ *
18
+ * @param node The CallExpression AST node to check and link.
19
+ * @returns The linked code string if the node is a partial declaration, or undefined otherwise.
20
+ */
21
+ linkCallExpression(node: CallExpression): string | undefined;
22
+ }
@@ -0,0 +1,75 @@
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.OxcLinker = void 0;
11
+ const compiler_cli_1 = require("@angular/compiler-cli");
12
+ const linker_1 = require("@angular/compiler-cli/linker");
13
+ const oxc_ast_host_1 = require("./oxc-ast-host");
14
+ const string_ast_factory_1 = require("./string-ast-factory");
15
+ /**
16
+ * A declaration scope that instructs the Angular compiler to emit constant pools
17
+ * inside a local IIFE around each linked declaration rather than hoisting shared
18
+ * constants to the module level.
19
+ *
20
+ * Preferred due to:
21
+ * - In-Place String Replacement: Enables fast in-place string replacements in
22
+ * `MagicString` without parsing or mutating surrounding ES module statements.
23
+ * - Better Tree-Shaking Locality: Component constants are strictly encapsulated
24
+ * within the component's `@__PURE__` IIFE closure (`(function() { ... })()`). If a
25
+ * bundler tree-shakes an unused component from a library FESM, all of its associated
26
+ * constants are automatically eliminated without leaving orphan top-level variables.
27
+ * - Negligible Wire Size Impact: LZ77/Brotli compression deduplicates repeated IIFE
28
+ * wrappers and array literals over the wire to near-zero marginal cost.
29
+ */
30
+ class InlineDeclarationScope {
31
+ getConstantScopeRef() {
32
+ return null;
33
+ }
34
+ }
35
+ const noopFileSystem = {
36
+ exists: () => false,
37
+ readFile: () => '',
38
+ resolve: (...paths) => paths.join('/'),
39
+ dirname: (path) => path.split('/').slice(0, -1).join('/'),
40
+ relative: (_from, to) => to,
41
+ };
42
+ let SHARED_LOGGER;
43
+ let SHARED_AST_HOST;
44
+ let SHARED_DECLARATION_SCOPE;
45
+ /**
46
+ * Manages Angular partial declaration linking using Oxc AST nodes.
47
+ */
48
+ class OxcLinker {
49
+ #fileLinker;
50
+ constructor(filename, code, jit = false) {
51
+ SHARED_LOGGER ??= new compiler_cli_1.ConsoleLogger(compiler_cli_1.LogLevel.info);
52
+ SHARED_AST_HOST ??= new oxc_ast_host_1.OxcAstHost();
53
+ SHARED_DECLARATION_SCOPE ??= new InlineDeclarationScope();
54
+ const astFactory = new string_ast_factory_1.StringAstFactory(code);
55
+ const linkerEnvironment = linker_1.LinkerEnvironment.create(noopFileSystem, SHARED_LOGGER, SHARED_AST_HOST, astFactory, { linkerJitMode: jit, sourceMapping: false });
56
+ this.#fileLinker = new linker_1.FileLinker(linkerEnvironment, filename, code);
57
+ }
58
+ /**
59
+ * Attempts to link an Angular partial declaration CallExpression.
60
+ *
61
+ * @param node The CallExpression AST node to check and link.
62
+ * @returns The linked code string if the node is a partial declaration, or undefined otherwise.
63
+ */
64
+ linkCallExpression(node) {
65
+ const calleeName = SHARED_AST_HOST.getSymbolName(node.callee);
66
+ if (!calleeName || !this.#fileLinker.isPartialDeclaration(calleeName)) {
67
+ return undefined;
68
+ }
69
+ const args = SHARED_AST_HOST.parseArguments(node);
70
+ const linkedCode = this.#fileLinker.linkPartialDeclaration(calleeName, args, SHARED_DECLARATION_SCOPE);
71
+ return linkedCode;
72
+ }
73
+ }
74
+ exports.OxcLinker = OxcLinker;
75
+ //# sourceMappingURL=oxc-linker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxc-linker.js","sourceRoot":"","sources":["oxc-linker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,wDAAgE;AAChE,yDAAoG;AAMpG,iDAA4C;AAC5C,6DAAwD;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,sBAAsB;IAC1B,mBAAmB;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,cAAc,GAAuB;IACzC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;IAClB,OAAO,EAAE,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAChD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACjE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE;CACX,CAAC;AAEnC,IAAI,aAA4B,CAAC;AACjC,IAAI,eAA2B,CAAC;AAChC,IAAI,wBAAgD,CAAC;AAErD;;GAEG;AACH,MAAa,SAAS;IACX,WAAW,CAA2D;IAE/E,YAAY,QAAgB,EAAE,IAAY,EAAE,GAAG,GAAG,KAAK;QACrD,aAAa,KAAK,IAAI,4BAAa,CAAC,uBAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,eAAe,KAAK,IAAI,yBAAU,EAAE,CAAC;QACrC,wBAAwB,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GAAG,0BAAiB,CAAC,MAAM,CAChD,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACV,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAC7C,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAU,CAAC,iBAAiB,EAAE,QAA0B,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,IAAoB;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CACxD,UAAU,EACV,IAAI,EACJ,wBAAwB,CACzB,CAAC;QAEF,OAAO,UAAoB,CAAC;IAC9B,CAAC;CACF;AAzCD,8BAyCC"}
@@ -0,0 +1,86 @@
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 type { AstFactory, BinaryOperator, LeadingComment, ObjectLiteralProperty, SourceMapRange, TemplateLiteral, UnaryOperator, VariableDeclarationType } from '@angular/compiler-cli/src/ngtsc/translator';
9
+ import type { BuiltInType, Parameter } from '@angular/compiler-cli/src/ngtsc/translator/src/api/ast_factory';
10
+ /**
11
+ * An implementation of `AstFactory` that generates JavaScript code strings directly.
12
+ */
13
+ export declare class StringAstFactory implements AstFactory<string, unknown, string> {
14
+ private readonly sourceCode;
15
+ constructor(sourceCode?: string);
16
+ private render;
17
+ /**
18
+ * Wraps an expression in parentheses if it has syntax or operator precedence
19
+ * traps when used as the receiver/callee of property access, element access,
20
+ * call chains, `new` expressions, or tagged templates.
21
+ *
22
+ * For example, arrow functions (`(() => {}).foo`), numbers (`(5).foo`), object
23
+ * literals (`({ a: 1 }).foo`), and unary operators (`(void 0)()`) require
24
+ * parenthesization when used as receivers.
25
+ */
26
+ private wrapReceiver;
27
+ /**
28
+ * Wraps an expression in parentheses if it is an un-parenthesized complex
29
+ * operand (such as an un-parenthesized binary, logical, or assignment expression)
30
+ * to prevent operator precedence inversion when embedded inside an outer expression.
31
+ *
32
+ * Atomic expressions (identifiers, member/element access chains, and simple
33
+ * literals matching `/^[a-zA-Z0-9_$.[\]"'`]+$/`) and already-parenthesized
34
+ * expressions are returned as-is.
35
+ */
36
+ private wrapOperand;
37
+ /**
38
+ * Attaching statement-level comments is a no-op in `StringAstFactory`.
39
+ *
40
+ * Why this is safe:
41
+ * - Load-bearing tree-shaking annotations (`@__PURE__` markers) are explicitly prepended by
42
+ * `createCallExpression` and `createCallChain` whenever `pure: true`.
43
+ * - In `@angular/compiler`, `LeadingComment` is only used for `@ts-ignore` (suppressing
44
+ * TypeScript checker errors in generated `.ts` code) and `webpackChunkName` (in dynamic
45
+ * imports), neither of which occur during `.js`/`.mjs` library partial linking.
46
+ */
47
+ attachComments(_statement: string, _leadingComments: LeadingComment[]): void;
48
+ createArrayLiteral(elements: unknown[]): string;
49
+ createAssignment(target: unknown, operator: BinaryOperator, value: unknown): string;
50
+ createBinaryExpression(leftOperand: unknown, operator: BinaryOperator, rightOperand: unknown): string;
51
+ createBlock(body: string[]): string;
52
+ createCallExpression(callee: unknown, args: unknown[], pure: boolean): string;
53
+ createCallChain(callee: unknown, args: unknown[], pure: boolean, isOptional: boolean): string;
54
+ createConditional(condition: unknown, thenExpression: unknown, elseExpression: unknown): string;
55
+ createElementAccess(expression: unknown, element: unknown): string;
56
+ createElementAccessChain(expression: unknown, element: unknown, isOptional: boolean): string;
57
+ createExpressionStatement(expression: unknown): string;
58
+ createFunctionDeclaration(functionName: string, parameters: Parameter<string>[], body: string): string;
59
+ createFunctionExpression(functionName: string | null, parameters: Parameter<string>[], body: string): string;
60
+ createArrowFunctionExpression(parameters: Parameter<string>[], body: unknown): string;
61
+ createDynamicImport(url: unknown): string;
62
+ createIdentifier(name: string): string;
63
+ createIfStatement(condition: unknown, thenStatement: string, elseStatement: string | null): string;
64
+ createLiteral(value: string | number | boolean | null | undefined): string;
65
+ createNewExpression(expression: unknown, args: unknown[]): string;
66
+ createObjectLiteral(properties: ObjectLiteralProperty<unknown>[]): string;
67
+ createParenthesizedExpression(expression: unknown): string;
68
+ createPropertyAccess(expression: unknown, propertyName: string): string;
69
+ createPropertyAccessChain(expression: unknown, propertyName: string, isOptional: boolean): string;
70
+ createReturnStatement(expression: unknown | null): string;
71
+ createTaggedTemplate(tag: unknown, template: TemplateLiteral<unknown>): string;
72
+ createTemplateLiteral(template: TemplateLiteral<unknown>): string;
73
+ createThrowStatement(expression: unknown): string;
74
+ createTypeOfExpression(expression: unknown): string;
75
+ createVoidExpression(expression: unknown): string;
76
+ createUnaryExpression(operator: UnaryOperator, operand: unknown): string;
77
+ createVariableDeclaration(variableName: string, initializer: unknown | null, variableType: VariableDeclarationType, _type?: string | null): string;
78
+ createRegularExpressionLiteral(body: string, flags: string | null): string;
79
+ createSpreadElement(expression: unknown): string;
80
+ createBuiltInType(_type: BuiltInType): string;
81
+ createExpressionType(_expression: unknown, _typeParams: string[] | null): string;
82
+ createArrayType(_elementType: string): string;
83
+ createMapType(_valueType: string): string;
84
+ transplantType(_type: string): string;
85
+ setSourceMapRange<T extends string | unknown>(node: T, _sourceMapRange: SourceMapRange | null): T;
86
+ }
@@ -0,0 +1,234 @@
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.StringAstFactory = void 0;
11
+ const OBJECT_LITERAL_PREFIX = '\0obj_';
12
+ /**
13
+ * An implementation of `AstFactory` that generates JavaScript code strings directly.
14
+ */
15
+ class StringAstFactory {
16
+ sourceCode;
17
+ constructor(sourceCode = '') {
18
+ this.sourceCode = sourceCode;
19
+ }
20
+ render(expr) {
21
+ let rendered;
22
+ if (typeof expr === 'string') {
23
+ rendered = expr;
24
+ }
25
+ else if (typeof expr === 'object' &&
26
+ expr !== null &&
27
+ typeof expr.start === 'number' &&
28
+ typeof expr.end === 'number') {
29
+ const { start, end } = expr;
30
+ rendered = this.sourceCode.slice(start, end);
31
+ }
32
+ else {
33
+ rendered = String(expr);
34
+ }
35
+ if (rendered.startsWith(OBJECT_LITERAL_PREFIX)) {
36
+ return rendered.slice(OBJECT_LITERAL_PREFIX.length);
37
+ }
38
+ return rendered;
39
+ }
40
+ /**
41
+ * Wraps an expression in parentheses if it has syntax or operator precedence
42
+ * traps when used as the receiver/callee of property access, element access,
43
+ * call chains, `new` expressions, or tagged templates.
44
+ *
45
+ * For example, arrow functions (`(() => {}).foo`), numbers (`(5).foo`), object
46
+ * literals (`({ a: 1 }).foo`), and unary operators (`(void 0)()`) require
47
+ * parenthesization when used as receivers.
48
+ */
49
+ wrapReceiver(receiver) {
50
+ let rendered = this.render(receiver);
51
+ if (rendered.startsWith('function') ||
52
+ rendered.startsWith('{') ||
53
+ rendered.includes('=>') ||
54
+ /^(?:typeof|void|delete|new|await|throw|return)\b/.test(rendered) ||
55
+ /^[!~+-]/.test(rendered) ||
56
+ /^\d/.test(rendered)) {
57
+ rendered = `(${rendered})`;
58
+ }
59
+ return rendered;
60
+ }
61
+ /**
62
+ * Wraps an expression in parentheses if it is an un-parenthesized complex
63
+ * operand (such as an un-parenthesized binary, logical, or assignment expression)
64
+ * to prevent operator precedence inversion when embedded inside an outer expression.
65
+ *
66
+ * Atomic expressions (identifiers, member/element access chains, and simple
67
+ * literals matching `/^[a-zA-Z0-9_$.[\]"'`]+$/`) and already-parenthesized
68
+ * expressions are returned as-is.
69
+ */
70
+ wrapOperand(expr) {
71
+ const rendered = this.render(expr);
72
+ if ((rendered.startsWith('(') && rendered.endsWith(')')) ||
73
+ /^[a-zA-Z0-9_$.[\]"'`]+$/.test(rendered)) {
74
+ return rendered;
75
+ }
76
+ return `(${rendered})`;
77
+ }
78
+ /**
79
+ * Attaching statement-level comments is a no-op in `StringAstFactory`.
80
+ *
81
+ * Why this is safe:
82
+ * - Load-bearing tree-shaking annotations (`@__PURE__` markers) are explicitly prepended by
83
+ * `createCallExpression` and `createCallChain` whenever `pure: true`.
84
+ * - In `@angular/compiler`, `LeadingComment` is only used for `@ts-ignore` (suppressing
85
+ * TypeScript checker errors in generated `.ts` code) and `webpackChunkName` (in dynamic
86
+ * imports), neither of which occur during `.js`/`.mjs` library partial linking.
87
+ */
88
+ attachComments(_statement, _leadingComments) { }
89
+ createArrayLiteral(elements) {
90
+ return `[${elements.map((e) => this.render(e)).join(', ')}]`;
91
+ }
92
+ createAssignment(target, operator, value) {
93
+ return `(${this.render(target)} ${operator} ${this.render(value)})`;
94
+ }
95
+ createBinaryExpression(leftOperand, operator, rightOperand) {
96
+ return `(${this.wrapOperand(leftOperand)} ${operator} ${this.wrapOperand(rightOperand)})`;
97
+ }
98
+ createBlock(body) {
99
+ return `{\n${body.join('\n')}\n}`;
100
+ }
101
+ createCallExpression(callee, args, pure) {
102
+ const annotation = pure ? '/*@__PURE__*/ ' : '';
103
+ return `${annotation}${this.wrapReceiver(callee)}(${args.map((a) => this.render(a)).join(', ')})`;
104
+ }
105
+ createCallChain(callee, args, pure, isOptional) {
106
+ const annotation = pure ? '/*@__PURE__*/ ' : '';
107
+ const operator = isOptional ? '?.' : '';
108
+ return `${annotation}${this.wrapReceiver(callee)}${operator}(${args.map((a) => this.render(a)).join(', ')})`;
109
+ }
110
+ createConditional(condition, thenExpression, elseExpression) {
111
+ return `(${this.render(condition)} ? ${this.render(thenExpression)} : ${this.render(elseExpression)})`;
112
+ }
113
+ createElementAccess(expression, element) {
114
+ return `${this.wrapReceiver(expression)}[${this.render(element)}]`;
115
+ }
116
+ createElementAccessChain(expression, element, isOptional) {
117
+ const operator = isOptional ? '?.' : '';
118
+ return `${this.wrapReceiver(expression)}${operator}[${this.render(element)}]`;
119
+ }
120
+ createExpressionStatement(expression) {
121
+ return `${this.render(expression)};`;
122
+ }
123
+ createFunctionDeclaration(functionName, parameters, body) {
124
+ const params = parameters.map((p) => p.name).join(', ');
125
+ return `function ${functionName}(${params}) ${body}`;
126
+ }
127
+ createFunctionExpression(functionName, parameters, body) {
128
+ const name = functionName ? ` ${functionName}` : '';
129
+ const params = parameters.map((p) => p.name).join(', ');
130
+ return `function${name}(${params}) ${body}`;
131
+ }
132
+ createArrowFunctionExpression(parameters, body) {
133
+ const params = parameters.map((p) => p.name).join(', ');
134
+ const isObjectLiteral = typeof body === 'string' && body.startsWith(OBJECT_LITERAL_PREFIX);
135
+ const renderedBody = this.render(body);
136
+ const formattedBody = isObjectLiteral ? `(${renderedBody})` : renderedBody;
137
+ return `(${params}) => ${formattedBody}`;
138
+ }
139
+ createDynamicImport(url) {
140
+ return `import(${this.render(url)})`;
141
+ }
142
+ createIdentifier(name) {
143
+ return name;
144
+ }
145
+ createIfStatement(condition, thenStatement, elseStatement) {
146
+ const elseClause = elseStatement ? ` else ${elseStatement}` : '';
147
+ return `if (${this.render(condition)}) ${thenStatement}${elseClause}`;
148
+ }
149
+ createLiteral(value) {
150
+ return typeof value === 'string' ? JSON.stringify(value) : String(value);
151
+ }
152
+ createNewExpression(expression, args) {
153
+ return `new ${this.wrapReceiver(expression)}(${args.map((a) => this.render(a)).join(', ')})`;
154
+ }
155
+ createObjectLiteral(properties) {
156
+ const props = properties.map((p) => {
157
+ if (p.kind === 'spread') {
158
+ return `...${this.render(p.expression)}`;
159
+ }
160
+ const key = p.quoted ? JSON.stringify(p.propertyName) : p.propertyName;
161
+ return `${key}: ${this.render(p.value)}`;
162
+ });
163
+ return `${OBJECT_LITERAL_PREFIX}{\n${props.join(',\n')}\n}`;
164
+ }
165
+ createParenthesizedExpression(expression) {
166
+ return `(${this.render(expression)})`;
167
+ }
168
+ createPropertyAccess(expression, propertyName) {
169
+ return `${this.wrapReceiver(expression)}.${propertyName}`;
170
+ }
171
+ createPropertyAccessChain(expression, propertyName, isOptional) {
172
+ const operator = isOptional ? '?.' : '.';
173
+ return `${this.wrapReceiver(expression)}${operator}${propertyName}`;
174
+ }
175
+ createReturnStatement(expression) {
176
+ return `return${expression !== null ? ` ${this.render(expression)}` : ''};`;
177
+ }
178
+ createTaggedTemplate(tag, template) {
179
+ return `${this.wrapReceiver(tag)}${this.createTemplateLiteral(template)}`;
180
+ }
181
+ createTemplateLiteral(template) {
182
+ let result = '`';
183
+ for (let i = 0; i < template.elements.length; i++) {
184
+ result += template.elements[i].raw;
185
+ if (i < template.expressions.length) {
186
+ result += `\${${this.render(template.expressions[i])}}`;
187
+ }
188
+ }
189
+ result += '`';
190
+ return result;
191
+ }
192
+ createThrowStatement(expression) {
193
+ return `throw ${this.render(expression)};`;
194
+ }
195
+ createTypeOfExpression(expression) {
196
+ return `typeof ${this.wrapOperand(expression)}`;
197
+ }
198
+ createVoidExpression(expression) {
199
+ return `void ${this.wrapOperand(expression)}`;
200
+ }
201
+ createUnaryExpression(operator, operand) {
202
+ return `${operator}${this.wrapOperand(operand)}`;
203
+ }
204
+ createVariableDeclaration(variableName, initializer, variableType, _type = null) {
205
+ const init = initializer !== null ? ` = ${this.render(initializer)}` : '';
206
+ return `${variableType} ${variableName}${init};`;
207
+ }
208
+ createRegularExpressionLiteral(body, flags) {
209
+ return `/${body}/${flags ?? ''}`;
210
+ }
211
+ createSpreadElement(expression) {
212
+ return `...${this.render(expression)}`;
213
+ }
214
+ createBuiltInType(_type) {
215
+ return '';
216
+ }
217
+ createExpressionType(_expression, _typeParams) {
218
+ return '';
219
+ }
220
+ createArrayType(_elementType) {
221
+ return '';
222
+ }
223
+ createMapType(_valueType) {
224
+ return '';
225
+ }
226
+ transplantType(_type) {
227
+ return '';
228
+ }
229
+ setSourceMapRange(node, _sourceMapRange) {
230
+ return node;
231
+ }
232
+ }
233
+ exports.StringAstFactory = StringAstFactory;
234
+ //# sourceMappingURL=string-ast-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-ast-factory.js","sourceRoot":"","sources":["string-ast-factory.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,34 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { type AngularCompilation } from '../../angular/compilation';
9
- export declare class AngularCompilationContext {
8
+ import type { CompilerOptions } from '@angular/compiler-cli';
9
+ import type { AngularCompilation } from '../../angular/compilation';
10
+ export declare abstract class AngularCompilationContext {
11
+ abstract readonly compilation?: AngularCompilation;
12
+ abstract isPrimary(): this is PrimaryCompilationContext;
13
+ abstract readonly waitUntilReady: Promise<boolean>;
14
+ abstract getCompilerOptions(): Promise<CompilerOptions>;
15
+ abstract dispose(): Promise<void>;
16
+ createSecondaryContext(): AngularCompilationContext;
17
+ }
18
+ export declare class PrimaryCompilationContext extends AngularCompilationContext {
10
19
  #private;
11
20
  constructor(compilation: AngularCompilation);
21
+ isPrimary(): this is PrimaryCompilationContext;
12
22
  get compilation(): AngularCompilation;
13
23
  get waitUntilReady(): Promise<boolean>;
24
+ getCompilerOptions(): Promise<CompilerOptions>;
25
+ setCompilerOptions(options: CompilerOptions): void;
14
26
  markAsReady(hasErrors: boolean): void;
15
27
  markAsInProgress(): void;
16
28
  dispose(): Promise<void>;
17
- createSecondaryContext(): AngularCompilationContext;
29
+ }
30
+ export declare class SecondaryCompilationContext extends AngularCompilationContext {
31
+ private readonly primaryContext?;
32
+ constructor(primaryContext?: AngularCompilationContext | undefined);
33
+ isPrimary(): this is PrimaryCompilationContext;
34
+ get compilation(): undefined;
35
+ get waitUntilReady(): Promise<boolean>;
36
+ getCompilerOptions(): Promise<CompilerOptions>;
37
+ dispose(): Promise<void>;
18
38
  }
@@ -7,17 +7,29 @@
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.AngularCompilationContext = void 0;
11
- const compilation_1 = require("../../angular/compilation");
10
+ exports.SecondaryCompilationContext = exports.PrimaryCompilationContext = exports.AngularCompilationContext = void 0;
12
11
  class AngularCompilationContext {
12
+ createSecondaryContext() {
13
+ return new SecondaryCompilationContext(this);
14
+ }
15
+ }
16
+ exports.AngularCompilationContext = AngularCompilationContext;
17
+ class PrimaryCompilationContext extends AngularCompilationContext {
13
18
  #compilation;
14
19
  #pendingCompilation = true;
15
20
  #resolveCompilationReady;
16
21
  #compilationReadyPromise;
17
22
  #hasErrors = true;
23
+ #compilerOptions;
24
+ #resolveCompilerOptions;
25
+ #compilerOptionsPromise;
18
26
  constructor(compilation) {
27
+ super();
19
28
  this.#compilation = compilation;
20
29
  }
30
+ isPrimary() {
31
+ return true;
32
+ }
21
33
  get compilation() {
22
34
  return this.#compilation;
23
35
  }
@@ -30,14 +42,39 @@ class AngularCompilationContext {
30
42
  });
31
43
  return this.#compilationReadyPromise;
32
44
  }
45
+ getCompilerOptions() {
46
+ if (this.#compilerOptions) {
47
+ return Promise.resolve(this.#compilerOptions);
48
+ }
49
+ if (!this.#pendingCompilation) {
50
+ return Promise.resolve({});
51
+ }
52
+ this.#compilerOptionsPromise ??= new Promise((resolve) => {
53
+ this.#resolveCompilerOptions = resolve;
54
+ });
55
+ return this.#compilerOptionsPromise;
56
+ }
57
+ setCompilerOptions(options) {
58
+ this.#compilerOptions = options;
59
+ this.#resolveCompilerOptions?.(options);
60
+ this.#resolveCompilerOptions = undefined;
61
+ this.#compilerOptionsPromise = undefined;
62
+ }
33
63
  markAsReady(hasErrors) {
34
64
  this.#hasErrors = hasErrors;
35
65
  this.#resolveCompilationReady?.(hasErrors);
66
+ this.#resolveCompilationReady = undefined;
36
67
  this.#compilationReadyPromise = undefined;
37
68
  this.#pendingCompilation = false;
69
+ if (this.#resolveCompilerOptions) {
70
+ this.#resolveCompilerOptions(this.#compilerOptions ?? {});
71
+ this.#resolveCompilerOptions = undefined;
72
+ this.#compilerOptionsPromise = undefined;
73
+ }
38
74
  }
39
75
  markAsInProgress() {
40
76
  this.#pendingCompilation = true;
77
+ this.#compilerOptions = undefined;
41
78
  }
42
79
  #disposal;
43
80
  dispose() {
@@ -53,28 +90,29 @@ class AngularCompilationContext {
53
90
  // Suppress closure errors to avoid unhandled rejections during teardown.
54
91
  }
55
92
  }
56
- createSecondaryContext() {
57
- return new SecondaryCompilationContext(this);
58
- }
59
93
  }
60
- exports.AngularCompilationContext = AngularCompilationContext;
94
+ exports.PrimaryCompilationContext = PrimaryCompilationContext;
61
95
  class SecondaryCompilationContext extends AngularCompilationContext {
62
96
  primaryContext;
63
97
  constructor(primaryContext) {
64
- super(new compilation_1.NoopCompilation());
98
+ super();
65
99
  this.primaryContext = primaryContext;
66
100
  }
67
- get waitUntilReady() {
68
- return this.primaryContext.waitUntilReady;
101
+ isPrimary() {
102
+ return false;
69
103
  }
70
- markAsReady(hasErrors) {
71
- // No-op: secondary contexts do not control compilation state
104
+ get compilation() {
105
+ return undefined;
72
106
  }
73
- markAsInProgress() {
74
- // No-op: secondary contexts do not control compilation state
107
+ get waitUntilReady() {
108
+ return this.primaryContext?.waitUntilReady ?? Promise.resolve(false);
109
+ }
110
+ getCompilerOptions() {
111
+ return this.primaryContext?.getCompilerOptions() ?? Promise.resolve({});
75
112
  }
76
113
  async dispose() {
77
114
  // No-op for secondary context to avoid disposing the primary compilation worker
78
115
  }
79
116
  }
117
+ exports.SecondaryCompilationContext = SecondaryCompilationContext;
80
118
  //# sourceMappingURL=compilation-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilation-state.js","sourceRoot":"","sources":["compilation-state.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2DAAqF;AAErF,MAAa,yBAAyB;IACpC,YAAY,CAAqB;IACjC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,wBAAwB,CAAyC;IACjE,wBAAwB,CAA+B;IACvD,UAAU,GAAG,IAAI,CAAC;IAElB,YAAY,WAA+B;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,wBAAwB,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,SAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,SAAS,CAA4B;IAErC,OAAO;QACL,4EAA4E;QAC5E,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AAzDD,8DAyDC;AAED,MAAM,2BAA4B,SAAQ,yBAAyB;IAC7C;IAApB,YAAoB,cAAyC;QAC3D,KAAK,CAAC,IAAI,6BAAe,EAAE,CAAC,CAAC;QADX,mBAAc,GAAd,cAAc,CAA2B;IAE7D,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,CAAC;IAEQ,WAAW,CAAC,SAAkB;QACrC,6DAA6D;IAC/D,CAAC;IAEQ,gBAAgB;QACvB,6DAA6D;IAC/D,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,gFAAgF;IAClF,CAAC;CACF"}
1
+ {"version":3,"file":"compilation-state.js","sourceRoot":"","sources":["compilation-state.ts"],"names":[],"mappings":"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"}
@@ -31,5 +31,6 @@ export interface CompilerPluginOptions {
31
31
  externalRuntimeStyles?: boolean;
32
32
  instrumentForCoverage?: (request: string) => boolean;
33
33
  templateUpdates?: Map<string, string>;
34
+ rootFiles?: string[];
34
35
  }
35
36
  export declare function createCompilerPlugin(pluginOptions: CompilerPluginOptions, compilationContextOrCompilation: AngularCompilationContext | AngularCompilation | (() => Promise<AngularCompilation>), stylesheetBundler: ComponentStylesheetBundler): Plugin;