@mouryaamit/nx-polystack 0.0.0-stage → 1.0.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 (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 +119 -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,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadExternalAdapters = exports.parseNxJson = exports.typeScriptHook = exports.adapterEntries = exports.MIGRATE_API_VERSION = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs = tslib_1.__importStar(require("fs"));
6
+ const Module = tslib_1.__importStar(require("module"));
7
+ const path = tslib_1.__importStar(require("path"));
8
+ const names_1 = require("../names");
9
+ const types_1 = require("./types");
10
+ Object.defineProperty(exports, "MIGRATE_API_VERSION", { enumerable: true, get: function () { return types_1.MIGRATE_API_VERSION; } });
11
+ const index_1 = require("./index");
12
+ const fail = (entry, why) => {
13
+ throw new Error(`migrate: nx.json pstack.migrateAdapters entry "${entry}": ${why.replace(/\.?$/, '.')} ` +
14
+ 'Fix it, or remove the ' +
15
+ 'entry to migrate with the built-in adapters.');
16
+ };
17
+ /** The listed entries; [] when nx.json has none. Throws on a malformed list. */
18
+ function adapterEntries(nxJson) {
19
+ const list = nxJson?.pstack?.migrateAdapters;
20
+ if (list === undefined)
21
+ return [];
22
+ if (!Array.isArray(list) || list.some((e) => typeof e !== 'string' || e.trim() === '')) {
23
+ throw new Error('migrate: nx.json pstack.migrateAdapters must be a list of file paths or package names.');
24
+ }
25
+ return list.map((e) => e.trim());
26
+ }
27
+ exports.adapterEntries = adapterEntries;
28
+ function loadTypeScript(root, entry) {
29
+ try {
30
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
31
+ return require(require.resolve('typescript', { paths: [root, __dirname] }));
32
+ }
33
+ catch {
34
+ return fail(entry, 'is a TypeScript file, but the workspace has no `typescript` package to load it.');
35
+ }
36
+ }
37
+ /**
38
+ * The workspace tsconfig.base.json compilerOptions (decorators, jsx, …) for transpiling adapters;
39
+ * module and target are always CommonJS / ES2020. `paths` aliases are not resolved.
40
+ */
41
+ function workspaceCompilerOptions(ts, root) {
42
+ const file = ['tsconfig.base.json', 'tsconfig.json']
43
+ .map((f) => path.join(root, f))
44
+ .find((f) => fs.existsSync(f));
45
+ if (!file)
46
+ return {};
47
+ const read = ts.readConfigFile(file, ts.sys.readFile);
48
+ if (read.error)
49
+ return {};
50
+ return ts.convertCompilerOptionsFromJson(read.config?.compilerOptions ?? {}, root).options;
51
+ }
52
+ /** A require hook that transpiles a .ts module to CommonJS with `ts` (exported for tests). */
53
+ function typeScriptHook(ts, base = {}) {
54
+ return (mod, file) => {
55
+ const source = fs.readFileSync(file, 'utf8');
56
+ const out = ts.transpileModule(source, {
57
+ fileName: file,
58
+ compilerOptions: {
59
+ ...base,
60
+ module: ts.ModuleKind.CommonJS,
61
+ target: ts.ScriptTarget.ES2020,
62
+ esModuleInterop: true,
63
+ inlineSourceMap: true,
64
+ sourceMap: false,
65
+ declaration: false,
66
+ noEmit: false,
67
+ // tslib may not be next to the adapter; verbatimModuleSyntax conflicts with CommonJS.
68
+ importHelpers: false,
69
+ verbatimModuleSyntax: false,
70
+ },
71
+ });
72
+ mod._compile(out.outputText, file);
73
+ };
74
+ }
75
+ exports.typeScriptHook = typeScriptHook;
76
+ /**
77
+ * Runs `fn` with our TypeScript hook installed for .ts files, then restores the previous handler.
78
+ * Used for the require of a listed .ts entry and for every call into its adapters, so .ts files
79
+ * they load later (a lazy require or `import()`) transpile the same way.
80
+ */
81
+ function tsScope(root, entry, file) {
82
+ if (!file.endsWith('.ts'))
83
+ return (fn) => fn();
84
+ const ts = loadTypeScript(root, entry);
85
+ const hook = typeScriptHook(ts, workspaceCompilerOptions(ts, root));
86
+ return (fn) => {
87
+ const extensions = Module._extensions;
88
+ const previous = extensions['.ts'];
89
+ extensions['.ts'] = hook;
90
+ try {
91
+ return fn();
92
+ }
93
+ finally {
94
+ if (previous === undefined)
95
+ delete extensions['.ts'];
96
+ else
97
+ extensions['.ts'] = previous;
98
+ }
99
+ };
100
+ }
101
+ function resolveEntry(root, entry) {
102
+ if (entry.startsWith('.') || path.isAbsolute(entry)) {
103
+ const file = path.resolve(root, entry);
104
+ for (const candidate of [file, `${file}.ts`, `${file}.js`, path.join(file, 'index.js')]) {
105
+ if (fs.existsSync(candidate) && fs.statSync(candidate).isFile())
106
+ return candidate;
107
+ }
108
+ return fail(entry, `no such file (looked for ${path.relative(root, file) || file}).`);
109
+ }
110
+ try {
111
+ return require.resolve(entry, { paths: [root] });
112
+ }
113
+ catch {
114
+ return fail(entry, 'the package is not installed in the workspace.');
115
+ }
116
+ }
117
+ function adaptersOf(mod) {
118
+ const m = mod;
119
+ const picked = m?.['default'] ?? m?.['adapters'] ?? m?.['adapter'] ?? m;
120
+ return Array.isArray(picked) ? picked : [picked];
121
+ }
122
+ function validate(entry, a, taken) {
123
+ const x = a;
124
+ if (!x || typeof x !== 'object')
125
+ return fail(entry, 'does not export an adapter object.');
126
+ const id = x['id'];
127
+ if (typeof id !== 'string' || !names_1.NAME_RE.test(id)) {
128
+ return fail(entry, `adapter id ${JSON.stringify(id)} must be kebab-case.`);
129
+ }
130
+ if (x['apiVersion'] !== types_1.MIGRATE_API_VERSION) {
131
+ return fail(entry, `adapter "${id}" declares apiVersion ${JSON.stringify(x['apiVersion'])}; this nx-polystack ` +
132
+ `supports apiVersion ${types_1.MIGRATE_API_VERSION}. Update the adapter or nx-polystack.`);
133
+ }
134
+ const owner = taken.get(id);
135
+ if (owner)
136
+ return fail(entry, `adapter id "${id}" is already used by ${owner}.`);
137
+ if (x['kind'] !== undefined && x['kind'] !== 'app' && x['kind'] !== 'workspace') {
138
+ return fail(entry, `adapter "${id}" has kind ${JSON.stringify(x['kind'])} (app or workspace).`);
139
+ }
140
+ for (const fn of ['detect', 'defaultName', 'migrate']) {
141
+ if (typeof x[fn] !== 'function')
142
+ return fail(entry, `adapter "${id}" has no ${fn}() function.`);
143
+ }
144
+ if (x['kind'] === 'workspace' && typeof x['preflight'] !== 'function') {
145
+ return fail(entry, `workspace adapter "${id}" has no preflight() function.`);
146
+ }
147
+ if (x['preflight'] !== undefined && typeof x['preflight'] !== 'function') {
148
+ return fail(entry, `adapter "${id}" has a preflight that is not a function.`);
149
+ }
150
+ if (typeof x['label'] !== 'string' || x['label'] === '') {
151
+ return fail(entry, `adapter "${id}" has no label.`);
152
+ }
153
+ taken.set(id, `"${entry}"`);
154
+ return x;
155
+ }
156
+ /**
157
+ * The adapter with its errors (from defaultName, preflight, migrate) prefixed by its id and entry,
158
+ * so a failure inside an external adapter is not taken for an nx-polystack one.
159
+ */
160
+ function guarded(entry, a, scope) {
161
+ const wrap = (fn) => (...args) => {
162
+ try {
163
+ return scope(() => fn.apply(a, args));
164
+ }
165
+ catch (err) {
166
+ const message = err instanceof Error ? err.message : String(err);
167
+ const prefix = `adapter "${a.id}" (${entry}): `;
168
+ if (message.startsWith(prefix))
169
+ throw err;
170
+ const wrapped = new Error(`${prefix}${message.replace(/^migrate: /, '')}`);
171
+ if (err instanceof Error)
172
+ wrapped.stack = err.stack;
173
+ throw wrapped;
174
+ }
175
+ };
176
+ // Object.create keeps the adapter's prototype (class instances, getters for id or label).
177
+ const copy = Object.create(a);
178
+ for (const k of ['detect', 'defaultName', 'preflight', 'migrate']) {
179
+ const fn = a[k];
180
+ if (typeof fn === 'function') {
181
+ Object.defineProperty(copy, k, {
182
+ value: wrap(fn),
183
+ enumerable: true,
184
+ });
185
+ }
186
+ }
187
+ return copy;
188
+ }
189
+ /** Reads nx.json for the adapter list: undefined when missing; throws when it is not JSON. */
190
+ function parseNxJson(text) {
191
+ if (text === null || text === undefined)
192
+ return undefined;
193
+ try {
194
+ return JSON.parse(text);
195
+ }
196
+ catch (err) {
197
+ throw new Error(`migrate: nx.json is not valid JSON (${err instanceof Error ? err.message : String(err)}).`);
198
+ }
199
+ }
200
+ exports.parseNxJson = parseNxJson;
201
+ /** Loads and checks the workspace's external adapters. Throws, naming the entry, on any problem. */
202
+ function loadExternalAdapters(root, nxJson) {
203
+ const entries = adapterEntries(nxJson);
204
+ if (entries.length === 0)
205
+ return [];
206
+ const taken = new Map(index_1.ADAPTERS.map((a) => [a.id, 'a built-in adapter']));
207
+ const out = [];
208
+ for (const entry of entries) {
209
+ const file = resolveEntry(root, entry);
210
+ const scope = tsScope(root, entry, file);
211
+ let mod;
212
+ try {
213
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
214
+ mod = scope(() => require(file));
215
+ }
216
+ catch (err) {
217
+ if (err instanceof Error && err.message.startsWith('migrate: nx.json'))
218
+ throw err;
219
+ fail(entry, `could not be loaded: ${err instanceof Error ? err.message : String(err)}`);
220
+ }
221
+ const list = adaptersOf(mod);
222
+ if (list.length === 0)
223
+ fail(entry, 'exports an empty adapter list.');
224
+ for (const a of list)
225
+ out.push(guarded(entry, validate(entry, a, taken), scope));
226
+ }
227
+ return out;
228
+ }
229
+ exports.loadExternalAdapters = loadExternalAdapters;
230
+ //# sourceMappingURL=external.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/adapters/external.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { SkipRules } from '../copy';
2
+ import { Detection, MigrationAdapter } from './types';
3
+ export interface PathDependency {
4
+ /** pubspec section: dependencies, dev_dependencies or dependency_overrides. */
5
+ section: string;
6
+ name: string;
7
+ path: string;
8
+ }
9
+ export interface PubspecInfo {
10
+ name?: string;
11
+ /** `flutter: sdk: flutter` under dependencies. */
12
+ flutterSdk: boolean;
13
+ pathDependencies: PathDependency[];
14
+ }
15
+ /**
16
+ * The few pubspec.yaml facts :migrate needs, read line by line (block-style YAML, as
17
+ * `flutter create` writes it). Not a general YAML parser.
18
+ */
19
+ export declare function readPubspec(text: string): PubspecInfo;
20
+ export declare function readSourcePubspec(sourceDir: string): PubspecInfo | undefined;
21
+ export declare function detectFlutter(sourceDir: string): Detection;
22
+ export declare const flutterAdapter: MigrationAdapter;
23
+ /** Not copied: build output, tool caches, generated plugin lists, CocoaPods and Gradle state. */
24
+ export declare const FLUTTER_SKIP: SkipRules;
25
+ /** Path dependencies that resolve outside the source repo (they break after the move). */
26
+ export declare function outsidePathDependencies(sourceDir: string, pubspec: PubspecInfo): PathDependency[];
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.outsidePathDependencies = exports.FLUTTER_SKIP = exports.flutterAdapter = exports.detectFlutter = exports.readSourcePubspec = exports.readPubspec = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const env_files_1 = require("../../../lib/utils/env-files");
7
+ const npm_scripts_1 = require("../../../lib/utils/npm-scripts");
8
+ const serve_port_1 = require("../../../lib/utils/serve-port");
9
+ const generator_1 = require("../../app/generator");
10
+ const copy_1 = require("../copy");
11
+ const source_1 = require("../source");
12
+ const types_1 = require("./types");
13
+ const DEP_SECTIONS = new Set(['dependencies', 'dev_dependencies', 'dependency_overrides']);
14
+ function unquote(v) {
15
+ const t = v.trim();
16
+ return /^(['"]).*\1$/.test(t) ? t.slice(1, -1) : t;
17
+ }
18
+ /**
19
+ * The few pubspec.yaml facts :migrate needs, read line by line (block-style YAML, as
20
+ * `flutter create` writes it). Not a general YAML parser.
21
+ */
22
+ function readPubspec(text) {
23
+ const info = { flutterSdk: false, pathDependencies: [] };
24
+ let section;
25
+ let pkg;
26
+ let pkgIndent = -1;
27
+ for (const raw of text.split(/\r?\n/)) {
28
+ const line = raw.replace(/(^|\s)#.*$/, '').replace(/\s+$/, '');
29
+ if (!line.trim())
30
+ continue;
31
+ const indent = line.length - line.trimStart().length;
32
+ const m = /^([^:]+):\s*(.*)$/.exec(line.trim());
33
+ if (!m)
34
+ continue;
35
+ const key = unquote(m[1]);
36
+ const value = m[2];
37
+ if (indent === 0) {
38
+ section = key;
39
+ pkg = undefined;
40
+ if (key === 'name' && value)
41
+ info.name = unquote(value);
42
+ continue;
43
+ }
44
+ if (!section || !DEP_SECTIONS.has(section))
45
+ continue;
46
+ if (pkg === undefined || indent <= pkgIndent) {
47
+ pkg = key;
48
+ pkgIndent = indent;
49
+ continue;
50
+ }
51
+ if (key === 'sdk' &&
52
+ pkg === 'flutter' &&
53
+ unquote(value) === 'flutter' &&
54
+ section === 'dependencies') {
55
+ info.flutterSdk = true;
56
+ }
57
+ if (key === 'path' && value) {
58
+ info.pathDependencies.push({ section, name: pkg, path: unquote(value) });
59
+ }
60
+ }
61
+ return info;
62
+ }
63
+ exports.readPubspec = readPubspec;
64
+ function readSourcePubspec(sourceDir) {
65
+ const text = (0, source_1.readSourceText)(sourceDir, 'pubspec.yaml');
66
+ return text === undefined ? undefined : readPubspec(text);
67
+ }
68
+ exports.readSourcePubspec = readSourcePubspec;
69
+ function detectFlutter(sourceDir) {
70
+ if ((0, source_1.sourceExists)(sourceDir, 'nx.json')) {
71
+ return { confidence: 0, reasons: ['nx.json: an Nx workspace, not a standalone Flutter app'] };
72
+ }
73
+ const pubspec = readSourcePubspec(sourceDir);
74
+ if (!pubspec)
75
+ return { confidence: 0, reasons: ['no pubspec.yaml'] };
76
+ if (!pubspec.flutterSdk) {
77
+ return {
78
+ confidence: 0,
79
+ reasons: ['pubspec.yaml has no flutter SDK dependency (a Dart package, not a Flutter app)'],
80
+ };
81
+ }
82
+ let confidence = 0.6;
83
+ const reasons = ['pubspec.yaml depends on the Flutter SDK'];
84
+ if ((0, source_1.sourceExists)(sourceDir, 'lib/main.dart')) {
85
+ confidence += 0.4;
86
+ reasons.push('lib/main.dart present');
87
+ }
88
+ else {
89
+ reasons.push('lib/main.dart missing');
90
+ }
91
+ return { confidence: Math.round(confidence * 100) / 100, reasons };
92
+ }
93
+ exports.detectFlutter = detectFlutter;
94
+ exports.flutterAdapter = {
95
+ id: 'flutter',
96
+ label: 'standalone Flutter app',
97
+ detect: detectFlutter,
98
+ defaultName(sourceDir) {
99
+ return readSourcePubspec(sourceDir)?.name;
100
+ },
101
+ migrate: migrateFlutter,
102
+ };
103
+ /** Not copied: build output, tool caches, generated plugin lists, CocoaPods and Gradle state. */
104
+ exports.FLUTTER_SKIP = {
105
+ anyDepth: ['.git', '.dart_tool'],
106
+ topLevel: ['build', '.idea', '.packages', 'nx.json'],
107
+ topLevelPatterns: [/^\.flutter-plugins/],
108
+ paths: [
109
+ 'ios/Pods',
110
+ 'ios/.symlinks',
111
+ 'ios/build',
112
+ 'macos/Pods',
113
+ 'android/.gradle',
114
+ 'android/build',
115
+ 'android/app/build',
116
+ ],
117
+ // linux/flutter/ephemeral, windows/flutter/ephemeral, macos/Flutter/ephemeral, …
118
+ pathPatterns: [/(^|\/)flutter\/ephemeral$/i],
119
+ };
120
+ /** Path dependencies that resolve outside the source repo (they break after the move). */
121
+ function outsidePathDependencies(sourceDir, pubspec) {
122
+ const root = path.resolve(sourceDir);
123
+ return pubspec.pathDependencies.filter((d) => {
124
+ const target = path.resolve(root, d.path);
125
+ return target !== root && !target.startsWith(root + path.sep);
126
+ });
127
+ }
128
+ exports.outsidePathDependencies = outsidePathDependencies;
129
+ function migrateFlutter(tree, ctx) {
130
+ const { sourceDir, name, projectRoot } = ctx;
131
+ const data = (0, types_1.emptyReportData)();
132
+ data.npmProject = false;
133
+ const copy = (0, copy_1.copyIntoTree)(tree, sourceDir, projectRoot, exports.FLUTTER_SKIP, {
134
+ maxFiles: ctx.maxFiles,
135
+ });
136
+ (0, types_1.recordCopy)(data, copy, '');
137
+ tree.write(`${projectRoot}/project.json`, JSON.stringify((0, generator_1.buildProjectJson)(name, {
138
+ exportTarget: false,
139
+ root: projectRoot,
140
+ port: (0, serve_port_1.nextFreePort)((0, serve_port_1.usedServePorts)(tree).map((u) => u.port)),
141
+ }), null, 2) + '\n');
142
+ // The app's own env/*.json are kept; missing ones are empty (no made-up values).
143
+ const created = (0, env_files_1.generateFlutterEnvFiles)(tree, name, {
144
+ root: projectRoot,
145
+ keepExisting: true,
146
+ empty: true,
147
+ });
148
+ if (created.length > 0) {
149
+ data.notes.push(`Created empty ${created.map((f) => `\`${f}\``).join(', ')}; existing env files were kept.`);
150
+ }
151
+ (0, npm_scripts_1.addNpmScripts)(tree, (0, generator_1.buildNpmScripts)(name, { exportTarget: false }), { force: false });
152
+ for (const gradle of ['android/app/build.gradle', 'android/app/build.gradle.kts']) {
153
+ if (/\bproductFlavors\b/.test((0, source_1.readSourceText)(sourceDir, gradle) ?? '')) {
154
+ data.notes.push(`\`${gradle}\` defines product flavors. The build-* targets do not pass \`--flavor\`: ` +
155
+ 'build flavored variants with `flutter build … --flavor <name>` (or an `nx:run-commands` ' +
156
+ 'target) until the flutter-build executor supports it.');
157
+ }
158
+ }
159
+ const entrypoints = copy.copied.filter((f) => /^lib\/main_[^/]+\.dart$/.test(f)).sort();
160
+ if (entrypoints.length > 0) {
161
+ data.notes.push(`Extra entrypoints ${entrypoints.map((f) => `\`${f}\``).join(', ')}: the build-* targets ` +
162
+ 'build `lib/main.dart` and do not pass `-t`. Build the others with ' +
163
+ '`flutter build … -t lib/main_<name>.dart` (or an `nx:run-commands` target).');
164
+ }
165
+ const pubspec = readSourcePubspec(sourceDir);
166
+ for (const dep of pubspec ? outsidePathDependencies(sourceDir, pubspec) : []) {
167
+ data.notes.push(`pubspec.yaml ${dep.section}: \`${dep.name}\` has \`path: ${dep.path}\`, outside the source ` +
168
+ 'repo. It no longer resolves from `' +
169
+ projectRoot +
170
+ '`: move the package into the workspace (e.g. `pstack lib --type=flutter`) or fix the path.');
171
+ }
172
+ data.nextSteps.push(`Fill \`${projectRoot}/env/<env>.json\` (dev, uat, prod); they are passed to Flutter with ` +
173
+ '`--dart-define-from-file`', `\`cd ${projectRoot} && flutter pub get\``, `\`npx nx run ${name}:build-web:dev\``, `\`npx nx serve ${name}\``, '`pstack env --name=<env>` adds a new environment (env file and build configurations) to every app, this one included');
174
+ return data;
175
+ }
176
+ //# sourceMappingURL=flutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flutter.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/adapters/flutter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { AnyMigrationAdapter, Detection } from './types';
2
+ /** All adapters, in the order they are listed and tried. */
3
+ export declare const ADAPTERS: readonly AnyMigrationAdapter[];
4
+ /** Adapter ids, in registry order. */
5
+ export declare const ADAPTER_IDS: readonly string[];
6
+ /** Lowest confidence at which the best adapter is used without --adapter. */
7
+ export declare const MIN_CONFIDENCE = 0.8;
8
+ /** Lowest value --min-confidence accepts: below it, pick an adapter with --adapter. */
9
+ export declare const MIN_CONFIDENCE_FLOOR = 0.5;
10
+ /** --min-confidence as a number from 0.5 to 1; MIN_CONFIDENCE when not given. */
11
+ export declare function parseMinConfidence(value: unknown): number;
12
+ export interface DetectionRow extends Detection {
13
+ adapter: AnyMigrationAdapter;
14
+ }
15
+ /** The built-in adapters followed by the workspace's external ones (built-ins win ties). */
16
+ export declare function allAdapters(extra?: readonly AnyMigrationAdapter[]): AnyMigrationAdapter[];
17
+ export declare function findAdapter(id: string, extra?: readonly AnyMigrationAdapter[]): AnyMigrationAdapter;
18
+ /** Every adapter's detection, best first (ties keep registry order). */
19
+ export declare function detectAll(sourceDir: string, extra?: readonly AnyMigrationAdapter[]): DetectionRow[];
20
+ /** Shapes the source has that no adapter handles yet, for the "not supported" message. */
21
+ export declare function recognisedUnsupported(sourceDir: string): string[];
22
+ /** Plain-text detection table. */
23
+ export declare function formatDetectionTable(rows: DetectionRow[]): string;
24
+ export interface AdapterChoice {
25
+ adapter: AnyMigrationAdapter;
26
+ detection: Detection;
27
+ /** Chosen with --adapter rather than by detection. */
28
+ forced: boolean;
29
+ }
30
+ /**
31
+ * The adapter to use: the --adapter one, else the most confident one when it reaches
32
+ * MIN_CONFIDENCE. Otherwise throws with the detection table and what was recognised.
33
+ */
34
+ export declare function chooseAdapter(sourceDir: string, override?: string, minConfidence?: number, extra?: readonly AnyMigrationAdapter[]): AdapterChoice;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chooseAdapter = exports.formatDetectionTable = exports.recognisedUnsupported = exports.detectAll = exports.findAdapter = exports.allAdapters = exports.parseMinConfidence = exports.MIN_CONFIDENCE_FLOOR = exports.MIN_CONFIDENCE = exports.ADAPTER_IDS = exports.ADAPTERS = void 0;
4
+ const angular_cli_1 = require("./angular-cli");
5
+ const angular_workspace_1 = require("./angular-workspace");
6
+ const flutter_1 = require("./flutter");
7
+ const ionic_1 = require("./ionic");
8
+ const npm_workspaces_1 = require("./npm-workspaces");
9
+ const nx_workspace_1 = require("./nx-workspace");
10
+ /** All adapters, in the order they are listed and tried. */
11
+ exports.ADAPTERS = [
12
+ angular_cli_1.angularCliAdapter,
13
+ flutter_1.flutterAdapter,
14
+ nx_workspace_1.nxWorkspaceAdapter,
15
+ angular_workspace_1.angularWorkspaceAdapter,
16
+ ionic_1.ionicAdapter,
17
+ npm_workspaces_1.npmWorkspacesAdapter,
18
+ ];
19
+ /** Adapter ids, in registry order. */
20
+ exports.ADAPTER_IDS = exports.ADAPTERS.map((a) => a.id);
21
+ /** Lowest confidence at which the best adapter is used without --adapter. */
22
+ exports.MIN_CONFIDENCE = 0.8;
23
+ /** Lowest value --min-confidence accepts: below it, pick an adapter with --adapter. */
24
+ exports.MIN_CONFIDENCE_FLOOR = 0.5;
25
+ /** --min-confidence as a number from 0.5 to 1; MIN_CONFIDENCE when not given. */
26
+ function parseMinConfidence(value) {
27
+ if (value === undefined)
28
+ return exports.MIN_CONFIDENCE;
29
+ const n = typeof value === 'number'
30
+ ? value
31
+ : typeof value === 'string' && /^\s*(0|1|[01]?\.\d+)\s*$/.test(value)
32
+ ? Number(value)
33
+ : NaN;
34
+ if (!Number.isFinite(n) || n < exports.MIN_CONFIDENCE_FLOOR || n > 1) {
35
+ throw new Error(`migrate: --min-confidence must be a number from 0.50 to 1.00 (got ${String(value)}).`);
36
+ }
37
+ return n;
38
+ }
39
+ exports.parseMinConfidence = parseMinConfidence;
40
+ /** The built-in adapters followed by the workspace's external ones (built-ins win ties). */
41
+ function allAdapters(extra = []) {
42
+ return [...exports.ADAPTERS, ...extra];
43
+ }
44
+ exports.allAdapters = allAdapters;
45
+ function findAdapter(id, extra = []) {
46
+ const all = allAdapters(extra);
47
+ const adapter = all.find((a) => a.id === id);
48
+ if (!adapter) {
49
+ throw new Error(`migrate: unknown --adapter="${id}". Supported: ${all.map((a) => a.id).join(', ')}.`);
50
+ }
51
+ return adapter;
52
+ }
53
+ exports.findAdapter = findAdapter;
54
+ /** One adapter's detection; an external adapter that throws scores 0 with the error as reason. */
55
+ function safeDetect(adapter, sourceDir) {
56
+ if (exports.ADAPTERS.includes(adapter))
57
+ return adapter.detect(sourceDir);
58
+ try {
59
+ const d = adapter.detect(sourceDir);
60
+ const confidence = typeof d?.confidence === 'number' && Number.isFinite(d.confidence)
61
+ ? Math.min(1, Math.max(0, d.confidence))
62
+ : 0;
63
+ const reasons = Array.isArray(d?.reasons) ? d.reasons.map(String) : [];
64
+ return { confidence, reasons };
65
+ }
66
+ catch (err) {
67
+ return {
68
+ confidence: 0,
69
+ reasons: [`detect() failed: ${err instanceof Error ? err.message : String(err)}`],
70
+ };
71
+ }
72
+ }
73
+ /** Every adapter's detection, best first (ties keep registry order). */
74
+ function detectAll(sourceDir, extra = []) {
75
+ return allAdapters(extra)
76
+ .map((adapter) => ({ adapter, ...safeDetect(adapter, sourceDir) }))
77
+ .sort((a, b) => b.confidence - a.confidence);
78
+ }
79
+ exports.detectAll = detectAll;
80
+ /** Shapes the source has that no adapter handles yet, for the "not supported" message. */
81
+ function recognisedUnsupported(sourceDir) {
82
+ const found = [];
83
+ const ionic = (0, angular_cli_1.ionicSignals)(sourceDir);
84
+ const ionicDetection = ionic.length > 0 ? (0, ionic_1.detectIonic)(sourceDir) : undefined;
85
+ if (ionicDetection && ionicDetection.confidence < exports.MIN_CONFIDENCE) {
86
+ const why = ionicDetection.reasons[ionicDetection.reasons.length - 1];
87
+ found.push(`Ionic/Capacitor app (${ionic.join(', ')}${why ? `; ${why}` : ''})`);
88
+ }
89
+ return found;
90
+ }
91
+ exports.recognisedUnsupported = recognisedUnsupported;
92
+ /** Plain-text detection table. */
93
+ function formatDetectionTable(rows) {
94
+ const header = ['Adapter', 'Confidence', 'Reasons'];
95
+ const body = rows.map((r) => [r.adapter.id, r.confidence.toFixed(2), r.reasons.join('; ')]);
96
+ const widths = [0, 1].map((i) => Math.max(header[i].length, ...body.map((b) => b[i].length)));
97
+ const line = (c) => `${c[0].padEnd(widths[0])} ${c[1].padEnd(widths[1])} ${c[2]}`;
98
+ return [line(header), ...body.map(line)].join('\n');
99
+ }
100
+ exports.formatDetectionTable = formatDetectionTable;
101
+ /**
102
+ * The adapter to use: the --adapter one, else the most confident one when it reaches
103
+ * MIN_CONFIDENCE. Otherwise throws with the detection table and what was recognised.
104
+ */
105
+ function chooseAdapter(sourceDir, override, minConfidence = exports.MIN_CONFIDENCE, extra = []) {
106
+ if (override) {
107
+ const adapter = findAdapter(override, extra);
108
+ return { adapter, detection: safeDetect(adapter, sourceDir), forced: true };
109
+ }
110
+ const rows = detectAll(sourceDir, extra);
111
+ const best = rows[0];
112
+ if (best && best.confidence >= minConfidence) {
113
+ return { adapter: best.adapter, detection: best, forced: false };
114
+ }
115
+ const recognised = recognisedUnsupported(sourceDir);
116
+ throw new Error([
117
+ `migrate: no adapter is confident enough (needs ${minConfidence.toFixed(2)}) for ${sourceDir}.`,
118
+ '',
119
+ formatDetectionTable(rows),
120
+ '',
121
+ recognised.length > 0
122
+ ? `Recognised, but not supported yet: ${recognised.join('; ')}.`
123
+ : 'This project shape is not supported yet.',
124
+ `To migrate it anyway, pick an adapter with --adapter=<${allAdapters(extra)
125
+ .map((a) => a.id)
126
+ .join('|')}>.`,
127
+ ...(best && best.confidence >= exports.MIN_CONFIDENCE_FLOOR
128
+ ? [
129
+ `To accept ${best.adapter.id} at ${best.confidence.toFixed(2)}: ` +
130
+ `--min-confidence=${best.confidence}.`,
131
+ ]
132
+ : []),
133
+ ].join('\n'));
134
+ }
135
+ exports.chooseAdapter = chooseAdapter;
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/adapters/index.ts"],"names":[],"mappings":"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"}