@mouryaamit/nx-polystack 0.0.0-stage → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -2
  3. package/USER-MANUAL.md +1968 -0
  4. package/dist/bin/cli.d.ts +1 -0
  5. package/dist/bin/cli.js +92 -0
  6. package/dist/bin/cli.js.map +1 -0
  7. package/dist/executors.json +32 -0
  8. package/dist/generators.json +47 -0
  9. package/dist/migrations.json +87 -0
  10. package/dist/runtime/env-secret.cjs +736 -0
  11. package/dist/src/cli/args.d.ts +18 -0
  12. package/dist/src/cli/args.js +67 -0
  13. package/dist/src/cli/args.js.map +1 -0
  14. package/dist/src/cli/commands/app.d.ts +3 -0
  15. package/dist/src/cli/commands/app.js +108 -0
  16. package/dist/src/cli/commands/app.js.map +1 -0
  17. package/dist/src/cli/commands/build.d.ts +8 -0
  18. package/dist/src/cli/commands/build.js +132 -0
  19. package/dist/src/cli/commands/build.js.map +1 -0
  20. package/dist/src/cli/commands/csp.d.ts +19 -0
  21. package/dist/src/cli/commands/csp.js +238 -0
  22. package/dist/src/cli/commands/csp.js.map +1 -0
  23. package/dist/src/cli/commands/encryption.d.ts +4 -0
  24. package/dist/src/cli/commands/encryption.js +261 -0
  25. package/dist/src/cli/commands/encryption.js.map +1 -0
  26. package/dist/src/cli/commands/env.d.ts +2 -0
  27. package/dist/src/cli/commands/env.js +74 -0
  28. package/dist/src/cli/commands/env.js.map +1 -0
  29. package/dist/src/cli/commands/hardening.d.ts +2 -0
  30. package/dist/src/cli/commands/hardening.js +176 -0
  31. package/dist/src/cli/commands/hardening.js.map +1 -0
  32. package/dist/src/cli/commands/index.d.ts +3 -0
  33. package/dist/src/cli/commands/index.js +45 -0
  34. package/dist/src/cli/commands/index.js.map +1 -0
  35. package/dist/src/cli/commands/infra.d.ts +25 -0
  36. package/dist/src/cli/commands/infra.js +85 -0
  37. package/dist/src/cli/commands/infra.js.map +1 -0
  38. package/dist/src/cli/commands/internal-migrate.d.ts +3 -0
  39. package/dist/src/cli/commands/internal-migrate.js +65 -0
  40. package/dist/src/cli/commands/internal-migrate.js.map +1 -0
  41. package/dist/src/cli/commands/lib.d.ts +2 -0
  42. package/dist/src/cli/commands/lib.js +70 -0
  43. package/dist/src/cli/commands/lib.js.map +1 -0
  44. package/dist/src/cli/commands/llm.d.ts +2 -0
  45. package/dist/src/cli/commands/llm.js +46 -0
  46. package/dist/src/cli/commands/llm.js.map +1 -0
  47. package/dist/src/cli/commands/migrate.d.ts +2 -0
  48. package/dist/src/cli/commands/migrate.js +230 -0
  49. package/dist/src/cli/commands/migrate.js.map +1 -0
  50. package/dist/src/cli/commands/new.d.ts +6 -0
  51. package/dist/src/cli/commands/new.js +97 -0
  52. package/dist/src/cli/commands/new.js.map +1 -0
  53. package/dist/src/cli/commands/preset.d.ts +2 -0
  54. package/dist/src/cli/commands/preset.js +47 -0
  55. package/dist/src/cli/commands/preset.js.map +1 -0
  56. package/dist/src/cli/commands/release.d.ts +3 -0
  57. package/dist/src/cli/commands/release.js +83 -0
  58. package/dist/src/cli/commands/release.js.map +1 -0
  59. package/dist/src/cli/commands/shared.d.ts +3 -0
  60. package/dist/src/cli/commands/shared.js +55 -0
  61. package/dist/src/cli/commands/shared.js.map +1 -0
  62. package/dist/src/cli/commands/update.d.ts +11 -0
  63. package/dist/src/cli/commands/update.js +120 -0
  64. package/dist/src/cli/commands/update.js.map +1 -0
  65. package/dist/src/cli/context.d.ts +18 -0
  66. package/dist/src/cli/context.js +66 -0
  67. package/dist/src/cli/context.js.map +1 -0
  68. package/dist/src/cli/exec.d.ts +9 -0
  69. package/dist/src/cli/exec.js +34 -0
  70. package/dist/src/cli/exec.js.map +1 -0
  71. package/dist/src/cli/help.d.ts +1 -0
  72. package/dist/src/cli/help.js +291 -0
  73. package/dist/src/cli/help.js.map +1 -0
  74. package/dist/src/cli/install-source.d.ts +16 -0
  75. package/dist/src/cli/install-source.js +49 -0
  76. package/dist/src/cli/install-source.js.map +1 -0
  77. package/dist/src/cli/launcher.d.ts +32 -0
  78. package/dist/src/cli/launcher.js +168 -0
  79. package/dist/src/cli/launcher.js.map +1 -0
  80. package/dist/src/cli/migrations.d.ts +25 -0
  81. package/dist/src/cli/migrations.js +35 -0
  82. package/dist/src/cli/migrations.js.map +1 -0
  83. package/dist/src/cli/run-tree.d.ts +9 -0
  84. package/dist/src/cli/run-tree.js +32 -0
  85. package/dist/src/cli/run-tree.js.map +1 -0
  86. package/dist/src/cli/types.d.ts +18 -0
  87. package/dist/src/cli/types.js +12 -0
  88. package/dist/src/cli/types.js.map +1 -0
  89. package/dist/src/cli/update-plan.d.ts +15 -0
  90. package/dist/src/cli/update-plan.js +40 -0
  91. package/dist/src/cli/update-plan.js.map +1 -0
  92. package/dist/src/cli/versions.d.ts +26 -0
  93. package/dist/src/cli/versions.js +83 -0
  94. package/dist/src/cli/versions.js.map +1 -0
  95. package/dist/src/executors/build/executor.d.ts +19 -0
  96. package/dist/src/executors/build/executor.js +251 -0
  97. package/dist/src/executors/build/executor.js.map +1 -0
  98. package/dist/src/executors/build/schema.d.ts +42 -0
  99. package/dist/src/executors/build/schema.json +104 -0
  100. package/dist/src/executors/capacitor/executor.d.ts +8 -0
  101. package/dist/src/executors/capacitor/executor.js +45 -0
  102. package/dist/src/executors/capacitor/executor.js.map +1 -0
  103. package/dist/src/executors/capacitor/schema.d.ts +10 -0
  104. package/dist/src/executors/capacitor/schema.json +24 -0
  105. package/dist/src/executors/clean/executor.d.ts +19 -0
  106. package/dist/src/executors/clean/executor.js +134 -0
  107. package/dist/src/executors/clean/executor.js.map +1 -0
  108. package/dist/src/executors/clean/schema.d.ts +6 -0
  109. package/dist/src/executors/clean/schema.json +21 -0
  110. package/dist/src/executors/flutter-build/executor.d.ts +8 -0
  111. package/dist/src/executors/flutter-build/executor.js +70 -0
  112. package/dist/src/executors/flutter-build/executor.js.map +1 -0
  113. package/dist/src/executors/flutter-build/schema.d.ts +10 -0
  114. package/dist/src/executors/flutter-build/schema.json +44 -0
  115. package/dist/src/executors/flutter-export/executor.d.ts +8 -0
  116. package/dist/src/executors/flutter-export/executor.js +36 -0
  117. package/dist/src/executors/flutter-export/executor.js.map +1 -0
  118. package/dist/src/executors/flutter-export/schema.d.ts +6 -0
  119. package/dist/src/executors/flutter-export/schema.json +28 -0
  120. package/dist/src/generators/app/files/angular/.eslintrc.json__template__ +28 -0
  121. package/dist/src/generators/app/files/angular/csp-allowlist.json__template__ +1 -0
  122. package/dist/src/generators/app/files/angular/server/README.md__template__ +31 -0
  123. package/dist/src/generators/app/files/angular/src/app/app-routing.module.ts__template__ +10 -0
  124. package/dist/src/generators/app/files/angular/src/app/app.component.html__template__ +4 -0
  125. package/dist/src/generators/app/files/angular/src/app/app.component.scss__template__ +1 -0
  126. package/dist/src/generators/app/files/angular/src/app/app.component.ts__template__ +9 -0
  127. package/dist/src/generators/app/files/angular/src/app/app.module.ts__template__ +13 -0
  128. package/dist/src/generators/app/files/angular/src/index.html__template__ +12 -0
  129. package/dist/src/generators/app/files/angular/src/main.ts__template__ +16 -0
  130. package/dist/src/generators/app/files/angular/src/styles.scss__template__ +1 -0
  131. package/dist/src/generators/app/files/angular/tsconfig.app.json__template__ +10 -0
  132. package/dist/src/generators/app/files/angular/tsconfig.json__template__ +25 -0
  133. package/dist/src/generators/app/files/angular/tsconfig.spec.json__template__ +8 -0
  134. package/dist/src/generators/app/files/flutter/.gitignore__template__ +10 -0
  135. package/dist/src/generators/app/files/flutter/analysis_options.yaml__template__ +8 -0
  136. package/dist/src/generators/app/files/flutter/lib/main.dart__template__ +23 -0
  137. package/dist/src/generators/app/files/flutter/pubspec.yaml__template__ +26 -0
  138. package/dist/src/generators/app/files/flutter/server/nginx.conf__template__ +35 -0
  139. package/dist/src/generators/app/files/ionic/.gitignore__template__ +7 -0
  140. package/dist/src/generators/app/files/ionic/capacitor.config.ts__template__ +19 -0
  141. package/dist/src/generators/app/files/ionic/package.json__template__ +14 -0
  142. package/dist/src/generators/app/files/ionic/src/app/app.component.html__template__ +3 -0
  143. package/dist/src/generators/app/files/ionic/src/app/app.component.scss__template__ +0 -0
  144. package/dist/src/generators/app/files/ionic/src/app/app.module.ts__template__ +16 -0
  145. package/dist/src/generators/app/files/ionic/src/index.html__template__ +17 -0
  146. package/dist/src/generators/app/files/ionic/src/styles.scss__template__ +12 -0
  147. package/dist/src/generators/app/generator.d.ts +15 -0
  148. package/dist/src/generators/app/generator.js +363 -0
  149. package/dist/src/generators/app/generator.js.map +1 -0
  150. package/dist/src/generators/app/schema.d.ts +19 -0
  151. package/dist/src/generators/app/schema.json +77 -0
  152. package/dist/src/generators/env/generator.d.ts +3 -0
  153. package/dist/src/generators/env/generator.js +454 -0
  154. package/dist/src/generators/env/generator.js.map +1 -0
  155. package/dist/src/generators/env/schema.d.ts +18 -0
  156. package/dist/src/generators/env/schema.json +47 -0
  157. package/dist/src/generators/infra/files/ci/commitlint/commitlint.config.js__template__ +6 -0
  158. package/dist/src/generators/infra/files/ci/common/tools/config/allowed-cycles.json__template__ +1 -0
  159. package/dist/src/generators/infra/files/ci/common/tools/scripts/check-cycles.js__template__ +201 -0
  160. package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/ci.yml__template__ +68 -0
  161. package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/pr-title.yml__template__ +36 -0
  162. package/dist/src/generators/infra/files/ci/jenkins/Jenkinsfile__template__ +45 -0
  163. package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/bug.yml__template__ +39 -0
  164. package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/config.yml__template__ +1 -0
  165. package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/feature.yml__template__ +23 -0
  166. package/dist/src/generators/infra/files/docs/.github/PULL_REQUEST_TEMPLATE.md__template__ +23 -0
  167. package/dist/src/generators/infra/files/docs/CODE_OF_CONDUCT.md__template__ +18 -0
  168. package/dist/src/generators/infra/files/docs/CONTRIBUTING.md__template__ +61 -0
  169. package/dist/src/generators/infra/files/docs/SECURITY.md__template__ +25 -0
  170. package/dist/src/generators/infra/files/quality/.husky/pre-push__template__ +2 -0
  171. package/dist/src/generators/infra/files/quality/.secretlintignore__template__ +7 -0
  172. package/dist/src/generators/infra/files/quality/.secretlintrc.json__template__ +7 -0
  173. package/dist/src/generators/infra/files/quality/knip.json__template__ +9 -0
  174. package/dist/src/generators/infra/files/upgrades/.github/workflows/dependency-upgrade.yml__template__ +80 -0
  175. package/dist/src/generators/infra/generator.d.ts +60 -0
  176. package/dist/src/generators/infra/generator.js +356 -0
  177. package/dist/src/generators/infra/generator.js.map +1 -0
  178. package/dist/src/generators/infra/options.d.ts +28 -0
  179. package/dist/src/generators/infra/options.js +80 -0
  180. package/dist/src/generators/infra/options.js.map +1 -0
  181. package/dist/src/generators/infra/schema.d.ts +19 -0
  182. package/dist/src/generators/infra/schema.json +59 -0
  183. package/dist/src/generators/lib/angular-lib.d.ts +27 -0
  184. package/dist/src/generators/lib/angular-lib.js +85 -0
  185. package/dist/src/generators/lib/angular-lib.js.map +1 -0
  186. package/dist/src/generators/lib/files/angular/component/src/index.ts__template__ +2 -0
  187. package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.html__template__ +1 -0
  188. package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.scss__template__ +3 -0
  189. package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.ts__template__ +9 -0
  190. package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__.module.ts__template__ +11 -0
  191. package/dist/src/generators/lib/files/angular/config/.eslintrc.json__template__ +32 -0
  192. package/dist/src/generators/lib/files/angular/config/tsconfig.json__template__ +22 -0
  193. package/dist/src/generators/lib/files/angular/config/tsconfig.lib.json__template__ +12 -0
  194. package/dist/src/generators/lib/files/assets/README.md__template__ +13 -0
  195. package/dist/src/generators/lib/files/design-tokens/README.md__template__ +90 -0
  196. package/dist/src/generators/lib/files/design-tokens/generated/dart/pubspec.yaml__template__ +11 -0
  197. package/dist/src/generators/lib/files/design-tokens/src/index.ts__template__ +1 -0
  198. package/dist/src/generators/lib/files/design-tokens/style-dictionary.config.js__template__ +41 -0
  199. package/dist/src/generators/lib/files/flutter/.gitignore__template__ +7 -0
  200. package/dist/src/generators/lib/files/flutter/analysis_options.yaml__template__ +6 -0
  201. package/dist/src/generators/lib/files/flutter/lib/__snakeName__.dart__template__ +1 -0
  202. package/dist/src/generators/lib/files/flutter/lib/src/__snakeName__.dart__template__ +6 -0
  203. package/dist/src/generators/lib/files/flutter/pubspec.yaml__template__ +18 -0
  204. package/dist/src/generators/lib/files/flutter/test/__snakeName___test.dart__template__ +8 -0
  205. package/dist/src/generators/lib/files/ionic/src/index.ts__template__ +2 -0
  206. package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.html__template__ +9 -0
  207. package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.scss__template__ +3 -0
  208. package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.ts__template__ +9 -0
  209. package/dist/src/generators/lib/files/ionic/src/lib/__fileName__.module.ts__template__ +12 -0
  210. package/dist/src/generators/lib/files/pii/README.md__template__ +35 -0
  211. package/dist/src/generators/lib/files/pii/src/index.ts__template__ +5 -0
  212. package/dist/src/generators/lib/files/pii/src/lib/pii-mask.directive.ts__template__ +30 -0
  213. package/dist/src/generators/lib/files/pii/src/lib/pii-mask.module.ts__template__ +17 -0
  214. package/dist/src/generators/lib/files/pii/src/lib/pii-mask.options.ts__template__ +6 -0
  215. package/dist/src/generators/lib/files/pii/src/lib/pii-mask.pipe.ts__template__ +14 -0
  216. package/dist/src/generators/lib/files/pii/src/lib/pii-mask.ts__template__ +117 -0
  217. package/dist/src/generators/lib/files/session/README.md__template__ +39 -0
  218. package/dist/src/generators/lib/files/session/src/index.ts__template__ +5 -0
  219. package/dist/src/generators/lib/files/session/src/lib/session-clock.ts__template__ +113 -0
  220. package/dist/src/generators/lib/files/session/src/lib/session-timeout.config.ts__template__ +8 -0
  221. package/dist/src/generators/lib/files/session/src/lib/session-timeout.module.ts__template__ +23 -0
  222. package/dist/src/generators/lib/files/session/src/lib/session-timeout.service.ts__template__ +289 -0
  223. package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.html__template__ +21 -0
  224. package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.scss__template__ +40 -0
  225. package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.ts__template__ +105 -0
  226. package/dist/src/generators/lib/files/state/ngrx/README.md__template__ +33 -0
  227. package/dist/src/generators/lib/files/state/ngrx/src/index.ts__template__ +6 -0
  228. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__-state.module.ts__template__ +18 -0
  229. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.actions.ts__template__ +12 -0
  230. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.effects.ts__template__ +26 -0
  231. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.models.ts__template__ +4 -0
  232. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.reducer.ts__template__ +33 -0
  233. package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.selectors.ts__template__ +14 -0
  234. package/dist/src/generators/lib/files/state/simple-service/README.md__template__ +20 -0
  235. package/dist/src/generators/lib/files/state/simple-service/src/index.ts__template__ +2 -0
  236. package/dist/src/generators/lib/files/state/simple-service/src/lib/__fileName__.store.ts__template__ +58 -0
  237. package/dist/src/generators/lib/files/state/simple-service/src/lib/store.ts__template__ +34 -0
  238. package/dist/src/generators/lib/files/styles/README.md__template__ +39 -0
  239. package/dist/src/generators/lib/files/styles/src/_index.scss__template__ +3 -0
  240. package/dist/src/generators/lib/files/styles/src/mixins/_index.scss__template__ +13 -0
  241. package/dist/src/generators/lib/files/styles/src/themes/_index.scss__template__ +20 -0
  242. package/dist/src/generators/lib/files/styles/src/tokens/_index.scss__template__ +27 -0
  243. package/dist/src/generators/lib/files/ts/config/.eslintrc.json__template__ +10 -0
  244. package/dist/src/generators/lib/files/ts/config/tsconfig.json__template__ +14 -0
  245. package/dist/src/generators/lib/files/ts/config/tsconfig.lib.json__template__ +10 -0
  246. package/dist/src/generators/lib/files/ts/sample/src/index.ts__template__ +1 -0
  247. package/dist/src/generators/lib/files/ts/sample/src/lib/__fileName__.ts__template__ +4 -0
  248. package/dist/src/generators/lib/generator.d.ts +3 -0
  249. package/dist/src/generators/lib/generator.js +53 -0
  250. package/dist/src/generators/lib/generator.js.map +1 -0
  251. package/dist/src/generators/lib/lib-utils.d.ts +72 -0
  252. package/dist/src/generators/lib/lib-utils.js +170 -0
  253. package/dist/src/generators/lib/lib-utils.js.map +1 -0
  254. package/dist/src/generators/lib/schema.d.ts +31 -0
  255. package/dist/src/generators/lib/schema.json +63 -0
  256. package/dist/src/generators/lib/style-dictionary.d.ts +36 -0
  257. package/dist/src/generators/lib/style-dictionary.js +183 -0
  258. package/dist/src/generators/lib/style-dictionary.js.map +1 -0
  259. package/dist/src/generators/lib/types/angular.d.ts +2 -0
  260. package/dist/src/generators/lib/types/angular.js +20 -0
  261. package/dist/src/generators/lib/types/angular.js.map +1 -0
  262. package/dist/src/generators/lib/types/assets.d.ts +2 -0
  263. package/dist/src/generators/lib/types/assets.js +20 -0
  264. package/dist/src/generators/lib/types/assets.js.map +1 -0
  265. package/dist/src/generators/lib/types/design-tokens.d.ts +10 -0
  266. package/dist/src/generators/lib/types/design-tokens.js +78 -0
  267. package/dist/src/generators/lib/types/design-tokens.js.map +1 -0
  268. package/dist/src/generators/lib/types/flutter.d.ts +2 -0
  269. package/dist/src/generators/lib/types/flutter.js +28 -0
  270. package/dist/src/generators/lib/types/flutter.js.map +1 -0
  271. package/dist/src/generators/lib/types/index.d.ts +8 -0
  272. package/dist/src/generators/lib/types/index.js +31 -0
  273. package/dist/src/generators/lib/types/index.js.map +1 -0
  274. package/dist/src/generators/lib/types/ionic.d.ts +4 -0
  275. package/dist/src/generators/lib/types/ionic.js +35 -0
  276. package/dist/src/generators/lib/types/ionic.js.map +1 -0
  277. package/dist/src/generators/lib/types/pii.d.ts +3 -0
  278. package/dist/src/generators/lib/types/pii.js +19 -0
  279. package/dist/src/generators/lib/types/pii.js.map +1 -0
  280. package/dist/src/generators/lib/types/session.d.ts +3 -0
  281. package/dist/src/generators/lib/types/session.js +21 -0
  282. package/dist/src/generators/lib/types/session.js.map +1 -0
  283. package/dist/src/generators/lib/types/state.d.ts +5 -0
  284. package/dist/src/generators/lib/types/state.js +48 -0
  285. package/dist/src/generators/lib/types/state.js.map +1 -0
  286. package/dist/src/generators/lib/types/styles.d.ts +2 -0
  287. package/dist/src/generators/lib/types/styles.js +19 -0
  288. package/dist/src/generators/lib/types/styles.js.map +1 -0
  289. package/dist/src/generators/lib/types/ts.d.ts +5 -0
  290. package/dist/src/generators/lib/types/ts.js +30 -0
  291. package/dist/src/generators/lib/types/ts.js.map +1 -0
  292. package/dist/src/generators/llm/generator.d.ts +8 -0
  293. package/dist/src/generators/llm/generator.js +13 -0
  294. package/dist/src/generators/llm/generator.js.map +1 -0
  295. package/dist/src/generators/llm/schema.d.ts +4 -0
  296. package/dist/src/generators/llm/schema.json +16 -0
  297. package/dist/src/generators/migrate/adapters/angular-cli.d.ts +82 -0
  298. package/dist/src/generators/migrate/adapters/angular-cli.js +439 -0
  299. package/dist/src/generators/migrate/adapters/angular-cli.js.map +1 -0
  300. package/dist/src/generators/migrate/adapters/angular-workspace.d.ts +28 -0
  301. package/dist/src/generators/migrate/adapters/angular-workspace.js +397 -0
  302. package/dist/src/generators/migrate/adapters/angular-workspace.js.map +1 -0
  303. package/dist/src/generators/migrate/adapters/external.d.ts +23 -0
  304. package/dist/src/generators/migrate/adapters/external.js +230 -0
  305. package/dist/src/generators/migrate/adapters/external.js.map +1 -0
  306. package/dist/src/generators/migrate/adapters/flutter.d.ts +26 -0
  307. package/dist/src/generators/migrate/adapters/flutter.js +176 -0
  308. package/dist/src/generators/migrate/adapters/flutter.js.map +1 -0
  309. package/dist/src/generators/migrate/adapters/index.d.ts +34 -0
  310. package/dist/src/generators/migrate/adapters/index.js +136 -0
  311. package/dist/src/generators/migrate/adapters/index.js.map +1 -0
  312. package/dist/src/generators/migrate/adapters/ionic.d.ts +17 -0
  313. package/dist/src/generators/migrate/adapters/ionic.js +137 -0
  314. package/dist/src/generators/migrate/adapters/ionic.js.map +1 -0
  315. package/dist/src/generators/migrate/adapters/npm-workspaces.d.ts +23 -0
  316. package/dist/src/generators/migrate/adapters/npm-workspaces.js +734 -0
  317. package/dist/src/generators/migrate/adapters/npm-workspaces.js.map +1 -0
  318. package/dist/src/generators/migrate/adapters/nx-workspace.d.ts +47 -0
  319. package/dist/src/generators/migrate/adapters/nx-workspace.js +1037 -0
  320. package/dist/src/generators/migrate/adapters/nx-workspace.js.map +1 -0
  321. package/dist/src/generators/migrate/adapters/scaffold.d.ts +2 -0
  322. package/dist/src/generators/migrate/adapters/scaffold.js +200 -0
  323. package/dist/src/generators/migrate/adapters/scaffold.js.map +1 -0
  324. package/dist/src/generators/migrate/adapters/types.d.ts +184 -0
  325. package/dist/src/generators/migrate/adapters/types.js +63 -0
  326. package/dist/src/generators/migrate/adapters/types.js.map +1 -0
  327. package/dist/src/generators/migrate/angular-code-scan.d.ts +6 -0
  328. package/dist/src/generators/migrate/angular-code-scan.js +150 -0
  329. package/dist/src/generators/migrate/angular-code-scan.js.map +1 -0
  330. package/dist/src/generators/migrate/angular-config-files.d.ts +49 -0
  331. package/dist/src/generators/migrate/angular-config-files.js +158 -0
  332. package/dist/src/generators/migrate/angular-config-files.js.map +1 -0
  333. package/dist/src/generators/migrate/angular-project-json.d.ts +73 -0
  334. package/dist/src/generators/migrate/angular-project-json.js +352 -0
  335. package/dist/src/generators/migrate/angular-project-json.js.map +1 -0
  336. package/dist/src/generators/migrate/angular-workspace/aliases.d.ts +30 -0
  337. package/dist/src/generators/migrate/angular-workspace/aliases.js +73 -0
  338. package/dist/src/generators/migrate/angular-workspace/aliases.js.map +1 -0
  339. package/dist/src/generators/migrate/angular-workspace/eslint.d.ts +8 -0
  340. package/dist/src/generators/migrate/angular-workspace/eslint.js +38 -0
  341. package/dist/src/generators/migrate/angular-workspace/eslint.js.map +1 -0
  342. package/dist/src/generators/migrate/angular-workspace/ng-package.d.ts +4 -0
  343. package/dist/src/generators/migrate/angular-workspace/ng-package.js +16 -0
  344. package/dist/src/generators/migrate/angular-workspace/ng-package.js.map +1 -0
  345. package/dist/src/generators/migrate/angular-workspace/source.d.ts +15 -0
  346. package/dist/src/generators/migrate/angular-workspace/source.js +108 -0
  347. package/dist/src/generators/migrate/angular-workspace/source.js.map +1 -0
  348. package/dist/src/generators/migrate/angular17.d.ts +45 -0
  349. package/dist/src/generators/migrate/angular17.js +495 -0
  350. package/dist/src/generators/migrate/angular17.js.map +1 -0
  351. package/dist/src/generators/migrate/batch.d.ts +29 -0
  352. package/dist/src/generators/migrate/batch.js +211 -0
  353. package/dist/src/generators/migrate/batch.js.map +1 -0
  354. package/dist/src/generators/migrate/copy.d.ts +60 -0
  355. package/dist/src/generators/migrate/copy.js +224 -0
  356. package/dist/src/generators/migrate/copy.js.map +1 -0
  357. package/dist/src/generators/migrate/dependencies.d.ts +38 -0
  358. package/dist/src/generators/migrate/dependencies.js +196 -0
  359. package/dist/src/generators/migrate/dependencies.js.map +1 -0
  360. package/dist/src/generators/migrate/generator.d.ts +9 -0
  361. package/dist/src/generators/migrate/generator.js +347 -0
  362. package/dist/src/generators/migrate/generator.js.map +1 -0
  363. package/dist/src/generators/migrate/imports/rewrite.d.ts +46 -0
  364. package/dist/src/generators/migrate/imports/rewrite.js +382 -0
  365. package/dist/src/generators/migrate/imports/rewrite.js.map +1 -0
  366. package/dist/src/generators/migrate/ionic/capacitor-config.d.ts +24 -0
  367. package/dist/src/generators/migrate/ionic/capacitor-config.js +113 -0
  368. package/dist/src/generators/migrate/ionic/capacitor-config.js.map +1 -0
  369. package/dist/src/generators/migrate/ionic/packages.d.ts +34 -0
  370. package/dist/src/generators/migrate/ionic/packages.js +92 -0
  371. package/dist/src/generators/migrate/ionic/packages.js.map +1 -0
  372. package/dist/src/generators/migrate/ionic/shape.d.ts +32 -0
  373. package/dist/src/generators/migrate/ionic/shape.js +221 -0
  374. package/dist/src/generators/migrate/ionic/shape.js.map +1 -0
  375. package/dist/src/generators/migrate/ionic/skip.d.ts +3 -0
  376. package/dist/src/generators/migrate/ionic/skip.js +25 -0
  377. package/dist/src/generators/migrate/ionic/skip.js.map +1 -0
  378. package/dist/src/generators/migrate/names.d.ts +3 -0
  379. package/dist/src/generators/migrate/names.js +21 -0
  380. package/dist/src/generators/migrate/names.js.map +1 -0
  381. package/dist/src/generators/migrate/npm-deps.d.ts +28 -0
  382. package/dist/src/generators/migrate/npm-deps.js +63 -0
  383. package/dist/src/generators/migrate/npm-deps.js.map +1 -0
  384. package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.d.ts +10 -0
  385. package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.js +246 -0
  386. package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.js.map +1 -0
  387. package/dist/src/generators/migrate/npm-workspaces/source.d.ts +46 -0
  388. package/dist/src/generators/migrate/npm-workspaces/source.js +253 -0
  389. package/dist/src/generators/migrate/npm-workspaces/source.js.map +1 -0
  390. package/dist/src/generators/migrate/nx/build-scripts.d.ts +22 -0
  391. package/dist/src/generators/migrate/nx/build-scripts.js +147 -0
  392. package/dist/src/generators/migrate/nx/build-scripts.js.map +1 -0
  393. package/dist/src/generators/migrate/nx/detect.d.ts +3 -0
  394. package/dist/src/generators/migrate/nx/detect.js +43 -0
  395. package/dist/src/generators/migrate/nx/detect.js.map +1 -0
  396. package/dist/src/generators/migrate/nx/env-encryption.d.ts +35 -0
  397. package/dist/src/generators/migrate/nx/env-encryption.js +423 -0
  398. package/dist/src/generators/migrate/nx/env-encryption.js.map +1 -0
  399. package/dist/src/generators/migrate/nx/rewrite.d.ts +27 -0
  400. package/dist/src/generators/migrate/nx/rewrite.js +223 -0
  401. package/dist/src/generators/migrate/nx/rewrite.js.map +1 -0
  402. package/dist/src/generators/migrate/nx/selection.d.ts +25 -0
  403. package/dist/src/generators/migrate/nx/selection.js +173 -0
  404. package/dist/src/generators/migrate/nx/selection.js.map +1 -0
  405. package/dist/src/generators/migrate/nx/shared-folders.d.ts +58 -0
  406. package/dist/src/generators/migrate/nx/shared-folders.js +239 -0
  407. package/dist/src/generators/migrate/nx/shared-folders.js.map +1 -0
  408. package/dist/src/generators/migrate/nx/workspace-source.d.ts +58 -0
  409. package/dist/src/generators/migrate/nx/workspace-source.js +275 -0
  410. package/dist/src/generators/migrate/nx/workspace-source.js.map +1 -0
  411. package/dist/src/generators/migrate/pnpm.d.ts +42 -0
  412. package/dist/src/generators/migrate/pnpm.js +132 -0
  413. package/dist/src/generators/migrate/pnpm.js.map +1 -0
  414. package/dist/src/generators/migrate/report.d.ts +21 -0
  415. package/dist/src/generators/migrate/report.js +243 -0
  416. package/dist/src/generators/migrate/report.js.map +1 -0
  417. package/dist/src/generators/migrate/rollback/manifest.d.ts +84 -0
  418. package/dist/src/generators/migrate/rollback/manifest.js +162 -0
  419. package/dist/src/generators/migrate/rollback/manifest.js.map +1 -0
  420. package/dist/src/generators/migrate/rollback/recording-tree.d.ts +19 -0
  421. package/dist/src/generators/migrate/rollback/recording-tree.js +87 -0
  422. package/dist/src/generators/migrate/rollback/recording-tree.js.map +1 -0
  423. package/dist/src/generators/migrate/rollback/rollback.d.ts +29 -0
  424. package/dist/src/generators/migrate/rollback/rollback.js +271 -0
  425. package/dist/src/generators/migrate/rollback/rollback.js.map +1 -0
  426. package/dist/src/generators/migrate/schema.d.ts +41 -0
  427. package/dist/src/generators/migrate/schema.json +85 -0
  428. package/dist/src/generators/migrate/source.d.ts +26 -0
  429. package/dist/src/generators/migrate/source.js +70 -0
  430. package/dist/src/generators/migrate/source.js.map +1 -0
  431. package/dist/src/generators/preset/files/root/.editorconfig__template__ +15 -0
  432. package/dist/src/generators/preset/files/root/.eslintignore__template__ +2 -0
  433. package/dist/src/generators/preset/files/root/.eslintrc.json__template__ +38 -0
  434. package/dist/src/generators/preset/files/root/.gitattributes__template__ +12 -0
  435. package/dist/src/generators/preset/files/root/.gitignore__template__ +9 -0
  436. package/dist/src/generators/preset/files/root/.husky/commit-msg__template__ +1 -0
  437. package/dist/src/generators/preset/files/root/.husky/pre-commit__template__ +1 -0
  438. package/dist/src/generators/preset/files/root/.npmrc__template__ +4 -0
  439. package/dist/src/generators/preset/files/root/.nvmrc__template__ +1 -0
  440. package/dist/src/generators/preset/files/root/.prettierignore__template__ +6 -0
  441. package/dist/src/generators/preset/files/root/.prettierrc__template__ +7 -0
  442. package/dist/src/generators/preset/files/root/commitlint.config.js__template__ +6 -0
  443. package/dist/src/generators/preset/files/root/nx.json__template__ +30 -0
  444. package/dist/src/generators/preset/files/root/package.json__template__ +34 -0
  445. package/dist/src/generators/preset/files/root/tools/config/sri-cdn-allowlist.json__template__ +1 -0
  446. package/dist/src/generators/preset/files/root/tsconfig.base.json__template__ +18 -0
  447. package/dist/src/generators/preset/generator.d.ts +11 -0
  448. package/dist/src/generators/preset/generator.js +91 -0
  449. package/dist/src/generators/preset/generator.js.map +1 -0
  450. package/dist/src/generators/preset/schema.d.ts +20 -0
  451. package/dist/src/generators/preset/schema.json +86 -0
  452. package/dist/src/generators/shared-libs/generator.d.ts +4 -0
  453. package/dist/src/generators/shared-libs/generator.js +60 -0
  454. package/dist/src/generators/shared-libs/generator.js.map +1 -0
  455. package/dist/src/generators/shared-libs/schema.d.ts +6 -0
  456. package/dist/src/generators/shared-libs/schema.json +21 -0
  457. package/dist/src/index.d.ts +16 -0
  458. package/dist/src/index.js +20 -0
  459. package/dist/src/index.js.map +1 -0
  460. package/dist/src/lib/csp/allowlist.d.ts +64 -0
  461. package/dist/src/lib/csp/allowlist.js +126 -0
  462. package/dist/src/lib/csp/allowlist.js.map +1 -0
  463. package/dist/src/lib/csp/import.d.ts +52 -0
  464. package/dist/src/lib/csp/import.js +291 -0
  465. package/dist/src/lib/csp/import.js.map +1 -0
  466. package/dist/src/lib/csp/render.d.ts +19 -0
  467. package/dist/src/lib/csp/render.js +116 -0
  468. package/dist/src/lib/csp/render.js.map +1 -0
  469. package/dist/src/lib/env/derive.d.ts +38 -0
  470. package/dist/src/lib/env/derive.js +115 -0
  471. package/dist/src/lib/env/derive.js.map +1 -0
  472. package/dist/src/lib/env-encryption/backup.d.ts +40 -0
  473. package/dist/src/lib/env-encryption/backup.js +234 -0
  474. package/dist/src/lib/env-encryption/backup.js.map +1 -0
  475. package/dist/src/lib/env-encryption/config.d.ts +50 -0
  476. package/dist/src/lib/env-encryption/config.js +173 -0
  477. package/dist/src/lib/env-encryption/config.js.map +1 -0
  478. package/dist/src/lib/env-encryption/domains.d.ts +9 -0
  479. package/dist/src/lib/env-encryption/domains.js +52 -0
  480. package/dist/src/lib/env-encryption/domains.js.map +1 -0
  481. package/dist/src/lib/env-encryption/encrypt.d.ts +48 -0
  482. package/dist/src/lib/env-encryption/encrypt.js +407 -0
  483. package/dist/src/lib/env-encryption/encrypt.js.map +1 -0
  484. package/dist/src/lib/env-encryption/env-file.d.ts +72 -0
  485. package/dist/src/lib/env-encryption/env-file.js +395 -0
  486. package/dist/src/lib/env-encryption/env-file.js.map +1 -0
  487. package/dist/src/lib/env-encryption/gcm.d.ts +51 -0
  488. package/dist/src/lib/env-encryption/gcm.js +76 -0
  489. package/dist/src/lib/env-encryption/gcm.js.map +1 -0
  490. package/dist/src/lib/env-encryption/key-material.d.ts +53 -0
  491. package/dist/src/lib/env-encryption/key-material.js +148 -0
  492. package/dist/src/lib/env-encryption/key-material.js.map +1 -0
  493. package/dist/src/lib/env-encryption/placeholders.d.ts +15 -0
  494. package/dist/src/lib/env-encryption/placeholders.js +93 -0
  495. package/dist/src/lib/env-encryption/placeholders.js.map +1 -0
  496. package/dist/src/lib/env-encryption/prepare.d.ts +43 -0
  497. package/dist/src/lib/env-encryption/prepare.js +245 -0
  498. package/dist/src/lib/env-encryption/prepare.js.map +1 -0
  499. package/dist/src/lib/env-encryption/sensitive.d.ts +2 -0
  500. package/dist/src/lib/env-encryption/sensitive.js +180 -0
  501. package/dist/src/lib/env-encryption/sensitive.js.map +1 -0
  502. package/dist/src/lib/env-encryption/stamp.d.ts +2 -0
  503. package/dist/src/lib/env-encryption/stamp.js +52 -0
  504. package/dist/src/lib/env-encryption/stamp.js.map +1 -0
  505. package/dist/src/lib/env-encryption/switch-gcm.d.ts +43 -0
  506. package/dist/src/lib/env-encryption/switch-gcm.js +371 -0
  507. package/dist/src/lib/env-encryption/switch-gcm.js.map +1 -0
  508. package/dist/src/lib/env-encryption/workspace.d.ts +10 -0
  509. package/dist/src/lib/env-encryption/workspace.js +48 -0
  510. package/dist/src/lib/env-encryption/workspace.js.map +1 -0
  511. package/dist/src/lib/hardening/files.d.ts +17 -0
  512. package/dist/src/lib/hardening/files.js +43 -0
  513. package/dist/src/lib/hardening/files.js.map +1 -0
  514. package/dist/src/lib/hardening/integrity.d.ts +24 -0
  515. package/dist/src/lib/hardening/integrity.js +112 -0
  516. package/dist/src/lib/hardening/integrity.js.map +1 -0
  517. package/dist/src/lib/hardening/leak-check.d.ts +15 -0
  518. package/dist/src/lib/hardening/leak-check.js +100 -0
  519. package/dist/src/lib/hardening/leak-check.js.map +1 -0
  520. package/dist/src/lib/hardening/ngsw.d.ts +7 -0
  521. package/dist/src/lib/hardening/ngsw.js +55 -0
  522. package/dist/src/lib/hardening/ngsw.js.map +1 -0
  523. package/dist/src/lib/hardening/obfuscate.d.ts +36 -0
  524. package/dist/src/lib/hardening/obfuscate.js +153 -0
  525. package/dist/src/lib/hardening/obfuscate.js.map +1 -0
  526. package/dist/src/lib/hardening/options.d.ts +36 -0
  527. package/dist/src/lib/hardening/options.js +143 -0
  528. package/dist/src/lib/hardening/options.js.map +1 -0
  529. package/dist/src/lib/hardening/source-maps.d.ts +7 -0
  530. package/dist/src/lib/hardening/source-maps.js +37 -0
  531. package/dist/src/lib/hardening/source-maps.js.map +1 -0
  532. package/dist/src/lib/hardening/strip.d.ts +55 -0
  533. package/dist/src/lib/hardening/strip.js +178 -0
  534. package/dist/src/lib/hardening/strip.js.map +1 -0
  535. package/dist/src/lib/helpers/encrypt-env.d.ts +13 -0
  536. package/dist/src/lib/helpers/encrypt-env.js +33 -0
  537. package/dist/src/lib/helpers/encrypt-env.js.map +1 -0
  538. package/dist/src/lib/helpers/inject-meta.d.ts +14 -0
  539. package/dist/src/lib/helpers/inject-meta.js +49 -0
  540. package/dist/src/lib/helpers/inject-meta.js.map +1 -0
  541. package/dist/src/lib/helpers/inject-nonce.d.ts +7 -0
  542. package/dist/src/lib/helpers/inject-nonce.js +59 -0
  543. package/dist/src/lib/helpers/inject-nonce.js.map +1 -0
  544. package/dist/src/lib/helpers/inject-sri.d.ts +11 -0
  545. package/dist/src/lib/helpers/inject-sri.js +92 -0
  546. package/dist/src/lib/helpers/inject-sri.js.map +1 -0
  547. package/dist/src/lib/helpers/strip-exif.d.ts +9 -0
  548. package/dist/src/lib/helpers/strip-exif.js +52 -0
  549. package/dist/src/lib/helpers/strip-exif.js.map +1 -0
  550. package/dist/src/lib/release/plan.d.ts +45 -0
  551. package/dist/src/lib/release/plan.js +76 -0
  552. package/dist/src/lib/release/plan.js.map +1 -0
  553. package/dist/src/lib/release/run.d.ts +46 -0
  554. package/dist/src/lib/release/run.js +160 -0
  555. package/dist/src/lib/release/run.js.map +1 -0
  556. package/dist/src/lib/utils/angular-deps.d.ts +22 -0
  557. package/dist/src/lib/utils/angular-deps.js +108 -0
  558. package/dist/src/lib/utils/angular-deps.js.map +1 -0
  559. package/dist/src/lib/utils/angular-project.d.ts +52 -0
  560. package/dist/src/lib/utils/angular-project.js +168 -0
  561. package/dist/src/lib/utils/angular-project.js.map +1 -0
  562. package/dist/src/lib/utils/app-dir.d.ts +17 -0
  563. package/dist/src/lib/utils/app-dir.js +52 -0
  564. package/dist/src/lib/utils/app-dir.js.map +1 -0
  565. package/dist/src/lib/utils/base-href.d.ts +26 -0
  566. package/dist/src/lib/utils/base-href.js +60 -0
  567. package/dist/src/lib/utils/base-href.js.map +1 -0
  568. package/dist/src/lib/utils/ci-resolve.d.ts +10 -0
  569. package/dist/src/lib/utils/ci-resolve.js +50 -0
  570. package/dist/src/lib/utils/ci-resolve.js.map +1 -0
  571. package/dist/src/lib/utils/csp-nonce.d.ts +34 -0
  572. package/dist/src/lib/utils/csp-nonce.js +142 -0
  573. package/dist/src/lib/utils/csp-nonce.js.map +1 -0
  574. package/dist/src/lib/utils/dependencies.d.ts +25 -0
  575. package/dist/src/lib/utils/dependencies.js +71 -0
  576. package/dist/src/lib/utils/dependencies.js.map +1 -0
  577. package/dist/src/lib/utils/devkit-deps.d.ts +19 -0
  578. package/dist/src/lib/utils/devkit-deps.js +34 -0
  579. package/dist/src/lib/utils/devkit-deps.js.map +1 -0
  580. package/dist/src/lib/utils/env-files.d.ts +18 -0
  581. package/dist/src/lib/utils/env-files.js +41 -0
  582. package/dist/src/lib/utils/env-files.js.map +1 -0
  583. package/dist/src/lib/utils/filesystem.d.ts +7 -0
  584. package/dist/src/lib/utils/filesystem.js +20 -0
  585. package/dist/src/lib/utils/filesystem.js.map +1 -0
  586. package/dist/src/lib/utils/flutter-web.d.ts +7 -0
  587. package/dist/src/lib/utils/flutter-web.js +56 -0
  588. package/dist/src/lib/utils/flutter-web.js.map +1 -0
  589. package/dist/src/lib/utils/knip.d.ts +16 -0
  590. package/dist/src/lib/utils/knip.js +71 -0
  591. package/dist/src/lib/utils/knip.js.map +1 -0
  592. package/dist/src/lib/utils/lint-staged.d.ts +5 -0
  593. package/dist/src/lib/utils/lint-staged.js +34 -0
  594. package/dist/src/lib/utils/lint-staged.js.map +1 -0
  595. package/dist/src/lib/utils/llm-block.d.ts +88 -0
  596. package/dist/src/lib/utils/llm-block.js +457 -0
  597. package/dist/src/lib/utils/llm-block.js.map +1 -0
  598. package/dist/src/lib/utils/node-engine.d.ts +9 -0
  599. package/dist/src/lib/utils/node-engine.js +63 -0
  600. package/dist/src/lib/utils/node-engine.js.map +1 -0
  601. package/dist/src/lib/utils/npm-scripts.d.ts +7 -0
  602. package/dist/src/lib/utils/npm-scripts.js +28 -0
  603. package/dist/src/lib/utils/npm-scripts.js.map +1 -0
  604. package/dist/src/lib/utils/nx-targets.d.ts +3 -0
  605. package/dist/src/lib/utils/nx-targets.js +25 -0
  606. package/dist/src/lib/utils/nx-targets.js.map +1 -0
  607. package/dist/src/lib/utils/project-json-files.d.ts +23 -0
  608. package/dist/src/lib/utils/project-json-files.js +73 -0
  609. package/dist/src/lib/utils/project-json-files.js.map +1 -0
  610. package/dist/src/lib/utils/quality.d.ts +71 -0
  611. package/dist/src/lib/utils/quality.js +295 -0
  612. package/dist/src/lib/utils/quality.js.map +1 -0
  613. package/dist/src/lib/utils/serve-port.d.ts +28 -0
  614. package/dist/src/lib/utils/serve-port.js +73 -0
  615. package/dist/src/lib/utils/serve-port.js.map +1 -0
  616. package/dist/src/lib/utils/shared-libs.d.ts +37 -0
  617. package/dist/src/lib/utils/shared-libs.js +152 -0
  618. package/dist/src/lib/utils/shared-libs.js.map +1 -0
  619. package/dist/src/lib/utils/ts-paths.d.ts +3 -0
  620. package/dist/src/lib/utils/ts-paths.js +31 -0
  621. package/dist/src/lib/utils/ts-paths.js.map +1 -0
  622. package/dist/src/lib/utils/workspace.d.ts +3 -0
  623. package/dist/src/lib/utils/workspace.js +15 -0
  624. package/dist/src/lib/utils/workspace.js.map +1 -0
  625. package/dist/src/migrate-sdk.d.ts +31 -0
  626. package/dist/src/migrate-sdk.js +35 -0
  627. package/dist/src/migrate-sdk.js.map +1 -0
  628. package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.d.ts +2 -0
  629. package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.js +40 -0
  630. package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.js.map +1 -0
  631. package/dist/src/migrations/add-executor-peers/add-executor-peers.d.ts +6 -0
  632. package/dist/src/migrations/add-executor-peers/add-executor-peers.js +21 -0
  633. package/dist/src/migrations/add-executor-peers/add-executor-peers.js.map +1 -0
  634. package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.d.ts +7 -0
  635. package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.js +47 -0
  636. package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.js.map +1 -0
  637. package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.d.ts +6 -0
  638. package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.js +27 -0
  639. package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.js.map +1 -0
  640. package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.d.ts +7 -0
  641. package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.js +22 -0
  642. package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.js.map +1 -0
  643. package/dist/src/migrations/angular-release-target/angular-release-target.d.ts +3 -0
  644. package/dist/src/migrations/angular-release-target/angular-release-target.js +80 -0
  645. package/dist/src/migrations/angular-release-target/angular-release-target.js.map +1 -0
  646. package/dist/src/migrations/app-clean-and-port/app-clean-and-port.d.ts +7 -0
  647. package/dist/src/migrations/app-clean-and-port/app-clean-and-port.js +89 -0
  648. package/dist/src/migrations/app-clean-and-port/app-clean-and-port.js.map +1 -0
  649. package/dist/src/migrations/env-encryption-config/env-encryption-config.d.ts +7 -0
  650. package/dist/src/migrations/env-encryption-config/env-encryption-config.js +42 -0
  651. package/dist/src/migrations/env-encryption-config/env-encryption-config.js.map +1 -0
  652. package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.d.ts +3 -0
  653. package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.js +15 -0
  654. package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.js.map +1 -0
  655. package/dist/src/migrations/fix-lint-script/fix-lint-script.d.ts +7 -0
  656. package/dist/src/migrations/fix-lint-script/fix-lint-script.js +27 -0
  657. package/dist/src/migrations/fix-lint-script/fix-lint-script.js.map +1 -0
  658. package/dist/src/migrations/flutter-web-platform/flutter-web-platform.d.ts +8 -0
  659. package/dist/src/migrations/flutter-web-platform/flutter-web-platform.js +35 -0
  660. package/dist/src/migrations/flutter-web-platform/flutter-web-platform.js.map +1 -0
  661. package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.d.ts +9 -0
  662. package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.js +42 -0
  663. package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.js.map +1 -0
  664. package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.d.ts +8 -0
  665. package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.js +30 -0
  666. package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.js.map +1 -0
  667. package/dist/src/migrations/quality-checks/quality-checks.d.ts +7 -0
  668. package/dist/src/migrations/quality-checks/quality-checks.js +46 -0
  669. package/dist/src/migrations/quality-checks/quality-checks.js.map +1 -0
  670. package/dist/src/migrations/release-hardening/release-hardening.d.ts +8 -0
  671. package/dist/src/migrations/release-hardening/release-hardening.js +98 -0
  672. package/dist/src/migrations/release-hardening/release-hardening.js.map +1 -0
  673. package/dist/src/migrations/sharp-security-update/sharp-security-update.d.ts +10 -0
  674. package/dist/src/migrations/sharp-security-update/sharp-security-update.js +40 -0
  675. package/dist/src/migrations/sharp-security-update/sharp-security-update.js.map +1 -0
  676. package/migrate/package.json +5 -0
  677. package/package.json +120 -4
  678. package/runtime/csp-nonce.js +109 -0
  679. package/runtime/env-secret.d.ts +63 -0
  680. package/runtime/env-secret.mjs +698 -0
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libraryInfo = exports.discoverAngularProjects = exports.classifyAngularProject = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const angular17_1 = require("../angular17");
7
+ const capacitor_config_1 = require("../ionic/capacitor-config");
8
+ const workspace_source_1 = require("../nx/workspace-source");
9
+ const source_1 = require("../source");
10
+ const APP_BUILDERS = new Set([
11
+ '@angular-devkit/build-angular:browser',
12
+ '@angular-devkit/build-angular:browser-esbuild',
13
+ ]);
14
+ const E2E_BUILDER = /(protractor|cypress|playwright)/;
15
+ function executorOf(target) {
16
+ if (!(0, workspace_source_1.isObject)(target))
17
+ return undefined;
18
+ const e = target['executor'] ?? target['builder'];
19
+ return typeof e === 'string' ? e : undefined;
20
+ }
21
+ function classifyAngularProject(sourceDir, root, config) {
22
+ const targets = (0, workspace_source_1.isObject)(config['targets']) ? config['targets'] : {};
23
+ const executors = Object.values(targets).map(executorOf);
24
+ if (config['projectType'] === 'library')
25
+ return 'lib';
26
+ const build = executorOf(targets['build']);
27
+ // Angular 17+ application builder: converted to the browser builder, unless the app renders
28
+ // on the server.
29
+ const asProject = { targets };
30
+ if ((0, angular17_1.serverRendering)(asProject) !== undefined)
31
+ return 'angular-ssr';
32
+ const application = (0, angular17_1.applicationBuilderTargets)(asProject).some((t) => t.target === 'build');
33
+ if (build && (APP_BUILDERS.has(build) || application)) {
34
+ const at = (f) => (root ? `${root}/${f}` : f);
35
+ if (capacitor_config_1.CAPACITOR_CONFIGS.some((f) => (0, source_1.sourceExists)(sourceDir, at(f))))
36
+ return 'ionic-app';
37
+ // Ionic without Capacitor: a Cordova app (not supported).
38
+ if (['ionic.config.json', 'config.xml'].some((f) => (0, source_1.sourceExists)(sourceDir, at(f)))) {
39
+ return 'ionic-cordova';
40
+ }
41
+ return 'angular-app';
42
+ }
43
+ if (!build && executors.some((e) => e !== undefined && E2E_BUILDER.test(e)))
44
+ return 'e2e';
45
+ return 'other';
46
+ }
47
+ exports.classifyAngularProject = classifyAngularProject;
48
+ /** The angular.json projects (sorted by name); [] without a readable angular.json. */
49
+ function discoverAngularProjects(sourceDir) {
50
+ const ws = (0, source_1.readSourceJson)(sourceDir, 'angular.json');
51
+ const projects = (0, workspace_source_1.isObject)(ws?.['projects']) ? ws?.['projects'] : {};
52
+ return Object.entries(projects)
53
+ .filter(([, p]) => (0, workspace_source_1.isObject)(p))
54
+ .map(([name, p]) => {
55
+ const config = (0, workspace_source_1.normalizeConfig)(p);
56
+ const root = (0, workspace_source_1.normalizeRoot)(p['root']);
57
+ return {
58
+ name,
59
+ root,
60
+ config,
61
+ origin: 'angular.json',
62
+ kind: classifyAngularProject(sourceDir, root, config),
63
+ };
64
+ })
65
+ .sort((a, b) => (a.name < b.name ? -1 : 1));
66
+ }
67
+ exports.discoverAngularProjects = discoverAngularProjects;
68
+ /** The entry file in `dir` (source-relative): ng-package.json lib.entryFile, else the file that exists. */
69
+ function entryIn(sourceDir, dir) {
70
+ const at = (f) => (dir ? `${dir}/${f}` : f);
71
+ const ng = (0, source_1.readSourceJson)(sourceDir, at('ng-package.json'));
72
+ const lib = (0, workspace_source_1.isObject)(ng?.['lib']) ? ng?.['lib'] : {};
73
+ if (typeof lib['entryFile'] === 'string')
74
+ return path.posix.normalize(lib['entryFile']);
75
+ return (['src/public-api.ts', 'src/public_api.ts'].find((f) => (0, source_1.sourceExists)(sourceDir, at(f))) ??
76
+ 'src/public-api.ts');
77
+ }
78
+ function libraryInfo(sourceDir, p) {
79
+ const targets = (0, workspace_source_1.isObject)(p.config['targets']) ? p.config['targets'] : {};
80
+ const options = (0, workspace_source_1.isObject)(targets['build']?.['options'])
81
+ ? targets['build']['options']
82
+ : {};
83
+ const at = (f) => (p.root ? `${p.root}/${f}` : f);
84
+ const ngPackage = typeof options['project'] === 'string'
85
+ ? path.posix.normalize(options['project'])
86
+ : (0, source_1.sourceExists)(sourceDir, at('ng-package.json'))
87
+ ? at('ng-package.json')
88
+ : undefined;
89
+ const ng = ngPackage ? (0, source_1.readSourceJson)(sourceDir, ngPackage) : undefined;
90
+ const lib = (0, workspace_source_1.isObject)(ng?.['lib']) ? ng?.['lib'] : {};
91
+ // ng-packagr's default is src/public_api.ts; Angular CLI generates src/public-api.ts.
92
+ const entryFile = typeof lib['entryFile'] === 'string'
93
+ ? lib['entryFile']
94
+ : ['src/public-api.ts', 'src/public_api.ts'].find((f) => (0, source_1.sourceExists)(sourceDir, at(f))) ??
95
+ 'src/public_api.ts';
96
+ const outputs = new Set([`dist/${p.name}`]);
97
+ if (ngPackage && typeof ng?.['dest'] === 'string') {
98
+ outputs.add(path.posix.normalize(path.posix.join(path.posix.dirname(ngPackage), ng['dest'])));
99
+ }
100
+ return {
101
+ ngPackage,
102
+ entryFile: path.posix.normalize(entryFile),
103
+ outputs: [...outputs].sort(),
104
+ secondaryEntry: (sub) => entryIn(sourceDir, p.root ? `${p.root}/${sub}` : sub),
105
+ };
106
+ }
107
+ exports.libraryInfo = libraryInfo;
108
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/angular-workspace/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { AngularProject } from './adapters/angular-cli';
2
+ /**
3
+ * Angular 17+ sources in an Angular 15 workspace: the application builder (and the
4
+ * `@angular/build` package) are converted to the Angular 15 `@angular-devkit/build-angular`
5
+ * builders; server rendering is refused. Pure functions (no tree, no fs).
6
+ */
7
+ type Json = Record<string, unknown>;
8
+ export declare const APPLICATION_BUILDERS: Set<string>;
9
+ export declare const ESBUILD_BROWSER: Set<string>;
10
+ export interface ApplicationBuilderTarget {
11
+ target: string;
12
+ builder: string;
13
+ }
14
+ /**
15
+ * Targets that use the Angular 17+ application builder: `:application`, or `:browser-esbuild`
16
+ * given application-builder options (browser, server, ssr) in its options or configurations.
17
+ */
18
+ export declare function applicationBuilderTargets(project: AngularProject): ApplicationBuilderTarget[];
19
+ /**
20
+ * Why an application-builder project is a server-rendered app (undefined when it is not): its
21
+ * build sets server, ssr, prerender or appShell (in the options or a configuration, unless set
22
+ * to false), or it has a server, ssr-dev-server, prerender or app-shell target. Projects without
23
+ * an application-builder target (Angular 15 Universal apps among them) are not checked: they keep
24
+ * their builders.
25
+ */
26
+ export declare function serverRendering(project: AngularProject): string | undefined;
27
+ /** The refusal for a server-rendered app, or undefined. */
28
+ export declare function serverRenderingError(project: AngularProject): string | undefined;
29
+ export interface Angular17Conversion {
30
+ project: AngularProject;
31
+ /** What changed or was dropped, for the report. */
32
+ notes: string[];
33
+ }
34
+ /**
35
+ * The project with Angular 17+ builders converted for an Angular 15 workspace (a copy; the
36
+ * input is unchanged). Paths are not mapped here: angularProjectJson maps them afterwards.
37
+ * Call serverRenderingError first; server options left in a build are dropped with a note.
38
+ */
39
+ export declare function convertAngular17Project(project: AngularProject, projectName: string): Angular17Conversion;
40
+ /** A tsconfig with TypeScript 5-only compilerOptions changed or removed (a copy), and what changed. */
41
+ export declare function typeScript4Config(config: Json, file: string): {
42
+ config: Json;
43
+ notes: string[];
44
+ };
45
+ export {};
@@ -0,0 +1,495 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typeScript4Config = exports.convertAngular17Project = exports.serverRenderingError = exports.serverRendering = exports.applicationBuilderTargets = exports.ESBUILD_BROWSER = exports.APPLICATION_BUILDERS = void 0;
4
+ const isObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
5
+ exports.APPLICATION_BUILDERS = new Set([
6
+ '@angular-devkit/build-angular:application',
7
+ '@angular/build:application',
8
+ ]);
9
+ exports.ESBUILD_BROWSER = new Set([
10
+ '@angular-devkit/build-angular:browser-esbuild',
11
+ '@angular/build:browser-esbuild',
12
+ ]);
13
+ /** Options only the Angular 17+ application builder understands. */
14
+ const APPLICATION_OPTIONS = ['browser', 'server', 'ssr'];
15
+ /** Build options (in the build target or a configuration) that mean server rendering. */
16
+ const SSR_OPTIONS = ['server', 'ssr', 'prerender', 'appShell'];
17
+ /** Targets that only exist for server rendering. */
18
+ const SSR_BUILDER = /:(server|ssr-dev-server|prerender|app-shell)$/;
19
+ const BROWSER = '@angular-devkit/build-angular:browser';
20
+ /** `@angular/build:<x>` (Angular 18+) → the Angular 15 `@angular-devkit/build-angular:<x>`. */
21
+ const RENAMED_BUILDERS = {
22
+ '@angular/build:dev-server': '@angular-devkit/build-angular:dev-server',
23
+ '@angular/build:extract-i18n': '@angular-devkit/build-angular:extract-i18n',
24
+ '@angular/build:karma': '@angular-devkit/build-angular:karma',
25
+ '@angular/build:ng-packagr': '@angular-devkit/build-angular:ng-packagr',
26
+ };
27
+ /** Options of the Angular 15 builders; anything else fails their schema validation. */
28
+ const BROWSER_OPTIONS = new Set([
29
+ 'assets',
30
+ 'main',
31
+ 'polyfills',
32
+ 'tsConfig',
33
+ 'inlineStyleLanguage',
34
+ 'stylePreprocessorOptions',
35
+ 'optimization',
36
+ 'fileReplacements',
37
+ 'outputPath',
38
+ 'resourcesOutputPath',
39
+ 'aot',
40
+ 'sourceMap',
41
+ 'vendorChunk',
42
+ 'commonChunk',
43
+ 'baseHref',
44
+ 'deployUrl',
45
+ 'verbose',
46
+ 'progress',
47
+ 'i18nMissingTranslation',
48
+ 'i18nDuplicateTranslation',
49
+ 'localize',
50
+ 'watch',
51
+ 'outputHashing',
52
+ 'poll',
53
+ 'deleteOutputPath',
54
+ 'preserveSymlinks',
55
+ 'extractLicenses',
56
+ 'buildOptimizer',
57
+ 'namedChunks',
58
+ 'subresourceIntegrity',
59
+ 'serviceWorker',
60
+ 'ngswConfigPath',
61
+ 'index',
62
+ 'statsJson',
63
+ 'budgets',
64
+ 'webWorkerTsConfig',
65
+ 'crossOrigin',
66
+ 'allowedCommonJsDependencies',
67
+ 'scripts',
68
+ 'styles',
69
+ ]);
70
+ const DEV_SERVER_OPTIONS = new Set([
71
+ 'browserTarget',
72
+ 'port',
73
+ 'host',
74
+ 'proxyConfig',
75
+ 'ssl',
76
+ 'sslKey',
77
+ 'sslCert',
78
+ 'headers',
79
+ 'open',
80
+ 'verbose',
81
+ 'liveReload',
82
+ 'publicHost',
83
+ 'allowedHosts',
84
+ 'servePath',
85
+ 'disableHostCheck',
86
+ 'hmr',
87
+ 'watch',
88
+ 'poll',
89
+ ]);
90
+ const EXTRACT_I18N_OPTIONS = new Set([
91
+ 'browserTarget',
92
+ 'format',
93
+ 'progress',
94
+ 'outputPath',
95
+ 'outFile',
96
+ ]);
97
+ const KARMA_OPTIONS = new Set([
98
+ 'main',
99
+ 'tsConfig',
100
+ 'karmaConfig',
101
+ 'polyfills',
102
+ 'assets',
103
+ 'scripts',
104
+ 'styles',
105
+ 'inlineStyleLanguage',
106
+ 'stylePreprocessorOptions',
107
+ 'include',
108
+ 'exclude',
109
+ 'sourceMap',
110
+ 'progress',
111
+ 'watch',
112
+ 'poll',
113
+ 'preserveSymlinks',
114
+ 'browsers',
115
+ 'codeCoverage',
116
+ 'codeCoverageExclude',
117
+ 'fileReplacements',
118
+ 'reporters',
119
+ 'webWorkerTsConfig',
120
+ ]);
121
+ const ALLOWED = {
122
+ [BROWSER]: BROWSER_OPTIONS,
123
+ '@angular-devkit/build-angular:dev-server': DEV_SERVER_OPTIONS,
124
+ '@angular-devkit/build-angular:extract-i18n': EXTRACT_I18N_OPTIONS,
125
+ '@angular-devkit/build-angular:karma': KARMA_OPTIONS,
126
+ };
127
+ const builderOf = (t) => {
128
+ const b = t?.builder ?? t?.executor;
129
+ return typeof b === 'string' ? b : undefined;
130
+ };
131
+ const targetsOf = (project) => (project.architect ?? project.targets ?? {});
132
+ const optionSets = (t) => [t.options ?? {}, ...Object.values(t.configurations ?? {})].filter(isObject);
133
+ /**
134
+ * Targets that use the Angular 17+ application builder: `:application`, or `:browser-esbuild`
135
+ * given application-builder options (browser, server, ssr) in its options or configurations.
136
+ */
137
+ function applicationBuilderTargets(project) {
138
+ const found = [];
139
+ for (const [target, t] of Object.entries(targetsOf(project))) {
140
+ const builder = builderOf(t);
141
+ if (builder === undefined)
142
+ continue;
143
+ const usesApplicationOptions = optionSets(t).some((o) => APPLICATION_OPTIONS.some((k) => o[k] !== undefined));
144
+ if (exports.APPLICATION_BUILDERS.has(builder) ||
145
+ (exports.ESBUILD_BROWSER.has(builder) && usesApplicationOptions)) {
146
+ found.push({ target, builder });
147
+ }
148
+ }
149
+ return found;
150
+ }
151
+ exports.applicationBuilderTargets = applicationBuilderTargets;
152
+ /**
153
+ * Why an application-builder project is a server-rendered app (undefined when it is not): its
154
+ * build sets server, ssr, prerender or appShell (in the options or a configuration, unless set
155
+ * to false), or it has a server, ssr-dev-server, prerender or app-shell target. Projects without
156
+ * an application-builder target (Angular 15 Universal apps among them) are not checked: they keep
157
+ * their builders.
158
+ */
159
+ function serverRendering(project) {
160
+ const targets = targetsOf(project);
161
+ const application = applicationBuilderTargets(project);
162
+ if (application.length === 0)
163
+ return undefined;
164
+ for (const { target } of application) {
165
+ for (const o of optionSets(targets[target])) {
166
+ const key = SSR_OPTIONS.find((k) => o[k] !== undefined && o[k] !== false);
167
+ if (key)
168
+ return `target "${target}" sets "${key}"`;
169
+ }
170
+ }
171
+ for (const [target, t] of Object.entries(targets)) {
172
+ const builder = builderOf(t);
173
+ if (builder && SSR_BUILDER.test(builder))
174
+ return `target "${target}" uses ${builder}`;
175
+ }
176
+ return undefined;
177
+ }
178
+ exports.serverRendering = serverRendering;
179
+ /** The refusal for a server-rendered app, or undefined. */
180
+ function serverRenderingError(project) {
181
+ const why = serverRendering(project);
182
+ return why === undefined
183
+ ? undefined
184
+ : `migrate: the app renders on the server (${why}). Angular SSR apps are not supported: ` +
185
+ 'remove server rendering from the source (or migrate a copy without it) and run ' +
186
+ 'migrate again.';
187
+ }
188
+ exports.serverRenderingError = serverRenderingError;
189
+ /**
190
+ * The project with Angular 17+ builders converted for an Angular 15 workspace (a copy; the
191
+ * input is unchanged). Paths are not mapped here: angularProjectJson maps them afterwards.
192
+ * Call serverRenderingError first; server options left in a build are dropped with a note.
193
+ */
194
+ function convertAngular17Project(project, projectName) {
195
+ const notes = [];
196
+ const note = (n) => {
197
+ if (!notes.includes(n))
198
+ notes.push(n);
199
+ };
200
+ const key = project.architect ? 'architect' : project.targets ? 'targets' : undefined;
201
+ if (!key)
202
+ return { project, notes };
203
+ const application = new Set(applicationBuilderTargets(project).map((a) => a.target));
204
+ const angular17 = application.size > 0 ||
205
+ Object.values(targetsOf(project)).some((t) => builderOf(t)?.startsWith('@angular/build:'));
206
+ const buildTargetName = application.has('build') ? 'build' : [...application][0] ?? 'build';
207
+ const buildConfigs = Object.keys(targetsOf(project)[buildTargetName]?.configurations ?? {});
208
+ const sourceRoot = project.sourceRoot ?? (project.root ? `${String(project.root).replace(/\/$/, '')}/src` : 'src');
209
+ const projectRoot = project.root ? String(project.root).replace(/\/$/, '') : '';
210
+ const at = (f) => (projectRoot ? `${projectRoot}/${f}` : f);
211
+ const targets = {};
212
+ for (const [name, t] of Object.entries(targetsOf(project))) {
213
+ const builder = builderOf(t);
214
+ const field = t.builder !== undefined ? 'builder' : 'executor';
215
+ if (builder !== undefined && application.has(name)) {
216
+ note(`target "${name}": ${builder} became ${BROWSER} (the workspace builds with Angular 15). ` +
217
+ 'The output is written to `outputPath` itself, not to a `browser/` folder inside it.');
218
+ targets[name] = convertTarget(t, field, BROWSER, (o, config) => browserOptions(o, config, { sourceRoot, at, target: name, projectName }, note));
219
+ continue;
220
+ }
221
+ const renamed = builder !== undefined ? RENAMED_BUILDERS[builder] : undefined;
222
+ if (builder?.startsWith('@angular/build:') && renamed === undefined) {
223
+ note(`target "${name}": ${builder} does not exist in Angular 15; the target was kept but ` +
224
+ 'cannot run. Replace it (a karma or jest test target, for instance).');
225
+ targets[name] = t;
226
+ continue;
227
+ }
228
+ const newBuilder = renamed ?? builder ?? '';
229
+ const allowed = ALLOWED[newBuilder];
230
+ const usesBuildTarget = optionSets(t).some((o) => o['buildTarget'] !== undefined);
231
+ // Angular 15 targets are kept; a buildTarget (Angular 16+), or any dev-server, extract-i18n or
232
+ // karma target of an Angular 17+ project, is checked against the Angular 15 schema.
233
+ if (renamed === undefined &&
234
+ !(allowed && newBuilder !== BROWSER && (usesBuildTarget || angular17))) {
235
+ targets[name] = t;
236
+ continue;
237
+ }
238
+ if (renamed)
239
+ note(`target "${name}": ${builder} became ${renamed}.`);
240
+ const converted = convertTarget(t, field, newBuilder, (o, config) => {
241
+ const where = config === undefined ? `target "${name}"` : `target "${name}" configuration "${config}"`;
242
+ const out = {};
243
+ for (const [k, v] of Object.entries(o)) {
244
+ if (k === 'buildTarget' && allowed?.has('browserTarget')) {
245
+ out['browserTarget'] = v;
246
+ note(`target "${name}": \`buildTarget\` became \`browserTarget\`.`);
247
+ }
248
+ else if (allowed && !allowed.has(k)) {
249
+ note(`${where}: option \`${k}\` dropped (Angular 15 has no such option).`);
250
+ }
251
+ else if (k === 'assets' && Array.isArray(v)) {
252
+ out[k] = withAssetOutput(v);
253
+ }
254
+ else if (NESTED[k]) {
255
+ out[k] = nested(k, v, where, note, newBuilder.endsWith(':karma'));
256
+ }
257
+ else {
258
+ out[k] = v;
259
+ }
260
+ }
261
+ return out;
262
+ });
263
+ if (allowed?.has('browserTarget')) {
264
+ // Angular 17+ defaults buildTarget; the Angular 15 builders need browserTarget.
265
+ const configs = Object.values(converted.configurations ?? {});
266
+ const inOptions = isObject(converted.options) && converted.options['browserTarget'] !== undefined;
267
+ // Without a defaultConfiguration, a run with no configuration reads only the options.
268
+ const inEveryConfig = converted.defaultConfiguration !== undefined &&
269
+ configs.length > 0 &&
270
+ configs.every((c) => isObject(c) && c['browserTarget'] !== undefined);
271
+ if (!inOptions && !inEveryConfig) {
272
+ const dev = newBuilder.endsWith(':dev-server') && buildConfigs.includes('development')
273
+ ? ':development'
274
+ : '';
275
+ const ref = `${projectName}:${buildTargetName}${dev}`;
276
+ converted.options = { ...(converted.options ?? {}), browserTarget: ref };
277
+ note(`target "${name}": \`browserTarget\` added, pointing at the ${buildTargetName} target` +
278
+ `${dev ? ' (development configuration)' : ''} (Angular 15 needs it).`);
279
+ }
280
+ }
281
+ targets[name] = converted;
282
+ }
283
+ if (angular17)
284
+ for (const n of i18nNotes(project.i18n))
285
+ note(n);
286
+ return { project: { ...project, [key]: targets }, notes };
287
+ }
288
+ exports.convertAngular17Project = convertAngular17Project;
289
+ /** Asset objects need `output` in Angular 15; the application builder defaults it to the root. */
290
+ const withAssetOutput = (assets) => assets.map((a) => (isObject(a) && a['output'] === undefined ? { ...a, output: '/' } : a));
291
+ /** Object options whose keys Angular 15 restricts (its schemas reject other keys). */
292
+ const NESTED = {
293
+ stylePreprocessorOptions: { includePaths: true },
294
+ optimization: { scripts: true, styles: ['minify', 'inlineCritical'], fonts: ['inline'] },
295
+ sourceMap: { scripts: true, styles: true, hidden: true, vendor: true },
296
+ };
297
+ function nested(key, value, where, note, karma = false) {
298
+ if (!isObject(value))
299
+ return value;
300
+ // Angular 15 karma source maps have no `hidden`.
301
+ const shape = karma && key === 'sourceMap' ? { scripts: true, styles: true, vendor: true } : NESTED[key];
302
+ const out = {};
303
+ for (const [k, v] of Object.entries(value)) {
304
+ const sub = shape[k];
305
+ if (sub === undefined) {
306
+ note(`${where}: \`${key}.${k}\` dropped (Angular 15 has no such option).`);
307
+ }
308
+ else if (Array.isArray(sub) && isObject(v)) {
309
+ const kept = {};
310
+ for (const [sk, sv] of Object.entries(v)) {
311
+ if (sub.includes(sk))
312
+ kept[sk] = sv;
313
+ else
314
+ note(`${where}: \`${key}.${k}.${sk}\` dropped (Angular 15 has no such option).`);
315
+ }
316
+ out[k] = kept;
317
+ }
318
+ else {
319
+ out[k] = v;
320
+ }
321
+ }
322
+ return out;
323
+ }
324
+ /** Angular 17.2+ i18n `subPath`: Angular 15 ignores it, so localized output folders change. */
325
+ function i18nNotes(i18n) {
326
+ if (!isObject(i18n))
327
+ return [];
328
+ const withSubPath = [];
329
+ if (isObject(i18n['sourceLocale']) && i18n['sourceLocale']['subPath'] !== undefined) {
330
+ withSubPath.push('sourceLocale');
331
+ }
332
+ const locales = i18n['locales'];
333
+ if (isObject(locales)) {
334
+ for (const [l, v] of Object.entries(locales)) {
335
+ if (isObject(v) && v['subPath'] !== undefined)
336
+ withSubPath.push(l);
337
+ }
338
+ }
339
+ return withSubPath.length === 0
340
+ ? []
341
+ : [
342
+ `i18n \`subPath\` (${withSubPath.join(', ')}) is Angular 17.2+: Angular 15 writes each ` +
343
+ 'locale to a folder named after the locale.',
344
+ ];
345
+ }
346
+ function convertTarget(t, field, builder, fix) {
347
+ const out = { ...t, [field]: builder };
348
+ if (isObject(t.options))
349
+ out.options = fix(t.options, undefined);
350
+ if (isObject(t.configurations)) {
351
+ out.configurations = Object.fromEntries(Object.entries(t.configurations).map(([c, o]) => [c, isObject(o) ? fix(o, c) : o]));
352
+ }
353
+ return out;
354
+ }
355
+ /** Application-builder options → browser-builder options (one options or configuration object). */
356
+ function browserOptions(o, config, c, note) {
357
+ const where = config === undefined ? `target "${c.target}"` : `configuration "${config}"`;
358
+ const out = {};
359
+ for (const [k, v] of Object.entries(o)) {
360
+ if (k === 'browser') {
361
+ if (o['main'] === undefined)
362
+ out['main'] = v;
363
+ }
364
+ else if (k === 'outputPath' && isObject(v)) {
365
+ if (typeof v['base'] === 'string')
366
+ out['outputPath'] = v['base'];
367
+ // `browser: ""` (files at the base, as the browser builder writes them) needs no note.
368
+ if ((v['browser'] !== undefined && v['browser'] !== '') || v['media'] !== undefined) {
369
+ note(`${where}: \`outputPath\` sub-folders (browser, media) dropped; only \`base\` kept.`);
370
+ }
371
+ }
372
+ else if (k === 'index' && isObject(v)) {
373
+ // Angular 15 takes { input, output } too; other keys (preloadInitial) are dropped.
374
+ if (typeof v['input'] === 'string') {
375
+ out['index'] =
376
+ v['output'] === undefined ? v['input'] : { input: v['input'], output: v['output'] };
377
+ }
378
+ const extra = Object.keys(v).filter((x) => x !== 'input' && x !== 'output');
379
+ if (extra.length > 0) {
380
+ note(`${where}: \`index\` ${extra.map((x) => `\`${x}\``).join(', ')} dropped.`);
381
+ }
382
+ }
383
+ else if (k === 'index' && v === false) {
384
+ note(`${where}: \`index: false\` dropped (the browser builder needs an index.html).`);
385
+ }
386
+ else if (k === 'serviceWorker' && typeof v === 'string') {
387
+ out['serviceWorker'] = true;
388
+ out['ngswConfigPath'] = v;
389
+ }
390
+ else if (k === 'assets' && Array.isArray(v)) {
391
+ // The browser builder needs `output` on every asset object; the application builder
392
+ // defaults it to the output root.
393
+ out['assets'] = withAssetOutput(v);
394
+ }
395
+ else if (k === 'polyfills' && typeof v === 'string') {
396
+ out['polyfills'] = [v];
397
+ }
398
+ else if (NESTED[k]) {
399
+ out[k] = nested(k, v, where, note);
400
+ }
401
+ else if (BROWSER_OPTIONS.has(k)) {
402
+ out[k] = v;
403
+ }
404
+ else {
405
+ note(`${where}: option \`${k}\` dropped (the Angular 15 browser builder has no such option).`);
406
+ }
407
+ }
408
+ if (config === undefined) {
409
+ // Required by the browser builder; the application builder has defaults for them.
410
+ if (out['main'] === undefined)
411
+ out['main'] = `${c.sourceRoot}/main.ts`;
412
+ if (out['index'] === undefined)
413
+ out['index'] = `${c.sourceRoot}/index.html`;
414
+ if (out['outputPath'] === undefined)
415
+ out['outputPath'] = `dist/${c.projectName}`;
416
+ if (out['tsConfig'] === undefined)
417
+ out['tsConfig'] = c.at('tsconfig.app.json');
418
+ // The application builder always compiles ahead of time.
419
+ if (out['aot'] === undefined)
420
+ out['aot'] = true;
421
+ }
422
+ else if (out['optimization'] === false && out['buildOptimizer'] === undefined) {
423
+ // A development configuration: the browser builder's build optimizer defaults to on.
424
+ out['buildOptimizer'] = false;
425
+ if (out['vendorChunk'] === undefined)
426
+ out['vendorChunk'] = true;
427
+ if (out['namedChunks'] === undefined)
428
+ out['namedChunks'] = true;
429
+ }
430
+ return out;
431
+ }
432
+ /** compilerOptions that need TypeScript 5 (Angular 15 builds with TypeScript 4.8/4.9). */
433
+ const TS5_REPLACED = {
434
+ moduleResolution: { bundler: 'node' },
435
+ module: { preserve: 'es2022' },
436
+ target: { es2023: 'es2022', es2024: 'es2022' },
437
+ };
438
+ /** lib entries TypeScript 4.9 does not have: ES2023+ (es2023 → es2022; es2023.array … dropped). */
439
+ const NEWER_LIB = /^es202[3-9]/i;
440
+ const TS5_ONLY = [
441
+ 'verbatimModuleSyntax',
442
+ 'allowImportingTsExtensions',
443
+ 'customConditions',
444
+ 'resolvePackageJsonExports',
445
+ 'resolvePackageJsonImports',
446
+ 'isolatedDeclarations',
447
+ 'erasableSyntaxOnly',
448
+ 'noUncheckedSideEffectImports',
449
+ 'rewriteRelativeImportExtensions',
450
+ 'libReplacement',
451
+ ];
452
+ /** A tsconfig with TypeScript 5-only compilerOptions changed or removed (a copy), and what changed. */
453
+ function typeScript4Config(config, file) {
454
+ const co = config['compilerOptions'];
455
+ if (!isObject(co))
456
+ return { config, notes: [] };
457
+ const notes = [];
458
+ const out = {};
459
+ for (const [k, v] of Object.entries(co)) {
460
+ const replaced = typeof v === 'string' ? TS5_REPLACED[k]?.[v.toLowerCase()] : undefined;
461
+ if (replaced) {
462
+ out[k] = replaced;
463
+ notes.push(`${file}: \`${k}: "${v}"\` became \`"${replaced}"\` (TypeScript 4.9).`);
464
+ }
465
+ else if (k === 'lib' &&
466
+ Array.isArray(v) &&
467
+ v.some((l) => typeof l === 'string' && NEWER_LIB.test(l))) {
468
+ const lib = [];
469
+ for (const l of v) {
470
+ const fixed = typeof l === 'string' && NEWER_LIB.test(l) ? (l.includes('.') ? undefined : 'es2022') : l;
471
+ if (fixed !== undefined &&
472
+ !lib.some((x) => String(x).toLowerCase() === String(fixed).toLowerCase()))
473
+ lib.push(fixed);
474
+ }
475
+ out[k] = lib;
476
+ notes.push(`${file}: \`lib\` ES2023+ entries replaced (TypeScript 4.9 has up to ES2022).`);
477
+ }
478
+ else if (TS5_ONLY.includes(k)) {
479
+ notes.push(`${file}: \`${k}\` removed (TypeScript 5 only).`);
480
+ }
481
+ else {
482
+ out[k] = v;
483
+ }
484
+ }
485
+ // TypeScript 4.9 would resolve modules the Classic way without it once `preserve` is gone.
486
+ if (out['module'] === 'es2022' && String(co['module']).toLowerCase() === 'preserve') {
487
+ if (out['moduleResolution'] === undefined)
488
+ out['moduleResolution'] = 'node';
489
+ }
490
+ return notes.length === 0
491
+ ? { config, notes }
492
+ : { config: { ...config, compilerOptions: out }, notes };
493
+ }
494
+ exports.typeScript4Config = typeScript4Config;
495
+ //# sourceMappingURL=angular17.js.map