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

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 +11 -15
  2. package/builders.json +1 -1
  3. package/changes.json +17 -33
  4. package/package.json +36 -51
  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
@@ -6,16 +6,40 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import type { EncodedSourceMap } from '@ampproject/remapping';
9
+ export declare const SOURCEMAP_COMMENT_PREFIX = "//# sourceMappingURL=";
10
+ export declare const SOURCEMAP_COMMENT_BYTES: Buffer<ArrayBuffer>;
11
+ /**
12
+ * Checks for a single trailing `//# sourceMappingURL=` comment on a raw buffer.
13
+ *
14
+ * @param data The raw byte buffer to inspect.
15
+ * @returns An object containing the sliced code buffer and URL snippet if a single trailing comment exists,
16
+ * `null` if no sourcemap comment exists in the buffer, or `undefined` if multiple/non-trailing comments exist.
17
+ */
18
+ export declare function findTrailingSourceMapComment(data: Uint8Array): {
19
+ code: Uint8Array;
20
+ urlLine: string;
21
+ } | null | undefined;
9
22
  /**
10
23
  * Removes `//# sourceMappingURL=` comments safely from the given JavaScript code,
11
24
  * ignoring any occurrences that are inside string literals, template literals, or block comments.
12
25
  *
13
- * It uses a lightweight state-machine parser to accurately handle nested template literals.
26
+ * For raw Uint8Array / Buffer inputs, it optimizes performance by inspecting trailing byte sequences
27
+ * to slice the buffer directly without full string decoding.
14
28
  *
15
- * @param code The JavaScript source code.
29
+ * @param code The JavaScript source code as a string or Uint8Array.
16
30
  * @returns The code with top-level sourcemap comments removed.
17
31
  */
18
32
  export declare function removeSourceMappingURL(code: string): string;
33
+ export declare function removeSourceMappingURL(code: Uint8Array): Uint8Array;
34
+ /**
35
+ * Checks whether a `//# sourceMappingURL=` URL line snippet represents a valid trailing comment at the end of the file.
36
+ */
37
+ export declare function isTrailingSourceMapComment(urlLine: string): boolean;
38
+ /**
39
+ * Resolves and loads the input sourcemap referenced in a `//# sourceMappingURL=` URL line snippet.
40
+ * Supports inline base64 data URIs, local absolute file URLs, and relative/absolute filesystem paths.
41
+ */
42
+ export declare function loadInputSourceMapFromUrl(filename: string, urlLine: string): EncodedSourceMap | undefined;
19
43
  /**
20
44
  * Finds, resolves, and loads the input sourcemap referenced in the code's trailing
21
45
  * sourceMappingURL comment, if present. Supports inline base64 data URIs, local absolute
@@ -7,22 +7,73 @@
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SOURCEMAP_COMMENT_BYTES = exports.SOURCEMAP_COMMENT_PREFIX = void 0;
11
+ exports.findTrailingSourceMapComment = findTrailingSourceMapComment;
10
12
  exports.removeSourceMappingURL = removeSourceMappingURL;
13
+ exports.isTrailingSourceMapComment = isTrailingSourceMapComment;
14
+ exports.loadInputSourceMapFromUrl = loadInputSourceMapFromUrl;
11
15
  exports.loadInputSourceMap = loadInputSourceMap;
12
16
  const node_fs_1 = require("node:fs");
13
17
  const node_path_1 = require("node:path");
14
18
  const node_url_1 = require("node:url");
19
+ exports.SOURCEMAP_COMMENT_PREFIX = '//# sourceMappingURL=';
20
+ exports.SOURCEMAP_COMMENT_BYTES = Buffer.from(exports.SOURCEMAP_COMMENT_PREFIX);
15
21
  /**
16
- * Removes `//# sourceMappingURL=` comments safely from the given JavaScript code,
17
- * ignoring any occurrences that are inside string literals, template literals, or block comments.
22
+ * Checks for a single trailing `//# sourceMappingURL=` comment on a raw buffer.
18
23
  *
19
- * It uses a lightweight state-machine parser to accurately handle nested template literals.
20
- *
21
- * @param code The JavaScript source code.
22
- * @returns The code with top-level sourcemap comments removed.
24
+ * @param data The raw byte buffer to inspect.
25
+ * @returns An object containing the sliced code buffer and URL snippet if a single trailing comment exists,
26
+ * `null` if no sourcemap comment exists in the buffer, or `undefined` if multiple/non-trailing comments exist.
23
27
  */
