@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,39 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "Prerender Target",
4
+ "type": "object",
5
+ "properties": {
6
+ "browserTarget": {
7
+ "type": "string",
8
+ "description": "Target to build.",
9
+ "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
10
+ },
11
+ "serverTarget": {
12
+ "type": "string",
13
+ "description": "Server target to use for prerendering the app.",
14
+ "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
15
+ },
16
+ "routesFile": {
17
+ "type": "string",
18
+ "description": "The path to a file that contains a list of all routes to prerender, separated by newlines. This option is useful if you want to prerender routes with parameterized URLs."
19
+ },
20
+ "routes": {
21
+ "type": "array",
22
+ "description": "The routes to render.",
23
+ "items": {
24
+ "minItems": 1,
25
+ "type": "string",
26
+ "uniqueItems": true
27
+ },
28
+ "default": []
29
+ },
30
+ "discoverRoutes": {
31
+ "type": "boolean",
32
+ "description": "Whether the builder should process the Angular Router configuration to find all unparameterized routes and prerender them.",
33
+ "default": true
34
+ }
35
+ },
36
+ "required": ["browserTarget", "serverTarget"],
37
+ "anyOf": [{ "required": ["routes"] }, { "required": ["routesFile"] }],
38
+ "additionalProperties": false
39
+ }
@@ -0,0 +1,16 @@
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 as ProtractorBuilderOptions } from './schema';
10
+ export type { ProtractorBuilderOptions };
11
+ /**
12
+ * @experimental Direct usage of this function is considered experimental.
13
+ */
14
+ export declare function execute(options: ProtractorBuilderOptions, context: BuilderContext): Promise<BuilderOutput>;
15
+ declare const _default: import("@angular-devkit/architect").Builder<ProtractorBuilderOptions & import("@angular-devkit/core").JsonObject>;
16
+ export default _default;
@@ -0,0 +1,177 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.execute = execute;
44
+ const architect_1 = require("@angular-devkit/architect");
45
+ const core_1 = require("@angular-devkit/core");
46
+ const node_path_1 = require("node:path");
47
+ const url = __importStar(require("node:url"));
48
+ const utils_1 = require("../../utils");
49
+ const error_1 = require("../../utils/error");
50
+ function runProtractor(root, options) {
51
+ const additionalProtractorConfig = {
52
+ baseUrl: options.baseUrl,
53
+ specs: options.specs && options.specs.length ? options.specs : undefined,
54
+ suite: options.suite,
55
+ jasmineNodeOpts: {
56
+ grep: options.grep,
57
+ invertGrep: options.invertGrep,
58
+ },
59
+ };
60
+ // TODO: Protractor manages process.exit itself, so this target will allways quit the
61
+ // process. To work around this we run it in a subprocess.
62
+ // https://github.com/angular/protractor/issues/4160
63
+ return (0, utils_1.runModuleAsObservableFork)(root, 'protractor/built/launcher', 'init', [
64
+ (0, node_path_1.resolve)(root, options.protractorConfig),
65
+ additionalProtractorConfig,
66
+ ]).toPromise();
67
+ }
68
+ async function updateWebdriver() {
69
+ // The webdriver-manager update command can only be accessed via a deep import.
70
+ const webdriverDeepImport = 'webdriver-manager/built/lib/cmds/update';
71
+ let path;
72
+ try {
73
+ const protractorPath = require.resolve('protractor');
74
+ path = require.resolve(webdriverDeepImport, { paths: [protractorPath] });
75
+ }
76
+ catch (error) {
77
+ (0, error_1.assertIsError)(error);
78
+ if (error.code !== 'MODULE_NOT_FOUND') {
79
+ throw error;
80
+ }
81
+ }
82
+ if (!path) {
83
+ throw new Error(core_1.tags.stripIndents `
84
+ Cannot automatically find webdriver-manager to update.
85
+ Update webdriver-manager manually and run 'ng e2e --no-webdriver-update' instead.
86
+ `);
87
+ }
88
+ const webdriverUpdate = await Promise.resolve(`${path}`).then(s => __importStar(require(s)));
89
+ // const webdriverUpdate = await import(path) as typeof import ('webdriver-manager/built/lib/cmds/update');
90
+ // run `webdriver-manager update --standalone false --gecko false --quiet`
91
+ // if you change this, update the command comment in prev line
92
+ return webdriverUpdate.program.run({
93
+ standalone: false,
94
+ gecko: false,
95
+ quiet: true,
96
+ });
97
+ }
98
+ /**
99
+ * @experimental Direct usage of this function is considered experimental.
100
+ */
101
+ async function execute(options, context) {
102
+ context.logger.warn('Protractor has reached end-of-life and is no longer supported by the Angular team. The `protractor` builder will be removed in a future Angular major version. For additional information and alternatives, please see https://blog.angular.dev/protractor-deprecation-update-august-2023-2beac7402ce0.');
103
+ // ensure that only one of these options is used
104
+ if (options.devServerTarget && options.baseUrl) {
105
+ throw new Error(core_1.tags.stripIndents `
106
+ The 'baseUrl' option cannot be used with 'devServerTarget'.
107
+ When present, 'devServerTarget' will be used to automatically setup 'baseUrl' for Protractor.
108
+ `);
109
+ }
110
+ if (options.webdriverUpdate) {
111
+ await updateWebdriver();
112
+ }
113
+ let baseUrl = options.baseUrl;
114
+ let server;
115
+ try {
116
+ if (options.devServerTarget) {
117
+ const target = (0, architect_1.targetFromTargetString)(options.devServerTarget);
118
+ const serverOptions = await context.getTargetOptions(target);
119
+ const overrides = {
120
+ watch: false,
121
+ liveReload: false,
122
+ };
123
+ if (options.host !== undefined) {
124
+ overrides.host = options.host;
125
+ }
126
+ else if (typeof serverOptions.host === 'string') {
127
+ options.host = serverOptions.host;
128
+ }
129
+ else {
130
+ options.host = overrides.host = 'localhost';
131
+ }
132
+ if (options.port !== undefined) {
133
+ overrides.port = options.port;
134
+ }
135
+ else if (typeof serverOptions.port === 'number') {
136
+ options.port = serverOptions.port;
137
+ }
138
+ server = await context.scheduleTarget(target, overrides);
139
+ const result = await server.result;
140
+ if (!result.success) {
141
+ return { success: false };
142
+ }
143
+ if (typeof serverOptions.publicHost === 'string') {
144
+ let publicHost = serverOptions.publicHost;
145
+ if (!/^\w+:\/\//.test(publicHost)) {
146
+ publicHost = `${serverOptions.ssl ? 'https' : 'http'}://${publicHost}`;
147
+ }
148
+ const clientUrl = url.parse(publicHost);
149
+ baseUrl = url.format(clientUrl);
150
+ }
151
+ else if (typeof result.baseUrl === 'string') {
152
+ baseUrl = result.baseUrl;
153
+ }
154
+ else if (typeof result.port === 'number') {
155
+ baseUrl = url.format({
156
+ protocol: serverOptions.ssl ? 'https' : 'http',
157
+ hostname: options.host,
158
+ port: result.port.toString(),
159
+ });
160
+ }
161
+ }
162
+ // Like the baseUrl in protractor config file when using the API we need to add
163
+ // a trailing slash when provide to the baseUrl.
164
+ if (baseUrl && !baseUrl.endsWith('/')) {
165
+ baseUrl += '/';
166
+ }
167
+ return await runProtractor(context.workspaceRoot, { ...options, baseUrl });
168
+ }
169
+ catch {
170
+ return { success: false };
171
+ }
172
+ finally {
173
+ await server?.stop();
174
+ }
175
+ }
176
+ exports.default = (0, architect_1.createBuilder)(execute);
177
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFH,0BAmFC;AApKD,yDAKmC;AACnC,+CAA4C;AAC5C,yCAAoC;AACpC,8CAAgC;AAChC,uCAAwD;AACxD,6CAAkD;AAWlD,SAAS,aAAa,CAAC,IAAY,EAAE,OAAiC;IACpE,MAAM,0BAA0B,GAAiE;QAC/F,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE;YACf,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B;KACF,CAAC;IAEF,qFAAqF;IACrF,0DAA0D;IAC1D,oDAAoD;IACpD,OAAO,IAAA,iCAAyB,EAAC,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE;QAC1E,IAAA,mBAAO,EAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC;QACvC,0BAA0B;KAC3B,CAAC,CAAC,SAAS,EAA4B,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,yCAAyC,CAAC;IAEtE,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,WAAI,CAAC,YAAY,CAAA;;;KAGhC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,yBAAa,IAAI,uCAAC,CAAC;IAC3C,2GAA2G;IAE3G,0EAA0E;IAC1E,8DAA8D;IAC9D,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,IAAI;KACO,CAAC,CAAC;AACxB,CAAC;AAID;;GAEG;AACI,KAAK,UAAU,OAAO,CAC3B,OAAiC,EACjC,OAAuB;IAEvB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,ySAAyS,CAC1S,CAAC;IAEF,gDAAgD;IAChD,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,WAAI,CAAC,YAAY,CAAA;;;KAGhC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,MAAM,CAAC;IAEX,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAA,kCAAsB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE7D,MAAM,SAAS,GAAG;gBAChB,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,KAAK;aACS,CAAC;YAE7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;YAC9C,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;YACpC,CAAC;YAED,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YAED,IAAI,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACjD,IAAI,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClC,UAAU,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,UAAU,EAAE,CAAC;gBACzE,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;oBACnB,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC9C,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,gDAAgD;QAChD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,GAAG,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,kBAAe,IAAA,yBAAa,EAA2B,OAAO,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Protractor target options for Build Facade.
3
+ */
4
+ export type Schema = {
5
+ /**
6
+ * Base URL for protractor to connect to.
7
+ */
8
+ baseUrl?: string;
9
+ /**
10
+ * A dev-server builder target to run tests against in the format of
11
+ * `project:target[:configuration]`. You can also pass in more than one configuration name
12
+ * as a comma-separated list. Example: `project:target:production,staging`.
13
+ */
14
+ devServerTarget?: string;
15
+ /**
16
+ * Execute specs whose names match the pattern, which is internally compiled to a RegExp.
17
+ */
18
+ grep?: string;
19
+ /**
20
+ * Host to listen on.
21
+ */
22
+ host?: string;
23
+ /**
24
+ * Invert the selection specified by the 'grep' option.
25
+ */
26
+ invertGrep?: boolean;
27
+ /**
28
+ * The port to use to serve the application.
29
+ */
30
+ port?: number;
31
+ /**
32
+ * The name of the Protractor configuration file.
33
+ */
34
+ protractorConfig: string;
35
+ /**
36
+ * Override specs in the protractor config.
37
+ */
38
+ specs?: string[];
39
+ /**
40
+ * Override suite in the protractor config.
41
+ */
42
+ suite?: string;
43
+ /**
44
+ * Try to update webdriver.
45
+ */
46
+ webdriverUpdate?: boolean;
47
+ };
@@ -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,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "title": "Protractor Target",
4
+ "description": "Protractor target options for Build Facade.",
5
+ "type": "object",
6
+ "properties": {
7
+ "protractorConfig": {
8
+ "type": "string",
9
+ "description": "The name of the Protractor configuration file."
10
+ },
11
+ "devServerTarget": {
12
+ "type": "string",
13
+ "description": "A dev-server builder target to run tests against in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.",
14
+ "pattern": "^([^:\\s]+:[^:\\s]+(:[^\\s]+)?)?$"
15
+ },
16
+ "grep": {
17
+ "type": "string",
18
+ "description": "Execute specs whose names match the pattern, which is internally compiled to a RegExp."
19
+ },
20
+ "invertGrep": {
21
+ "type": "boolean",
22
+ "description": "Invert the selection specified by the 'grep' option.",
23
+ "default": false
24
+ },
25
+ "specs": {
26
+ "type": "array",
27
+ "description": "Override specs in the protractor config.",
28
+ "default": [],
29
+ "items": {
30
+ "type": "string",
31
+ "description": "Spec name."
32
+ }
33
+ },
34
+ "suite": {
35
+ "type": "string",
36
+ "description": "Override suite in the protractor config."
37
+ },
38
+ "webdriverUpdate": {
39
+ "type": "boolean",
40
+ "description": "Try to update webdriver.",
41
+ "default": true
42
+ },
43
+ "port": {
44
+ "type": "number",
45
+ "description": "The port to use to serve the application."
46
+ },
47
+ "host": {
48
+ "type": "string",
49
+ "description": "Host to listen on."
50
+ },
51
+ "baseUrl": {
52
+ "type": "string",
53
+ "description": "Base URL for protractor to connect to."
54
+ }
55
+ },
56
+ "additionalProperties": false,
57
+ "required": ["protractorConfig"]
58
+ }
@@ -0,0 +1,10 @@
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 { Schema as ProtractorBuilderOptions } from '../protractor/schema';
9
+ declare const _default: import("@angular-devkit/architect").Builder<ProtractorBuilderOptions & import("@angular-devkit/core").JsonObject>;
10
+ export default _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const architect_1 = require("@angular-devkit/architect");
11
+ exports.default = (0, architect_1.createBuilder)((_options, context) => {
12
+ context.logger.error('Protractor has reached end-of-life and is no longer supported. For additional information and alternatives, please see https://blog.angular.dev/protractor-deprecation-update-august-2023-2beac7402ce0.');
13
+ return { success: false };
14
+ });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,yDAA0E;AAG1E,kBAAe,IAAA,yBAAa,EAC1B,CAAC,QAAkC,EAAE,OAAuB,EAAE,EAAE;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yMAAyM,CAC1M,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CACF,CAAC"}
@@ -0,0 +1,32 @@
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 { Observable } from 'rxjs';
10
+ import webpack from 'webpack';
11
+ import { ExecutionTransformer } from '../../transforms';
12
+ import { Schema as ServerBuilderOptions } from './schema';
13
+ /**
14
+ * @experimental Direct usage of this type is considered experimental.
15
+ */
16
+ export type ServerBuilderOutput = BuilderOutput & {
17
+ baseOutputPath: string;
18
+ outputPath: string;
19
+ outputs: {
20
+ locale?: string;
21
+ path: string;
22
+ }[];
23
+ };
24
+ export type { ServerBuilderOptions };
25
+ /**
26
+ * @experimental Direct usage of this function is considered experimental.
27
+ */
28
+ export declare function execute(options: ServerBuilderOptions, context: BuilderContext, transforms?: {
29
+ webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
30
+ }): Observable<ServerBuilderOutput>;
31
+ declare const _default: import("@angular-devkit/architect").Builder<ServerBuilderOptions & import("@angular-devkit/core").JsonObject>;
32
+ export default _default;
@@ -0,0 +1,223 @@
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 build_webpack_1 = require("@angular-devkit/build-webpack");
50
+ const promises_1 = require("node:fs/promises");
51
+ const path = __importStar(require("node:path"));
52
+ const rxjs_1 = require("rxjs");
53
+ const webpack_1 = __importDefault(require("webpack"));
54
+ const configs_1 = require("../../tools/webpack/configs");
55
+ const helpers_1 = require("../../tools/webpack/utils/helpers");
56
+ const stats_1 = require("../../tools/webpack/utils/stats");
57
+ const utils_1 = require("../../utils");
58
+ const copy_assets_1 = require("../../utils/copy-assets");
59
+ const error_1 = require("../../utils/error");
60
+ const i18n_inlining_1 = require("../../utils/i18n-inlining");
61
+ const output_paths_1 = require("../../utils/output-paths");
62
+ const spinner_1 = require("../../utils/spinner");
63
+ const webpack_browser_config_1 = require("../../utils/webpack-browser-config");
64
+ /**
65
+ * @experimental Direct usage of this function is considered experimental.
66
+ */
67
+ function execute(options, context, transforms = {}) {
68
+ const root = context.workspaceRoot;
69
+ // Check Angular version.
70
+ (0, private_1.assertCompatibleAngularVersion)(root);
71
+ const baseOutputPath = path.resolve(root, options.outputPath);
72
+ let outputPaths;
73
+ return (0, rxjs_1.from)(initialize(options, context, transforms.webpackConfiguration)).pipe((0, rxjs_1.concatMap)(({ config, i18n, projectRoot, projectSourceRoot }) => {
74
+ return (0, build_webpack_1.runWebpack)(config, context, {
75
+ webpackFactory: require('webpack'),
76
+ logging: (stats, config) => {
77
+ if (options.verbose && config.stats !== false) {
78
+ const statsOptions = config.stats === true ? undefined : config.stats;
79
+ context.logger.info(stats.toString(statsOptions));
80
+ }
81
+ },
82
+ }).pipe((0, rxjs_1.concatMap)(async (output) => {
83
+ const { emittedFiles = [], outputPath, webpackStats, success } = output;
84
+ if (!webpackStats) {
85
+ throw new Error('Webpack stats build result is required.');
86
+ }
87
+ if (!success) {
88
+ if ((0, stats_1.statsHasWarnings)(webpackStats)) {
89
+ context.logger.warn((0, stats_1.statsWarningsToString)(webpackStats, { colors: true }));
90
+ }
91
+ if ((0, stats_1.statsHasErrors)(webpackStats)) {
92
+ context.logger.error((0, stats_1.statsErrorsToString)(webpackStats, { colors: true }));
93
+ }
94
+ return output;
95
+ }
96
+ const spinner = new spinner_1.Spinner();
97
+ spinner.enabled = options.progress !== false;
98
+ outputPaths = (0, output_paths_1.ensureOutputPaths)(baseOutputPath, i18n);
99
+ // Copy assets
100
+ if (!options.watch && options.assets?.length) {
101
+ spinner.start('Copying assets...');
102
+ try {
103
+ await (0, copy_assets_1.copyAssets)((0, utils_1.normalizeAssetPatterns)(options.assets, context.workspaceRoot, projectRoot, projectSourceRoot), Array.from(outputPaths.values()), context.workspaceRoot);
104
+ spinner.succeed('Copying assets complete.');
105
+ }
106
+ catch (err) {
107
+ spinner.fail('Copying of assets failed.');
108
+ (0, error_1.assertIsError)(err);
109
+ return {
110
+ ...output,
111
+ success: false,
112
+ error: 'Unable to copy assets: ' + err.message,
113
+ };
114
+ }
115
+ }
116
+ if (i18n.shouldInline) {
117
+ const success = await (0, i18n_inlining_1.i18nInlineEmittedFiles)(context, emittedFiles, i18n, baseOutputPath, Array.from(outputPaths.values()), [], outputPath, options.i18nMissingTranslation);
118
+ if (!success) {
119
+ return {
120
+ ...output,
121
+ success: false,
122
+ };
123
+ }
124
+ }
125
+ (0, stats_1.webpackStatsLogger)(context.logger, webpackStats, config);
126
+ return output;
127
+ }));
128
+ }), (0, rxjs_1.concatMap)(async (output) => {
129
+ if (!output.success) {
130
+ return output;
131
+ }
132
+ return {
133
+ ...output,
134
+ baseOutputPath,
135
+ outputs: (outputPaths &&
136
+ [...outputPaths.entries()].map(([locale, path]) => ({
137
+ locale,
138
+ path,
139
+ }))) || {
140
+ path: baseOutputPath,
141
+ },
142
+ };
143
+ }));
144
+ }
145
+ exports.default = (0, architect_1.createBuilder)(execute);
146
+ async function initialize(options, context, webpackConfigurationTransform) {
147
+ // Purge old build disk cache.
148
+ await (0, private_1.purgeStaleBuildCache)(context);
149
+ await checkTsConfigForPreserveWhitespacesSetting(context, options.tsConfig);
150
+ const browserslist = (await Promise.resolve().then(() => __importStar(require('browserslist')))).default;
151
+ const originalOutputPath = options.outputPath;
152
+ // Assets are processed directly by the builder except when watching
153
+ const adjustedOptions = options.watch ? options : { ...options, assets: [] };
154
+ const { config, projectRoot, projectSourceRoot, i18n } = await (0, webpack_browser_config_1.generateI18nBrowserWebpackConfigFromContext)({
155
+ ...adjustedOptions,
156
+ aot: true,
157
+ platform: 'server',
158
+ }, context, (wco) => {
159
+ // We use the platform to determine the JavaScript syntax output.
160
+ wco.buildOptions.supportedBrowsers ??= [];
161
+ wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions'));
162
+ return [
163
+ getPlatformServerExportsConfig(wco),
164
+ (0, configs_1.getCommonConfig)(wco),
165
+ (0, configs_1.getStylesConfig)(wco),
166
+ {
167
+ plugins: [
168
+ new webpack_1.default.DefinePlugin({
169
+ 'ngJitMode': false,
170
+ 'ngServerMode': true,
171
+ }),
172
+ ],
173
+ },
174
+ ];
175
+ });
176
+ if (options.deleteOutputPath) {
177
+ await (0, utils_1.deleteOutputDir)(context.workspaceRoot, originalOutputPath);
178
+ }
179
+ const transformedConfig = (await webpackConfigurationTransform?.(config)) ?? config;
180
+ return { config: transformedConfig, i18n, projectRoot, projectSourceRoot };
181
+ }
182
+ async function checkTsConfigForPreserveWhitespacesSetting(context, tsConfigPath) {
183
+ // We don't use the `readTsConfig` method on purpose here.
184
+ // To only catch cases were `preserveWhitespaces` is set directly in the `tsconfig.server.json`,
185
+ // which in the majority of cases will cause a mistmatch between client and server builds.
186
+ // Technically we should check if `tsconfig.server.json` and `tsconfig.app.json` values match.
187
+ // But:
188
+ // 1. It is not guaranteed that `tsconfig.app.json` is used to build the client side of this app.
189
+ // 2. There is no easy way to access the build build config from the server builder.
190
+ // 4. This will no longer be an issue with a single compilation model were the same tsconfig is used for both browser and server builds.
191
+ const content = await (0, promises_1.readFile)(path.join(context.workspaceRoot, tsConfigPath), 'utf-8');
192
+ const { parse } = await Promise.resolve().then(() => __importStar(require('jsonc-parser')));
193
+ const tsConfig = parse(content, [], { allowTrailingComma: true });
194
+ if (tsConfig.angularCompilerOptions?.preserveWhitespaces !== undefined) {
195
+ context.logger.warn(`"preserveWhitespaces" was set in "${tsConfigPath}". ` +
196
+ 'Make sure that this setting is set consistently in both "tsconfig.server.json" for your server side ' +
197
+ 'and "tsconfig.app.json" for your client side. A mismatched value will cause hydration to break.\n' +
198
+ 'For more information see: https://angular.dev/guide/hydration#preserve-whitespaces-configuration');
199
+ }
200
+ }
201
+ /**
202
+ * Add `@angular/platform-server` exports.
203
+ * This is needed so that DI tokens can be referenced and set at runtime outside of the bundle.
204
+ */
205
+ function getPlatformServerExportsConfig(wco) {
206
+ // Add `@angular/platform-server` exports.
207
+ // This is needed so that DI tokens can be referenced and set at runtime outside of the bundle.
208
+ return {
209
+ module: {
210
+ rules: [
211
+ {
212
+ loader: require.resolve('./platform-server-exports-loader'),
213
+ include: [path.resolve(wco.root, wco.buildOptions.main)],
214
+ options: {
215
+ angularSSRInstalled: (0, helpers_1.isPackageInstalled)(wco.root, '@angular/ssr'),
216
+ isZoneJsInstalled: (0, helpers_1.isPackageInstalled)(wco.root, 'zone.js'),
217
+ },
218
+ },
219
+ ],
220
+ },
221
+ };
222
+ }
223
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}