@depup/angular-devkit__build-angular 21.2.2-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 (385) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +46 -0
  3. package/builders.json +76 -0
  4. package/changes.json +70 -0
  5. package/index.d.ts +8 -0
  6. package/index.js +25 -0
  7. package/index.js.map +1 -0
  8. package/package.json +229 -0
  9. package/plugins/karma.d.ts +7 -0
  10. package/plugins/karma.js +10 -0
  11. package/plugins/karma.js.map +1 -0
  12. package/src/builders/app-shell/index.d.ts +11 -0
  13. package/src/builders/app-shell/index.js +193 -0
  14. package/src/builders/app-shell/index.js.map +1 -0
  15. package/src/builders/app-shell/render-worker.d.ts +36 -0
  16. package/src/builders/app-shell/render-worker.js +115 -0
  17. package/src/builders/app-shell/render-worker.js.map +1 -0
  18. package/src/builders/app-shell/schema.d.ts +36 -0
  19. package/src/builders/app-shell/schema.js +5 -0
  20. package/src/builders/app-shell/schema.js.map +1 -0
  21. package/src/builders/app-shell/schema.json +37 -0
  22. package/src/builders/browser/index.d.ts +42 -0
  23. package/src/builders/browser/index.js +342 -0
  24. package/src/builders/browser/index.js.map +1 -0
  25. package/src/builders/browser/schema.d.ts +441 -0
  26. package/src/builders/browser/schema.js +65 -0
  27. package/src/builders/browser/schema.js.map +1 -0
  28. package/src/builders/browser/schema.json +548 -0
  29. package/src/builders/browser-esbuild/index.d.ts +28 -0
  30. package/src/builders/browser-esbuild/index.js +53 -0
  31. package/src/builders/browser-esbuild/index.js.map +1 -0
  32. package/src/builders/browser-esbuild/schema.d.ts +431 -0
  33. package/src/builders/browser-esbuild/schema.js +59 -0
  34. package/src/builders/browser-esbuild/schema.js.map +1 -0
  35. package/src/builders/browser-esbuild/schema.json +541 -0
  36. package/src/builders/dev-server/builder.d.ts +44 -0
  37. package/src/builders/dev-server/builder.js +160 -0
  38. package/src/builders/dev-server/builder.js.map +1 -0
  39. package/src/builders/dev-server/index.d.ts +14 -0
  40. package/src/builders/dev-server/index.js +16 -0
  41. package/src/builders/dev-server/index.js.map +1 -0
  42. package/src/builders/dev-server/options.d.ts +52 -0
  43. package/src/builders/dev-server/options.js +116 -0
  44. package/src/builders/dev-server/options.js.map +1 -0
  45. package/src/builders/dev-server/schema.d.ts +118 -0
  46. package/src/builders/dev-server/schema.js +5 -0
  47. package/src/builders/dev-server/schema.js.map +1 -0
  48. package/src/builders/dev-server/schema.json +135 -0
  49. package/src/builders/dev-server/webpack-server.d.ts +35 -0
  50. package/src/builders/dev-server/webpack-server.js +296 -0
  51. package/src/builders/dev-server/webpack-server.js.map +1 -0
  52. package/src/builders/extract-i18n/application-extraction.d.ts +17 -0
  53. package/src/builders/extract-i18n/application-extraction.js +136 -0
  54. package/src/builders/extract-i18n/application-extraction.js.map +1 -0
  55. package/src/builders/extract-i18n/builder.d.ts +17 -0
  56. package/src/builders/extract-i18n/builder.js +178 -0
  57. package/src/builders/extract-i18n/builder.js.map +1 -0
  58. package/src/builders/extract-i18n/empty-loader.d.ts +8 -0
  59. package/src/builders/extract-i18n/empty-loader.js +14 -0
  60. package/src/builders/extract-i18n/empty-loader.js.map +1 -0
  61. package/src/builders/extract-i18n/index.d.ts +12 -0
  62. package/src/builders/extract-i18n/index.js +15 -0
  63. package/src/builders/extract-i18n/index.js.map +1 -0
  64. package/src/builders/extract-i18n/ivy-extract-loader.d.ts +13 -0
  65. package/src/builders/extract-i18n/ivy-extract-loader.js +131 -0
  66. package/src/builders/extract-i18n/ivy-extract-loader.js.map +1 -0
  67. package/src/builders/extract-i18n/options.d.ts +33 -0
  68. package/src/builders/extract-i18n/options.js +86 -0
  69. package/src/builders/extract-i18n/options.js.map +1 -0
  70. package/src/builders/extract-i18n/schema.d.ts +53 -0
  71. package/src/builders/extract-i18n/schema.js +30 -0
  72. package/src/builders/extract-i18n/schema.js.map +1 -0
  73. package/src/builders/extract-i18n/schema.json +38 -0
  74. package/src/builders/extract-i18n/webpack-extraction.d.ts +21 -0
  75. package/src/builders/extract-i18n/webpack-extraction.js +99 -0
  76. package/src/builders/extract-i18n/webpack-extraction.js.map +1 -0
  77. package/src/builders/jest/index.d.ts +11 -0
  78. package/src/builders/jest/index.js +213 -0
  79. package/src/builders/jest/index.js.map +1 -0
  80. package/src/builders/jest/init-test-bed.mjs +24 -0
  81. package/src/builders/jest/jest-global.mjs +19 -0
  82. package/src/builders/jest/jest.config.mjs +11 -0
  83. package/src/builders/jest/options.d.ts +21 -0
  84. package/src/builders/jest/options.js +25 -0
  85. package/src/builders/jest/options.js.map +1 -0
  86. package/src/builders/jest/schema.d.ts +26 -0
  87. package/src/builders/jest/schema.js +5 -0
  88. package/src/builders/jest/schema.js.map +1 -0
  89. package/src/builders/jest/schema.json +44 -0
  90. package/src/builders/karma/browser_builder.d.ts +20 -0
  91. package/src/builders/karma/browser_builder.js +195 -0
  92. package/src/builders/karma/browser_builder.js.map +1 -0
  93. package/src/builders/karma/find-tests-plugin.d.ts +20 -0
  94. package/src/builders/karma/find-tests-plugin.js +59 -0
  95. package/src/builders/karma/find-tests-plugin.js.map +1 -0
  96. package/src/builders/karma/index.d.ts +26 -0
  97. package/src/builders/karma/index.js +183 -0
  98. package/src/builders/karma/index.js.map +1 -0
  99. package/src/builders/karma/schema.d.ts +218 -0
  100. package/src/builders/karma/schema.js +26 -0
  101. package/src/builders/karma/schema.js.map +1 -0
  102. package/src/builders/karma/schema.json +324 -0
  103. package/src/builders/ng-packagr/index.d.ts +17 -0
  104. package/src/builders/ng-packagr/index.js +80 -0
  105. package/src/builders/ng-packagr/index.js.map +1 -0
  106. package/src/builders/ng-packagr/schema.d.ts +21 -0
  107. package/src/builders/ng-packagr/schema.js +5 -0
  108. package/src/builders/ng-packagr/schema.js.map +1 -0
  109. package/src/builders/ng-packagr/schema.json +27 -0
  110. package/src/builders/prerender/index.d.ts +19 -0
  111. package/src/builders/prerender/index.js +242 -0
  112. package/src/builders/prerender/index.js.map +1 -0
  113. package/src/builders/prerender/render-worker.d.ts +30 -0
  114. package/src/builders/prerender/render-worker.js +141 -0
  115. package/src/builders/prerender/render-worker.js.map +1 -0
  116. package/src/builders/prerender/routes-extractor-worker.d.ts +20 -0
  117. package/src/builders/prerender/routes-extractor-worker.js +84 -0
  118. package/src/builders/prerender/routes-extractor-worker.js.map +1 -0
  119. package/src/builders/prerender/schema.d.ts +24 -0
  120. package/src/builders/prerender/schema.js +5 -0
  121. package/src/builders/prerender/schema.js.map +1 -0
  122. package/src/builders/prerender/schema.json +39 -0
  123. package/src/builders/protractor/index.d.ts +16 -0
  124. package/src/builders/protractor/index.js +177 -0
  125. package/src/builders/protractor/index.js.map +1 -0
  126. package/src/builders/protractor/schema.d.ts +47 -0
  127. package/src/builders/protractor/schema.js +5 -0
  128. package/src/builders/protractor/schema.js.map +1 -0
  129. package/src/builders/protractor/schema.json +58 -0
  130. package/src/builders/protractor-error/index.d.ts +10 -0
  131. package/src/builders/protractor-error/index.js +15 -0
  132. package/src/builders/protractor-error/index.js.map +1 -0
  133. package/src/builders/server/index.d.ts +32 -0
  134. package/src/builders/server/index.js +223 -0
  135. package/src/builders/server/index.js.map +1 -0
  136. package/src/builders/server/platform-server-exports-loader.d.ts +16 -0
  137. package/src/builders/server/platform-server-exports-loader.js +35 -0
  138. package/src/builders/server/platform-server-exports-loader.js.map +1 -0
  139. package/src/builders/server/schema.d.ts +229 -0
  140. package/src/builders/server/schema.js +37 -0
  141. package/src/builders/server/schema.js.map +1 -0
  142. package/src/builders/server/schema.json +301 -0
  143. package/src/builders/ssr-dev-server/index.d.ts +23 -0
  144. package/src/builders/ssr-dev-server/index.js +316 -0
  145. package/src/builders/ssr-dev-server/index.js.map +1 -0
  146. package/src/builders/ssr-dev-server/schema.d.ts +64 -0
  147. package/src/builders/ssr-dev-server/schema.js +5 -0
  148. package/src/builders/ssr-dev-server/schema.js.map +1 -0
  149. package/src/builders/ssr-dev-server/schema.json +75 -0
  150. package/src/builders/ssr-dev-server/utils.d.ts +15 -0
  151. package/src/builders/ssr-dev-server/utils.js +74 -0
  152. package/src/builders/ssr-dev-server/utils.js.map +1 -0
  153. package/src/builders/web-test-runner/builder-status-warnings.d.ts +11 -0
  154. package/src/builders/web-test-runner/builder-status-warnings.js +46 -0
  155. package/src/builders/web-test-runner/builder-status-warnings.js.map +1 -0
  156. package/src/builders/web-test-runner/index.d.ts +10 -0
  157. package/src/builders/web-test-runner/index.js +162 -0
  158. package/src/builders/web-test-runner/index.js.map +1 -0
  159. package/src/builders/web-test-runner/jasmine_runner.js +91 -0
  160. package/src/builders/web-test-runner/options.d.ts +24 -0
  161. package/src/builders/web-test-runner/options.js +26 -0
  162. package/src/builders/web-test-runner/options.js.map +1 -0
  163. package/src/builders/web-test-runner/schema.d.ts +192 -0
  164. package/src/builders/web-test-runner/schema.js +16 -0
  165. package/src/builders/web-test-runner/schema.js.map +1 -0
  166. package/src/builders/web-test-runner/schema.json +297 -0
  167. package/src/builders/web-test-runner/test_page.html +40 -0
  168. package/src/builders/web-test-runner/write-test-files.d.ts +9 -0
  169. package/src/builders/web-test-runner/write-test-files.js +42 -0
  170. package/src/builders/web-test-runner/write-test-files.js.map +1 -0
  171. package/src/index.d.ts +30 -0
  172. package/src/index.js +55 -0
  173. package/src/index.js.map +1 -0
  174. package/src/tools/babel/babel-loader.d.ts +34 -0
  175. package/src/tools/babel/plugins/add-code-coverage.d.ts +14 -0
  176. package/src/tools/babel/plugins/add-code-coverage.js +45 -0
  177. package/src/tools/babel/plugins/add-code-coverage.js.map +1 -0
  178. package/src/tools/babel/plugins/types.d.ts +20 -0
  179. package/src/tools/babel/presets/application.d.ts +50 -0
  180. package/src/tools/babel/presets/application.js +189 -0
  181. package/src/tools/babel/presets/application.js.map +1 -0
  182. package/src/tools/babel/webpack-loader.d.ts +18 -0
  183. package/src/tools/babel/webpack-loader.js +201 -0
  184. package/src/tools/babel/webpack-loader.js.map +1 -0
  185. package/src/tools/webpack/configs/common.d.ts +10 -0
  186. package/src/tools/webpack/configs/common.js +433 -0
  187. package/src/tools/webpack/configs/common.js.map +1 -0
  188. package/src/tools/webpack/configs/dev-server.d.ts +16 -0
  189. package/src/tools/webpack/configs/dev-server.js +313 -0
  190. package/src/tools/webpack/configs/dev-server.js.map +1 -0
  191. package/src/tools/webpack/configs/index.d.ts +10 -0
  192. package/src/tools/webpack/configs/index.js +27 -0
  193. package/src/tools/webpack/configs/index.js.map +1 -0
  194. package/src/tools/webpack/configs/styles.d.ts +10 -0
  195. package/src/tools/webpack/configs/styles.js +384 -0
  196. package/src/tools/webpack/configs/styles.js.map +1 -0
  197. package/src/tools/webpack/plugins/any-component-style-budget-checker.d.ts +18 -0
  198. package/src/tools/webpack/plugins/any-component-style-budget-checker.js +100 -0
  199. package/src/tools/webpack/plugins/any-component-style-budget-checker.js.map +1 -0
  200. package/src/tools/webpack/plugins/builder-watch-plugin.d.ts +23 -0
  201. package/src/tools/webpack/plugins/builder-watch-plugin.js +102 -0
  202. package/src/tools/webpack/plugins/builder-watch-plugin.js.map +1 -0
  203. package/src/tools/webpack/plugins/common-js-usage-warn-plugin.d.ts +21 -0
  204. package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js +126 -0
  205. package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js.map +1 -0
  206. package/src/tools/webpack/plugins/css-optimizer-plugin.d.ts +35 -0
  207. package/src/tools/webpack/plugins/css-optimizer-plugin.js +124 -0
  208. package/src/tools/webpack/plugins/css-optimizer-plugin.js.map +1 -0
  209. package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.d.ts +29 -0
  210. package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js +76 -0
  211. package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js.map +1 -0
  212. package/src/tools/webpack/plugins/devtools-ignore-plugin.d.ts +16 -0
  213. package/src/tools/webpack/plugins/devtools-ignore-plugin.js +57 -0
  214. package/src/tools/webpack/plugins/devtools-ignore-plugin.js.map +1 -0
  215. package/src/tools/webpack/plugins/esbuild-executor.d.ts +46 -0
  216. package/src/tools/webpack/plugins/esbuild-executor.js +134 -0
  217. package/src/tools/webpack/plugins/esbuild-executor.js.map +1 -0
  218. package/src/tools/webpack/plugins/hmr/hmr-accept.d.ts +8 -0
  219. package/src/tools/webpack/plugins/hmr/hmr-accept.js +185 -0
  220. package/src/tools/webpack/plugins/hmr/hmr-accept.js.map +1 -0
  221. package/src/tools/webpack/plugins/hmr/hmr-loader.d.ts +9 -0
  222. package/src/tools/webpack/plugins/hmr/hmr-loader.js +25 -0
  223. package/src/tools/webpack/plugins/hmr/hmr-loader.js.map +1 -0
  224. package/src/tools/webpack/plugins/index-html-webpack-plugin.d.ts +20 -0
  225. package/src/tools/webpack/plugins/index-html-webpack-plugin.js +88 -0
  226. package/src/tools/webpack/plugins/index-html-webpack-plugin.js.map +1 -0
  227. package/src/tools/webpack/plugins/index.d.ts +16 -0
  228. package/src/tools/webpack/plugins/index.js +33 -0
  229. package/src/tools/webpack/plugins/index.js.map +1 -0
  230. package/src/tools/webpack/plugins/javascript-optimizer-plugin.d.ts +59 -0
  231. package/src/tools/webpack/plugins/javascript-optimizer-plugin.js +168 -0
  232. package/src/tools/webpack/plugins/javascript-optimizer-plugin.js.map +1 -0
  233. package/src/tools/webpack/plugins/javascript-optimizer-worker.d.ts +91 -0
  234. package/src/tools/webpack/plugins/javascript-optimizer-worker.js +135 -0
  235. package/src/tools/webpack/plugins/javascript-optimizer-worker.js.map +1 -0
  236. package/src/tools/webpack/plugins/json-stats-plugin.d.ts +13 -0
  237. package/src/tools/webpack/plugins/json-stats-plugin.js +71 -0
  238. package/src/tools/webpack/plugins/json-stats-plugin.js.map +1 -0
  239. package/src/tools/webpack/plugins/karma/karma-context.html +44 -0
  240. package/src/tools/webpack/plugins/karma/karma-debug.html +46 -0
  241. package/src/tools/webpack/plugins/karma/karma.d.ts +8 -0
  242. package/src/tools/webpack/plugins/karma/karma.js +196 -0
  243. package/src/tools/webpack/plugins/karma/karma.js.map +1 -0
  244. package/src/tools/webpack/plugins/named-chunks-plugin.d.ts +17 -0
  245. package/src/tools/webpack/plugins/named-chunks-plugin.js +59 -0
  246. package/src/tools/webpack/plugins/named-chunks-plugin.js.map +1 -0
  247. package/src/tools/webpack/plugins/occurrences-plugin.d.ts +18 -0
  248. package/src/tools/webpack/plugins/occurrences-plugin.js +81 -0
  249. package/src/tools/webpack/plugins/occurrences-plugin.js.map +1 -0
  250. package/src/tools/webpack/plugins/postcss-cli-resources.d.ts +21 -0
  251. package/src/tools/webpack/plugins/postcss-cli-resources.js +189 -0
  252. package/src/tools/webpack/plugins/postcss-cli-resources.js.map +1 -0
  253. package/src/tools/webpack/plugins/progress-plugin.d.ts +11 -0
  254. package/src/tools/webpack/plugins/progress-plugin.js +39 -0
  255. package/src/tools/webpack/plugins/progress-plugin.js.map +1 -0
  256. package/src/tools/webpack/plugins/remove-hash-plugin.d.ts +18 -0
  257. package/src/tools/webpack/plugins/remove-hash-plugin.js +32 -0
  258. package/src/tools/webpack/plugins/remove-hash-plugin.js.map +1 -0
  259. package/src/tools/webpack/plugins/scripts-webpack-plugin.d.ts +24 -0
  260. package/src/tools/webpack/plugins/scripts-webpack-plugin.js +196 -0
  261. package/src/tools/webpack/plugins/scripts-webpack-plugin.js.map +1 -0
  262. package/src/tools/webpack/plugins/service-worker-plugin.d.ts +19 -0
  263. package/src/tools/webpack/plugins/service-worker-plugin.js +47 -0
  264. package/src/tools/webpack/plugins/service-worker-plugin.js.map +1 -0
  265. package/src/tools/webpack/plugins/styles-webpack-plugin.d.ts +19 -0
  266. package/src/tools/webpack/plugins/styles-webpack-plugin.js +74 -0
  267. package/src/tools/webpack/plugins/styles-webpack-plugin.js.map +1 -0
  268. package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.d.ts +14 -0
  269. package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +52 -0
  270. package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js.map +1 -0
  271. package/src/tools/webpack/plugins/transfer-size-plugin.d.ts +12 -0
  272. package/src/tools/webpack/plugins/transfer-size-plugin.js +50 -0
  273. package/src/tools/webpack/plugins/transfer-size-plugin.js.map +1 -0
  274. package/src/tools/webpack/plugins/typescript.d.ts +10 -0
  275. package/src/tools/webpack/plugins/typescript.js +53 -0
  276. package/src/tools/webpack/plugins/typescript.js.map +1 -0
  277. package/src/tools/webpack/plugins/watch-files-logs-plugin.d.ts +11 -0
  278. package/src/tools/webpack/plugins/watch-files-logs-plugin.js +28 -0
  279. package/src/tools/webpack/plugins/watch-files-logs-plugin.js.map +1 -0
  280. package/src/tools/webpack/utils/async-chunks.d.ts +16 -0
  281. package/src/tools/webpack/utils/async-chunks.js +45 -0
  282. package/src/tools/webpack/utils/async-chunks.js.map +1 -0
  283. package/src/tools/webpack/utils/helpers.d.ts +43 -0
  284. package/src/tools/webpack/utils/helpers.js +301 -0
  285. package/src/tools/webpack/utils/helpers.js.map +1 -0
  286. package/src/tools/webpack/utils/stats.d.ts +32 -0
  287. package/src/tools/webpack/utils/stats.js +301 -0
  288. package/src/tools/webpack/utils/stats.js.map +1 -0
  289. package/src/transforms.d.ts +8 -0
  290. package/src/transforms.js +10 -0
  291. package/src/transforms.js.map +1 -0
  292. package/src/utils/action-executor.d.ts +35 -0
  293. package/src/utils/action-executor.js +61 -0
  294. package/src/utils/action-executor.js.map +1 -0
  295. package/src/utils/build-options.d.ts +75 -0
  296. package/src/utils/build-options.js +10 -0
  297. package/src/utils/build-options.js.map +1 -0
  298. package/src/utils/bundle-inline-options.d.ts +15 -0
  299. package/src/utils/bundle-inline-options.js +10 -0
  300. package/src/utils/bundle-inline-options.js.map +1 -0
  301. package/src/utils/color.d.ts +10 -0
  302. package/src/utils/color.js +74 -0
  303. package/src/utils/color.js.map +1 -0
  304. package/src/utils/copy-assets.d.ts +18 -0
  305. package/src/utils/copy-assets.js +51 -0
  306. package/src/utils/copy-assets.js.map +1 -0
  307. package/src/utils/default-progress.d.ts +8 -0
  308. package/src/utils/default-progress.js +17 -0
  309. package/src/utils/default-progress.js.map +1 -0
  310. package/src/utils/environment-options.d.ts +16 -0
  311. package/src/utils/environment-options.js +83 -0
  312. package/src/utils/environment-options.js.map +1 -0
  313. package/src/utils/error.d.ts +10 -0
  314. package/src/utils/error.js +21 -0
  315. package/src/utils/error.js.map +1 -0
  316. package/src/utils/i18n-inlining.d.ts +11 -0
  317. package/src/utils/i18n-inlining.js +131 -0
  318. package/src/utils/i18n-inlining.js.map +1 -0
  319. package/src/utils/i18n-webpack.d.ts +16 -0
  320. package/src/utils/i18n-webpack.js +108 -0
  321. package/src/utils/i18n-webpack.js.map +1 -0
  322. package/src/utils/index.d.ts +16 -0
  323. package/src/utils/index.js +36 -0
  324. package/src/utils/index.js.map +1 -0
  325. package/src/utils/load-esm.d.ts +20 -0
  326. package/src/utils/load-esm.js +31 -0
  327. package/src/utils/load-esm.js.map +1 -0
  328. package/src/utils/normalize-asset-patterns.d.ts +14 -0
  329. package/src/utils/normalize-asset-patterns.js +107 -0
  330. package/src/utils/normalize-asset-patterns.js.map +1 -0
  331. package/src/utils/normalize-builder-schema.d.ts +23 -0
  332. package/src/utils/normalize-builder-schema.js +44 -0
  333. package/src/utils/normalize-builder-schema.js.map +1 -0
  334. package/src/utils/normalize-cache.d.ts +16 -0
  335. package/src/utils/normalize-cache.js +44 -0
  336. package/src/utils/normalize-cache.js.map +1 -0
  337. package/src/utils/normalize-file-replacements.d.ts +16 -0
  338. package/src/utils/normalize-file-replacements.js +87 -0
  339. package/src/utils/normalize-file-replacements.js.map +1 -0
  340. package/src/utils/normalize-optimization.d.ts +13 -0
  341. package/src/utils/normalize-optimization.js +40 -0
  342. package/src/utils/normalize-optimization.js.map +1 -0
  343. package/src/utils/normalize-polyfills.d.ts +8 -0
  344. package/src/utils/normalize-polyfills.js +24 -0
  345. package/src/utils/normalize-polyfills.js.map +1 -0
  346. package/src/utils/normalize-source-maps.d.ts +9 -0
  347. package/src/utils/normalize-source-maps.js +23 -0
  348. package/src/utils/normalize-source-maps.js.map +1 -0
  349. package/src/utils/output-paths.d.ts +9 -0
  350. package/src/utils/output-paths.js +27 -0
  351. package/src/utils/output-paths.js.map +1 -0
  352. package/src/utils/package-chunk-sort.d.ts +14 -0
  353. package/src/utils/package-chunk-sort.js +35 -0
  354. package/src/utils/package-chunk-sort.js.map +1 -0
  355. package/src/utils/package-version.d.ts +8 -0
  356. package/src/utils/package-version.js +12 -0
  357. package/src/utils/package-version.js.map +1 -0
  358. package/src/utils/process-bundle.d.ts +22 -0
  359. package/src/utils/process-bundle.js +315 -0
  360. package/src/utils/process-bundle.js.map +1 -0
  361. package/src/utils/read-tsconfig.d.ts +16 -0
  362. package/src/utils/read-tsconfig.js +61 -0
  363. package/src/utils/read-tsconfig.js.map +1 -0
  364. package/src/utils/run-module-as-observable-fork.d.ts +10 -0
  365. package/src/utils/run-module-as-observable-fork.js +78 -0
  366. package/src/utils/run-module-as-observable-fork.js.map +1 -0
  367. package/src/utils/run-module-worker.js +18 -0
  368. package/src/utils/spinner.d.ts +20 -0
  369. package/src/utils/spinner.js +56 -0
  370. package/src/utils/spinner.js.map +1 -0
  371. package/src/utils/test-files.d.ts +18 -0
  372. package/src/utils/test-files.js +32 -0
  373. package/src/utils/test-files.js.map +1 -0
  374. package/src/utils/tty.d.ts +8 -0
  375. package/src/utils/tty.js +23 -0
  376. package/src/utils/tty.js.map +1 -0
  377. package/src/utils/url.d.ts +8 -0
  378. package/src/utils/url.js +18 -0
  379. package/src/utils/url.js.map +1 -0
  380. package/src/utils/webpack-browser-config.d.ts +29 -0
  381. package/src/utils/webpack-browser-config.js +161 -0
  382. package/src/utils/webpack-browser-config.js.map +1 -0
  383. package/src/utils/webpack-diagnostics.d.ts +10 -0
  384. package/src/utils/webpack-diagnostics.js +18 -0
  385. package/src/utils/webpack-diagnostics.js.map +1 -0
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ng-packagr target options for Build Architect. Use to build library projects.
3
+ */
4
+ export type Schema = {
5
+ /**
6
+ * Enable and define the file watching poll time period in milliseconds.
7
+ */
8
+ poll?: number;
9
+ /**
10
+ * The file path for the ng-packagr configuration file, relative to the current workspace.
11
+ */
12
+ project: string;
13
+ /**
14
+ * The full path for the TypeScript configuration file, relative to the current workspace.
15
+ */
16
+ tsConfig?: string;
17
+ /**
18
+ * Run build when files change.
19
+ */
20
+ watch?: boolean;
21
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
+ // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "ng-packagr Target",
4
+ "description": "ng-packagr target options for Build Architect. Use to build library projects.",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "The file path for the ng-packagr configuration file, relative to the current workspace."
10
+ },
11
+ "tsConfig": {
12
+ "type": "string",
13
+ "description": "The full path for the TypeScript configuration file, relative to the current workspace."
14
+ },
15
+ "watch": {
16
+ "type": "boolean",
17
+ "description": "Run build when files change.",
18
+ "default": false
19
+ },
20
+ "poll": {
21
+ "type": "number",
22
+ "description": "Enable and define the file watching poll time period in milliseconds."
23
+ }
24
+ },
25
+ "additionalProperties": false,
26
+ "required": ["project"]
27
+ }
@@ -0,0 +1,19 @@
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 { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
9
+ import { Schema } from './schema';
10
+ type PrerenderBuilderOptions = Schema;
11
+ type PrerenderBuilderOutput = BuilderOutput;
12
+ /**
13
+ * Builds the browser and server, then renders each route in options.routes
14
+ * and writes them to prerender/<route>/index.html for each output path in
15
+ * the browser result.
16
+ */
17
+ export declare function execute(options: PrerenderBuilderOptions, context: BuilderContext): Promise<PrerenderBuilderOutput>;
18
+ declare const _default: import("@angular-devkit/architect").Builder<Schema & import("@angular-devkit/core").JsonObject>;
19
+ export default _default;
@@ -0,0 +1,242 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.execute = execute;
47
+ const private_1 = require("@angular/build/private");
48
+ const architect_1 = require("@angular-devkit/architect");
49
+ const fs = __importStar(require("node:fs"));
50
+ const promises_1 = require("node:fs/promises");
51
+ const path = __importStar(require("node:path"));
52
+ const ora_1 = __importDefault(require("ora"));
53
+ const piscina_1 = __importDefault(require("piscina"));
54
+ const utils_1 = require("../../utils");
55
+ const environment_options_1 = require("../../utils/environment-options");
56
+ const error_1 = require("../../utils/error");
57
+ const webpack_browser_config_1 = require("../../utils/webpack-browser-config");
58
+ class RoutesSet extends Set {
59
+ add(value) {
60
+ return super.add(value.charAt(0) === '/' ? value.slice(1) : value);
61
+ }
62
+ }
63
+ async function getRoutes(indexFile, outputPath, serverBundlePath, options, workspaceRoot) {
64
+ const { routes: extraRoutes = [], routesFile, discoverRoutes } = options;
65
+ const routes = new RoutesSet(extraRoutes);
66
+ if (routesFile) {
67
+ const routesFromFile = (await (0, promises_1.readFile)(path.join(workspaceRoot, routesFile), 'utf8')).split(/\r?\n/);
68
+ for (const route of routesFromFile) {
69
+ routes.add(route);
70
+ }
71
+ }
72
+ let zonePackage;
73
+ try {
74
+ zonePackage = require.resolve('zone.js/node', { paths: [workspaceRoot] });
75
+ }
76
+ catch { }
77
+ if (discoverRoutes) {
78
+ const renderWorker = new piscina_1.default({
79
+ filename: require.resolve('./routes-extractor-worker'),
80
+ maxThreads: 1,
81
+ workerData: {
82
+ indexFile,
83
+ outputPath,
84
+ serverBundlePath,
85
+ zonePackage,
86
+ },
87
+ recordTiming: false,
88
+ });
89
+ const extractedRoutes = await renderWorker
90
+ .run({})
91
+ .finally(() => void renderWorker.destroy());
92
+ for (const route of extractedRoutes) {
93
+ routes.add(route);
94
+ }
95
+ }
96
+ if (routes.size === 0) {
97
+ throw new Error('Could not find any routes to prerender.');
98
+ }
99
+ return [...routes];
100
+ }
101
+ /**
102
+ * Schedules the server and browser builds and returns their results if both builds are successful.
103
+ */
104
+ async function _scheduleBuilds(options, context) {
105
+ const browserTarget = (0, architect_1.targetFromTargetString)(options.browserTarget);
106
+ const serverTarget = (0, architect_1.targetFromTargetString)(options.serverTarget);
107
+ const browserTargetRun = await context.scheduleTarget(browserTarget, {
108
+ watch: false,
109
+ serviceWorker: false,
110
+ // todo: handle service worker augmentation
111
+ });
112
+ if (browserTargetRun.info.builderName === '@angular-devkit/build-angular:application') {
113
+ return {
114
+ success: false,
115
+ error: '"@angular-devkit/build-angular:application" has built-in prerendering capabilities. ' +
116
+ 'The "prerender" option should be used instead.',
117
+ };
118
+ }
119
+ const serverTargetRun = await context.scheduleTarget(serverTarget, {
120
+ watch: false,
121
+ });
122
+ try {
123
+ const [browserResult, serverResult] = await Promise.all([
124
+ browserTargetRun.result,
125
+ serverTargetRun.result,
126
+ ]);
127
+ const success = browserResult.success && serverResult.success && browserResult.baseOutputPath !== undefined;
128
+ const error = browserResult.error || serverResult.error;
129
+ return { success, error, browserResult, serverResult };
130
+ }
131
+ catch (e) {
132
+ (0, error_1.assertIsError)(e);
133
+ return { success: false, error: e.message };
134
+ }
135
+ finally {
136
+ await Promise.all([browserTargetRun.stop(), serverTargetRun.stop()]);
137
+ }
138
+ }
139
+ /**
140
+ * Renders each route and writes them to
141
+ * <route>/index.html for each output path in the browser result.
142
+ */
143
+ async function _renderUniversal(options, context, browserResult, serverResult, browserOptions) {
144
+ const projectName = context.target && context.target.project;
145
+ if (!projectName) {
146
+ throw new Error('The builder requires a target.');
147
+ }
148
+ const projectMetadata = await context.getProjectMetadata(projectName);
149
+ const projectRoot = path.join(context.workspaceRoot, projectMetadata.root ?? '');
150
+ // Users can specify a different base html file e.g. "src/home.html"
151
+ const indexFile = (0, webpack_browser_config_1.getIndexOutputFile)(browserOptions.index);
152
+ const { styles: normalizedStylesOptimization } = (0, utils_1.normalizeOptimization)(browserOptions.optimization);
153
+ let zonePackage;
154
+ try {
155
+ zonePackage = require.resolve('zone.js/node', { paths: [context.workspaceRoot] });
156
+ }
157
+ catch { }
158
+ const { baseOutputPath = '' } = serverResult;
159
+ const worker = new piscina_1.default({
160
+ filename: path.join(__dirname, 'render-worker.js'),
161
+ maxThreads: environment_options_1.maxWorkers,
162
+ workerData: { zonePackage },
163
+ recordTiming: false,
164
+ });
165
+ let routes;
166
+ try {
167
+ // We need to render the routes for each locale from the browser output.
168
+ for (const { path: outputPath } of browserResult.outputs) {
169
+ const localeDirectory = path.relative(browserResult.baseOutputPath, outputPath);
170
+ const serverBundlePath = path.join(baseOutputPath, localeDirectory, 'main.js');
171
+ if (!fs.existsSync(serverBundlePath)) {
172
+ throw new Error(`Could not find the main bundle: ${serverBundlePath}`);
173
+ }
174
+ routes ??= await getRoutes(indexFile, outputPath, serverBundlePath, options, context.workspaceRoot);
175
+ const spinner = (0, ora_1.default)(`Prerendering ${routes.length} route(s) to ${outputPath}...`).start();
176
+ try {
177
+ const results = (await Promise.all(routes.map((route) => {
178
+ const options = {
179
+ indexFile,
180
+ deployUrl: browserOptions.deployUrl || '',
181
+ inlineCriticalCss: !!normalizedStylesOptimization.inlineCritical,
182
+ minifyCss: !!normalizedStylesOptimization.minify,
183
+ outputPath,
184
+ route,
185
+ serverBundlePath,
186
+ };
187
+ return worker.run(options);
188
+ })));
189
+ let numErrors = 0;
190
+ for (const { errors, warnings } of results) {
191
+ spinner.stop();
192
+ errors?.forEach((e) => context.logger.error(e));
193
+ warnings?.forEach((e) => context.logger.warn(e));
194
+ spinner.start();
195
+ numErrors += errors?.length ?? 0;
196
+ }
197
+ if (numErrors > 0) {
198
+ throw Error(`Rendering failed with ${numErrors} worker errors.`);
199
+ }
200
+ }
201
+ catch (error) {
202
+ spinner.fail(`Prerendering routes to ${outputPath} failed.`);
203
+ (0, error_1.assertIsError)(error);
204
+ return { success: false, error: error.message };
205
+ }
206
+ spinner.succeed(`Prerendering routes to ${outputPath} complete.`);
207
+ if (browserOptions.serviceWorker) {
208
+ spinner.start('Generating service worker...');
209
+ try {
210
+ await (0, private_1.augmentAppWithServiceWorker)(projectRoot, context.workspaceRoot, outputPath, browserOptions.baseHref || '/', browserOptions.ngswConfigPath);
211
+ }
212
+ catch (error) {
213
+ spinner.fail('Service worker generation failed.');
214
+ (0, error_1.assertIsError)(error);
215
+ return { success: false, error: error.message };
216
+ }
217
+ spinner.succeed('Service worker generation complete.');
218
+ }
219
+ }
220
+ }
221
+ finally {
222
+ void worker.destroy();
223
+ }
224
+ return browserResult;
225
+ }
226
+ /**
227
+ * Builds the browser and server, then renders each route in options.routes
228
+ * and writes them to prerender/<route>/index.html for each output path in
229
+ * the browser result.
230
+ */
231
+ async function execute(options, context) {
232
+ const browserTarget = (0, architect_1.targetFromTargetString)(options.browserTarget);
233
+ const browserOptions = (await context.getTargetOptions(browserTarget));
234
+ const result = await _scheduleBuilds(options, context);
235
+ const { success, error, browserResult, serverResult } = result;
236
+ if (!success || !browserResult || !serverResult) {
237
+ return { success, error };
238
+ }
239
+ return _renderUniversal(options, context, browserResult, serverResult, browserOptions);
240
+ }
241
+ exports.default = (0, architect_1.createBuilder)(execute);
242
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
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 interface RenderOptions {
9
+ indexFile: string;
10
+ deployUrl: string;
11
+ inlineCriticalCss: boolean;
12
+ minifyCss: boolean;
13
+ outputPath: string;
14
+ serverBundlePath: string;
15
+ route: string;
16
+ }
17
+ export interface RenderResult {
18
+ errors?: string[];
19
+ warnings?: string[];
20
+ }
21
+ /**
22
+ * Renders each route in routes and writes them to <outputPath>/<route>/index.html.
23
+ */
24
+ declare function render({ indexFile, deployUrl, minifyCss, outputPath, serverBundlePath, route, inlineCriticalCss, }: RenderOptions): Promise<RenderResult>;
25
+ /**
26
+ * The default export will be the promise returned by the initialize function.
27
+ * This is awaited by piscina prior to using the Worker.
28
+ */
29
+ declare const _default: Promise<typeof render>;
30
+ export default _default;
@@ -0,0 +1,141 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ const node_assert_1 = __importDefault(require("node:assert"));
47
+ const fs = __importStar(require("node:fs"));
48
+ const path = __importStar(require("node:path"));
49
+ const node_worker_threads_1 = require("node:worker_threads");
50
+ /**
51
+ * The fully resolved path to the zone.js package that will be loaded during worker initialization.
52
+ * This is passed as workerData when setting up the worker via the `piscina` package.
53
+ */
54
+ const { zonePackage } = node_worker_threads_1.workerData;
55
+ /**
56
+ * Renders each route in routes and writes them to <outputPath>/<route>/index.html.
57
+ */
58
+ async function render({ indexFile, deployUrl, minifyCss, outputPath, serverBundlePath, route, inlineCriticalCss, }) {
59
+ const result = {};
60
+ const browserIndexOutputPath = path.join(outputPath, indexFile);
61
+ const outputFolderPath = path.join(outputPath, route);
62
+ const outputIndexPath = path.join(outputFolderPath, 'index.html');
63
+ const { ɵSERVER_CONTEXT, AppServerModule, renderModule, renderApplication, default: bootstrapAppFn, } = (await Promise.resolve(`${serverBundlePath}`).then(s => __importStar(require(s))));
64
+ (0, node_assert_1.default)(ɵSERVER_CONTEXT, `ɵSERVER_CONTEXT was not exported from: ${serverBundlePath}.`);
65
+ const indexBaseName = fs.existsSync(path.join(outputPath, 'index.original.html'))
66
+ ? 'index.original.html'
67
+ : indexFile;
68
+ const browserIndexInputPath = path.join(outputPath, indexBaseName);
69
+ const document = await fs.promises.readFile(browserIndexInputPath, 'utf8');
70
+ const platformProviders = [
71
+ {
72
+ provide: ɵSERVER_CONTEXT,
73
+ useValue: 'ssg',
74
+ },
75
+ ];
76
+ let html;
77
+ // Render platform server module
78
+ if (isBootstrapFn(bootstrapAppFn)) {
79
+ (0, node_assert_1.default)(renderApplication, `renderApplication was not exported from: ${serverBundlePath}.`);
80
+ html = await renderApplication(bootstrapAppFn, {
81
+ document,
82
+ url: route,
83
+ platformProviders,
84
+ });
85
+ }
86
+ else {
87
+ (0, node_assert_1.default)(renderModule, `renderModule was not exported from: ${serverBundlePath}.`);
88
+ const moduleClass = bootstrapAppFn || AppServerModule;
89
+ (0, node_assert_1.default)(moduleClass, `Neither an AppServerModule nor a bootstrapping function was exported from: ${serverBundlePath}.`);
90
+ html = await renderModule(moduleClass, {
91
+ document,
92
+ url: route,
93
+ extraProviders: platformProviders,
94
+ });
95
+ }
96
+ if (inlineCriticalCss) {
97
+ const { InlineCriticalCssProcessor } = await Promise.resolve().then(() => __importStar(require('@angular/build/private')));
98
+ const inlineCriticalCssProcessor = new InlineCriticalCssProcessor({
99
+ deployUrl: deployUrl,
100
+ minify: minifyCss,
101
+ });
102
+ const { content, warnings, errors } = await inlineCriticalCssProcessor.process(html, {
103
+ outputPath,
104
+ });
105
+ result.errors = errors;
106
+ result.warnings = warnings;
107
+ html = content;
108
+ }
109
+ // This case happens when we are prerendering "/".
110
+ if (browserIndexOutputPath === outputIndexPath) {
111
+ const browserIndexOutputPathOriginal = path.join(outputPath, 'index.original.html');
112
+ fs.renameSync(browserIndexOutputPath, browserIndexOutputPathOriginal);
113
+ }
114
+ fs.mkdirSync(outputFolderPath, { recursive: true });
115
+ fs.writeFileSync(outputIndexPath, html);
116
+ return result;
117
+ }
118
+ function isBootstrapFn(value) {
119
+ // We can differentiate between a module and a bootstrap function by reading compiler-generated `ɵmod` static property:
120
+ return typeof value === 'function' && !('ɵmod' in value);
121
+ }
122
+ /**
123
+ * Initializes the worker when it is first created by loading the Zone.js package
124
+ * into the worker instance.
125
+ *
126
+ * @returns A promise resolving to the render function of the worker.
127
+ */
128
+ async function initialize() {
129
+ if (zonePackage) {
130
+ // Setup Zone.js
131
+ await Promise.resolve(`${zonePackage}`).then(s => __importStar(require(s)));
132
+ }
133
+ // Return the render function for use
134
+ return render;
135
+ }
136
+ /**
137
+ * The default export will be the promise returned by the initialize function.
138
+ * This is awaited by piscina prior to using the Worker.
139
+ */
140
+ exports.default = initialize();
141
+ //# sourceMappingURL=render-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-worker.js","sourceRoot":"","sources":["render-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,8DAAiC;AACjC,4CAA8B;AAC9B,gDAAkC;AAClC,6DAAiD;AAkCjD;;;GAGG;AACH,MAAM,EAAE,WAAW,EAAE,GAAG,gCAEvB,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,MAAM,CAAC,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,iBAAiB,GACH;IACd,MAAM,MAAM,GAAG,EAAkB,CAAC;IAClC,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAElE,MAAM,EACJ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,OAAO,EAAE,cAAc,GACxB,GAAG,CAAC,yBAAa,gBAAgB,uCAAC,CAAwB,CAAC;IAE5D,IAAA,qBAAM,EAAC,eAAe,EAAE,0CAA0C,gBAAgB,GAAG,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAC/E,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAE3E,MAAM,iBAAiB,GAAqB;QAC1C;YACE,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,IAAI,IAAY,CAAC;IAEjB,gCAAgC;IAChC,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,IAAA,qBAAM,EAAC,iBAAiB,EAAE,4CAA4C,gBAAgB,GAAG,CAAC,CAAC;QAE3F,IAAI,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE;YAC7C,QAAQ;YACR,GAAG,EAAE,KAAK;YACV,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAA,qBAAM,EAAC,YAAY,EAAE,uCAAuC,gBAAgB,GAAG,CAAC,CAAC;QAEjF,MAAM,WAAW,GAAG,cAAc,IAAI,eAAe,CAAC;QACtD,IAAA,qBAAM,EACJ,WAAW,EACX,8EAA8E,gBAAgB,GAAG,CAClG,CAAC;QAEF,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE;YACrC,QAAQ;YACR,GAAG,EAAE,KAAK;YACV,cAAc,EAAE,iBAAiB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;QAE9E,MAAM,0BAA0B,GAAG,IAAI,0BAA0B,CAAC;YAChE,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE;YACnF,UAAU;SACX,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC;IAED,kDAAkD;IAClD,IAAI,sBAAsB,KAAK,eAAe,EAAE,CAAC;QAC/C,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACpF,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAAC;IACxE,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,KAAc;IAEd,uHAAuH;IACvH,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW,EAAE,CAAC;QAChB,gBAAgB;QAChB,yBAAa,WAAW,uCAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,kBAAe,UAAU,EAAE,CAAC"}
@@ -0,0 +1,20 @@
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 interface RoutesExtractorWorkerData {
9
+ zonePackage: string | undefined;
10
+ indexFile: string;
11
+ outputPath: string;
12
+ serverBundlePath: string;
13
+ }
14
+ declare function extract(): Promise<string[]>;
15
+ /**
16
+ * The default export will be the promise returned by the initialize function.
17
+ * This is awaited by piscina prior to using the Worker.
18
+ */
19
+ declare const _default: Promise<typeof extract>;
20
+ export default _default;
@@ -0,0 +1,84 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ const node_assert_1 = __importDefault(require("node:assert"));
47
+ const fs = __importStar(require("node:fs"));
48
+ const path = __importStar(require("node:path"));
49
+ const node_worker_threads_1 = require("node:worker_threads");
50
+ const { zonePackage, serverBundlePath, outputPath, indexFile } = node_worker_threads_1.workerData;
51
+ async function extract() {
52
+ const { AppServerModule, ɵgetRoutesFromAngularRouterConfig: getRoutesFromAngularRouterConfig, default: bootstrapAppFn, } = (await Promise.resolve(`${serverBundlePath}`).then(s => __importStar(require(s))));
53
+ const browserIndexInputPath = path.join(outputPath, indexFile);
54
+ const document = await fs.promises.readFile(browserIndexInputPath, 'utf8');
55
+ const bootstrapAppFnOrModule = bootstrapAppFn || AppServerModule;
56
+ (0, node_assert_1.default)(bootstrapAppFnOrModule, `The file "${serverBundlePath}" does not have a default export for an AppServerModule or a bootstrapping function.`);
57
+ const routes = [];
58
+ const { routes: extractRoutes } = await getRoutesFromAngularRouterConfig(bootstrapAppFnOrModule, document, new URL('http://localhost'));
59
+ for (const { route, redirectTo } of extractRoutes) {
60
+ if (redirectTo === undefined && !/[:*]/.test(route)) {
61
+ routes.push(route);
62
+ }
63
+ }
64
+ return routes;
65
+ }
66
+ /**
67
+ * Initializes the worker when it is first created by loading the Zone.js package
68
+ * into the worker instance.
69
+ *
70
+ * @returns A promise resolving to the extract function of the worker.
71
+ */
72
+ async function initialize() {
73
+ if (zonePackage) {
74
+ // Setup Zone.js
75
+ await Promise.resolve(`${zonePackage}`).then(s => __importStar(require(s)));
76
+ }
77
+ return extract;
78
+ }
79
+ /**
80
+ * The default export will be the promise returned by the initialize function.
81
+ * This is awaited by piscina prior to using the Worker.
82
+ */
83
+ exports.default = initialize();
84
+ //# sourceMappingURL=routes-extractor-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-extractor-worker.js","sourceRoot":"","sources":["routes-extractor-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,8DAAiC;AACjC,4CAA8B;AAC9B,gDAAkC;AAClC,6DAAiD;AAoBjD,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,GAC5D,gCAAuC,CAAC;AAE1C,KAAK,UAAU,OAAO;IACpB,MAAM,EACJ,eAAe,EACf,iCAAiC,EAAE,gCAAgC,EACnE,OAAO,EAAE,cAAc,GACxB,GAAG,CAAC,yBAAa,gBAAgB,uCAAC,CAAwB,CAAC;IAE5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAE3E,MAAM,sBAAsB,GAAG,cAAc,IAAI,eAAe,CAAC;IACjE,IAAA,qBAAM,EACJ,sBAAsB,EACtB,aAAa,gBAAgB,sFAAsF,CACpH,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,gCAAgC,CACtE,sBAAsB,EACtB,QAAQ,EACR,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAC5B,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,aAAa,EAAE,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW,EAAE,CAAC;QAChB,gBAAgB;QAChB,yBAAa,WAAW,uCAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,kBAAe,UAAU,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type Schema = {
2
+ /**
3
+ * Target to build.
4
+ */
5
+ browserTarget: string;
6
+ /**
7
+ * Whether the builder should process the Angular Router configuration to find all
8
+ * unparameterized routes and prerender them.
9
+ */
10
+ discoverRoutes?: boolean;
11
+ /**
12
+ * The routes to render.
13
+ */
14
+ routes?: string[];
15
+ /**
16
+ * The path to a file that contains a list of all routes to prerender, separated by
17
+ * newlines. This option is useful if you want to prerender routes with parameterized URLs.
18
+ */
19
+ routesFile?: string;
20
+ /**
21
+ * Server target to use for prerendering the app.
22
+ */
23
+ serverTarget: string;
24
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
+ // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF"}