28
+ function findTrailingSourceMapComment(data) {
29
+ const dataBuffer = Buffer.isBuffer(data)
30
+ ? data
31
+ : Buffer.from(data.buffer, data.byteOffset, data.byteLength);
32
+ const firstIndex = dataBuffer.indexOf(exports.SOURCEMAP_COMMENT_BYTES);
33
+ if (firstIndex === -1) {
34
+ return null;
35
+ }
36
+ const lastIndex = dataBuffer.lastIndexOf(exports.SOURCEMAP_COMMENT_BYTES);
37
+ // Skip any preceding horizontal whitespace (spaces/tabs) to find the start of the line.
38
+ let prevIdx = lastIndex - 1;
39
+ while (prevIdx >= 0 && (dataBuffer[prevIdx] === 32 || dataBuffer[prevIdx] === 9)) {
40
+ prevIdx--;
41
+ }
42
+ // Ensure the comment starts at the beginning of a line or the start of the file,
43
+ // preventing false positives for occurrences inside inline string literals or code.
44
+ const isLineStart = prevIdx < 0 || dataBuffer[prevIdx] === 10 || dataBuffer[prevIdx] === 13;
45
+ if (firstIndex === lastIndex && isLineStart) {
46
+ const urlLine = dataBuffer
47
+ .subarray(lastIndex + exports.SOURCEMAP_COMMENT_BYTES.length)
48
+ .toString('utf-8');
49
+ return {
50
+ code: dataBuffer.subarray(0, prevIdx < 0 ? 0 : prevIdx + 1),
51
+ urlLine,
52
+ };
53
+ }
54
+ return undefined;
55
+ }
24
56
  function removeSourceMappingURL(code) {
25
- if (!code.includes('//# sourceMappingURL=')) {
57
+ if (typeof code === 'string') {
58
+ return removeSourceMappingURLFromString(code);
59
+ }
60
+ const trailing = findTrailingSourceMapComment(code);
61
+ if (trailing === null) {
62
+ return code;
63
+ }
64
+ if (trailing && isTrailingSourceMapComment(trailing.urlLine)) {
65
+ return trailing.code;
66
+ }
67
+ // Fallback to full decode and state-machine stripping for multiple comments or non-trailing comments
68
+ const dataBuffer = Buffer.isBuffer(code)
69
+ ? code
70
+ : Buffer.from(code.buffer, code.byteOffset, code.byteLength);
71
+ const text = dataBuffer.toString('utf-8');
72
+ const stripped = removeSourceMappingURLFromString(text);
73
+ return stripped === text ? code : Buffer.from(stripped, 'utf-8');
74
+ }
75
+ function removeSourceMappingURLFromString(code) {
76
+ if (!code.includes(exports.SOURCEMAP_COMMENT_PREFIX)) {
26
77
  return code;
27
78
  }
28
79
  const result = [];
@@ -58,12 +109,12 @@ function removeSourceMappingURL(code) {
58
109
  isEscaped = true;
59
110
  }
60
111
  }
61
- if (!isEscaped && code.startsWith('//# sourceMappingURL=', i)) {
112
+ if (!isEscaped && code.startsWith(exports.SOURCEMAP_COMMENT_PREFIX, i)) {
62
113
  if (i > lastCopiedIndex) {
63
114
  result.push(code.slice(lastCopiedIndex, i));
64
115
  }
65
116
  // Skip the rest of the comment line up to the newline
66
- i += 21;
117
+ i += exports.SOURCEMAP_COMMENT_PREFIX.length;
67
118
  while (i < len && code[i] !== '\n' && code[i] !== '\r') {
68
119
  i++;
69
120
  }
@@ -179,63 +230,85 @@ function removeSourceMappingURL(code) {
179
230
  return result.join('');
180
231
  }
181
232
  /**
182
- * Finds, resolves, and loads the input sourcemap referenced in the code's trailing
183
- * sourceMappingURL comment, if present. Supports inline base64 data URIs, local absolute
184
- * file URLs, and relative/absolute filesystem paths.
233
+ * Extracts the base64 payload from an inline sourcemap data URI line and verifies
234
+ * that only trailing whitespace follows the payload.
235
+ *
236
+ * @returns The base64 payload string if valid and trailing, or `undefined` otherwise.
185
237
  */
186
- function loadInputSourceMap(filename, code) {
187
- // Locate the last sourceMappingURL comment using lastIndexOf to avoid scanning
188
- // the entire file with a regular expression (significant for large files).
189
- const lastSourceMapIndex = code.lastIndexOf('//# sourceMappingURL=');
190
- if (lastSourceMapIndex === -1) {
238
+ function extractTrailingBase64Payload(urlLine) {
239
+ if (!urlLine.startsWith('data:application/json;')) {
191
240
  return undefined;
192
241
  }
193
- const urlLine = code.slice(lastSourceMapIndex + 21);
194
- // Inline base64-encoded sourcemaps can be extremely large (up to megabytes).
195
- // Parse them without regular expressions to avoid heavy backtracking and allocations.
196
- if (urlLine.startsWith('data:application/json;')) {
197
- const base64StartIndex = urlLine.indexOf('base64,');
198
- if (base64StartIndex === -1) {
199
- return undefined;
200
- }
201
- const payloadStart = base64StartIndex + 7;
202
- let payloadEnd = urlLine.length;
203
- // Find the first trailing whitespace character that marks the end of the base64 payload.
204
- for (let i = payloadStart; i < urlLine.length; i++) {
205
- const char = urlLine[i];
206
- if (char === ' ' || char === '\r' || char === '\n' || char === '\t') {
207
- payloadEnd = i;
208
- break;
209
- }
210
- }
211
- // Verify that everything after the base64 payload is trailing whitespace
212
- // to ensure this is a valid trailing sourceMappingURL comment at the end of the file.
213
- for (let i = payloadEnd; i < urlLine.length; i++) {
214
- const char = urlLine[i];
215
- if (char !== ' ' && char !== '\r' && char !== '\n' && char !== '\t') {
216
- return undefined;
217
- }
218
- }
219
- try {
220
- // Extract the base64 payload and decode it directly into binary memory.
221
- const base64Content = urlLine.slice(payloadStart, payloadEnd);
222
- return JSON.parse(Buffer.from(base64Content, 'base64').toString('utf-8'));
242
+ const base64StartIndex = urlLine.indexOf('base64,');
243
+ if (base64StartIndex === -1) {
244
+ return undefined;
245
+ }
246
+ const payloadStart = base64StartIndex + 7;
247
+ let payloadEnd = urlLine.length;
248
+ // Find the first trailing whitespace character that marks the end of the base64 payload.
249
+ for (let i = payloadStart; i < urlLine.length; i++) {
250
+ const char = urlLine[i];
251
+ if (char === ' ' || char === '\r' || char === '\n' || char === '\t') {
252
+ payloadEnd = i;
253
+ break;
223
254
  }
224
- catch {
255
+ }
256
+ // Verify that everything after the base64 payload is trailing whitespace
257
+ // to ensure this is a valid trailing sourceMappingURL comment at the end of the file.
258
+ for (let i = payloadEnd; i < urlLine.length; i++) {
259
+ const char = urlLine[i];
260
+ if (char !== ' ' && char !== '\r' && char !== '\n' && char !== '\t') {
225
261
  return undefined;
226
262
  }
227
263
  }
228
- // Non-inline sourcemap comments (always small, typically < 200 characters).
229
- const urlMatch = /^([^\r\n\s]+)/.exec(urlLine);
264
+ return urlLine.slice(payloadStart, payloadEnd);
265
+ }
266
+ /**
267
+ * Extracts the URL from an external sourcemap comment line and verifies
268
+ * that only trailing whitespace follows the URL.
269
+ *
270
+ * @returns The URL string if valid and trailing, or `undefined` otherwise.
271
+ */
272
+ function extractTrailingUrl(urlLine) {
273
+ if (urlLine.startsWith('data:')) {
274
+ return undefined;
275
+ }
276
+ const urlMatch = /^([^\r\n\s'"`]+)/.exec(urlLine);
230
277
  if (!urlMatch) {
231
278
  return undefined;
232
279
  }
233
- const url = urlMatch[1];
234
- const remaining = urlLine.slice(url.length);
235
- // Verify there is only whitespace after the URL to the end of the file.
280
+ const remaining = urlLine.slice(urlMatch[1].length);
236
281
  if (!/^\s*$/.test(remaining)) {
237
282
  return undefined;
238
283
  }
284
+ return urlMatch[1];
285
+ }
286
+ /**
287
+ * Checks whether a `//# sourceMappingURL=` URL line snippet represents a valid trailing comment at the end of the file.
288
+ */
289
+ function isTrailingSourceMapComment(urlLine) {
290
+ return (extractTrailingBase64Payload(urlLine) !== undefined || extractTrailingUrl(urlLine) !== undefined);
291
+ }
292
+ /**
293
+ * Resolves and loads the input sourcemap referenced in a `//# sourceMappingURL=` URL line snippet.
294
+ * Supports inline base64 data URIs, local absolute file URLs, and relative/absolute filesystem paths.
295
+ */
296
+ function loadInputSourceMapFromUrl(filename, urlLine) {
297
+ // Inline base64-encoded sourcemaps can be extremely large (up to megabytes).
298
+ // Parse them without regular expressions to avoid heavy backtracking and allocations.
299
+ const base64Payload = extractTrailingBase64Payload(urlLine);
300
+ if (base64Payload !== undefined) {
301
+ try {
302
+ return JSON.parse(Buffer.from(base64Payload, 'base64').toString('utf-8'));
303
+ }
304
+ catch {
305
+ return undefined;
306
+ }
307
+ }
308
+ const url = extractTrailingUrl(urlLine);
309
+ if (!url) {
310
+ return undefined;
311
+ }
239
312
  if (url.startsWith('file://')) {
240
313
  // Local absolute file URL scheme.
241
314
  try {
@@ -258,4 +331,29 @@ function loadInputSourceMap(filename, code) {
258
331
  }
259
332
  return undefined;
260
333
  }
334
+ /**
335
+ * Finds, resolves, and loads the input sourcemap referenced in the code's trailing
336
+ * sourceMappingURL comment, if present. Supports inline base64 data URIs, local absolute
337
+ * file URLs, and relative/absolute filesystem paths.
338
+ */
339
+ function loadInputSourceMap(filename, code) {
340
+ // Locate the last sourceMappingURL comment using lastIndexOf to avoid scanning
341
+ // the entire file with a regular expression (significant for large files).
342
+ const lastSourceMapIndex = code.lastIndexOf(exports.SOURCEMAP_COMMENT_PREFIX);
343
+ if (lastSourceMapIndex === -1) {
344
+ return undefined;
345
+ }
346
+ if (lastSourceMapIndex > 0) {
347
+ // Skip any preceding horizontal whitespace (spaces/tabs) to find the start of the line.
348
+ let prevIdx = lastSourceMapIndex - 1;
349
+ while (prevIdx >= 0 && (code[prevIdx] === ' ' || code[prevIdx] === '\t')) {
350
+ prevIdx--;
351
+ }
352
+ // Ensure the comment starts at the beginning of a line, preventing false positives within code or strings.
353
+ if (prevIdx >= 0 && code[prevIdx] !== '\n' && code[prevIdx] !== '\r') {
354
+ return undefined;
355
+ }
356
+ }
357
+ return loadInputSourceMapFromUrl(filename, code.slice(lastSourceMapIndex + exports.SOURCEMAP_COMMENT_PREFIX.length));
358
+ }
261
359
  //# sourceMappingURL=source-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-map.js","sourceRoot":"","sources":["source-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-map.js","sourceRoot":"","sources":["source-map.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { ResultFile } from '../builders/application/results';
11
11
  * This function handles both in-memory and on-disk files, creating subdirectories
12
12
  * as needed.
13
13
  *
14
- * @param files A map of file paths to `ResultFile` objects, representing the build output.
14
+ * @param files A collection of `ResultFile` objects, representing the build output.
15
15
  * @param testDir The absolute path to the directory where the files should be written.
16
16
  */
17
- export declare function writeTestFiles(files: Record<string, ResultFile>, testDir: string): Promise<void>;
17
+ export declare function writeTestFiles(files: readonly ResultFile[], testDir: string): Promise<void>;
@@ -53,17 +53,17 @@ const utils_1 = require("../tools/esbuild/utils");
53
53
  * This function handles both in-memory and on-disk files, creating subdirectories
54
54
  * as needed.
55
55
  *
56
- * @param files A map of file paths to `ResultFile` objects, representing the build output.
56
+ * @param files A collection of `ResultFile` objects, representing the build output.
57
57
  * @param testDir The absolute path to the directory where the files should be written.
58
58
  */
59
59
  async function writeTestFiles(files, testDir) {
60
60
  const directoryExists = new Set();
61
61
  // Writes the test related output files to disk and ensures the containing directories are present
62
- await (0, utils_1.emitFilesToDisk)(Object.entries(files), async ([filePath, file]) => {
62
+ await (0, utils_1.emitFilesToDisk)(files, async (file) => {
63
63
  if (file.type !== bundler_files_1.BuildOutputFileType.Browser && file.type !== bundler_files_1.BuildOutputFileType.Media) {
64
64
  return;
65
65
  }
66
- const fullFilePath = node_path_1.default.join(testDir, filePath);
66
+ const fullFilePath = node_path_1.default.join(testDir, file.path);
67
67
  // Ensure output subdirectories exist
68
68
  const fileBasePath = node_path_1.default.dirname(fullFilePath);
69
69
  if (fileBasePath && !directoryExists.has(fileBasePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"test-files.js","sourceRoot":"","sources":["test-files.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,wCA4BC;AA1CD,qDAAuC;AACvC,0DAA6B;AAE7B,kEAAqE;AACrE,kDAAyD;AAEzD;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAClC,KAAiC,EACjC,OAAe;IAEf,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,kGAAkG;IAClG,MAAM,IAAA,uBAAe,EAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACtE,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,KAAK,EAAE,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAElD,qCAAqC;QACrC,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,sBAAsB;YACtB,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"test-files.js","sourceRoot":"","sources":["test-files.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,wCAyBC;AAvCD,qDAAuC;AACvC,0DAA6B;AAE7B,kEAAqE;AACrE,kDAAyD;AAEzD;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,KAA4B,EAAE,OAAe;IAChF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,kGAAkG;IAClG,MAAM,IAAA,uBAAe,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,KAAK,EAAE,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnD,qCAAqC;QACrC,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,sBAAsB;YACtB,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,61 @@
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 declare class ChangedFiles {
9
+ readonly added: Set<string>;
10
+ readonly modified: Set<string>;
11
+ readonly removed: Set<string>;
12
+ get all(): string[];
13
+ toDebugString(): string;
14
+ }
15
+ export interface BuildWatcher extends AsyncIterableIterator<ChangedFiles> {
16
+ add(paths: string | readonly string[]): void;
17
+ remove(paths: string | readonly string[]): void;
18
+ close(): Promise<void>;
19
+ }
20
+ export interface WatcherOptions {
21
+ polling?: boolean;
22
+ interval?: number;
23
+ ignored?: string[];
24
+ followSymlinks?: boolean;
25
+ cwd?: string;
26
+ }
27
+ export interface SetupWatcherOptions {
28
+ workspaceRoot: string;
29
+ projectRoot: string;
30
+ outputPath: string;
31
+ cacheOptions: {
32
+ basePath: string;
33
+ localBasePath?: string;
34
+ };
35
+ poll?: number;
36
+ preserveSymlinks?: boolean;
37
+ signal?: AbortSignal;
38
+ watchFiles?: Iterable<string>;
39
+ }
40
+ /**
41
+ * Sets up and initializes a file watcher with proper ignore patterns for build outputs and caches.
42
+ */
43
+ export declare function setupWatcher(options: SetupWatcherOptions): Promise<BuildWatcher>;
44
+ /**
45
+ * Normalizes a file system path string to POSIX format (forward slashes '/')
46
+ * and strips trailing slashes (except root '/' or Windows drive root 'C:/').
47
+ */
48
+ export declare function toPosixPathNormalized(pathString: string): string;
49
+ /**
50
+ * Returns the parent directory of a normalized POSIX path, correctly handling Windows drive roots.
51
+ */
52
+ export declare function getDirectoryPath(posixPath: string): string;
53
+ export declare function createWatcher(options?: WatcherOptions): Promise<BuildWatcher>;
54
+ /**
55
+ * Checks whether a file path is located inside a parent directory.
56
+ *
57
+ * Input Expectations:
58
+ * - Both `file` and `dir` must be normalized POSIX-style paths (using forward slashes '/').
59
+ * - Both paths must share the same casing normalization (e.g., lowercased on case-insensitive file systems).
60
+ */
61
+ export declare function isPathInside(file: string, dir: string): boolean;