@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,40 @@
1
+ /**
2
+ * Env file backups and locks for the release build, kept in node_modules/.cache:
3
+ * - `<id>.lock`: { pid, token } while a release build uses the env file. Builds that share an env
4
+ * file wait for each other; a lock whose process is gone is stale.
5
+ * - `<id>.json`: { file, content, written? }: the original text, and the hash of the text the
6
+ * build wrote, so a killed build is repaired by the next one without overwriting later edits.
7
+ */
8
+ export declare const BACKUP_DIR = "node_modules/.cache/nx-polystack/env-backup";
9
+ export interface LockOptions {
10
+ /** How long to wait for another build using the same env file (default 60 minutes). */
11
+ timeoutMs?: number;
12
+ pollMs?: number;
13
+ /** Called once when the build starts waiting. */
14
+ onWait?: () => void;
15
+ }
16
+ /** Takes the env file's lock (waiting while another live build holds it); returns a release. */
17
+ export declare function lockEnvFile(repoRoot: string, file: string, opts?: LockOptions): () => void;
18
+ /**
19
+ * Removes a stale lock without racing another build that found it stale too: the lock is moved
20
+ * aside (atomic) and checked; if what was moved is not the stale lock (another build already
21
+ * replaced it with a live one), it is put back with a link, which never overwrites.
22
+ */
23
+ export declare function removeStaleLock(lock: string, staleToken: string | undefined): void;
24
+ export declare function backupEnvFile(repoRoot: string, file: string): void;
25
+ /** Records the text the build wrote, so recovery can tell whether the file changed since. */
26
+ export declare function markWritten(repoRoot: string, file: string, text: string): void;
27
+ /** Writes the backed-up content back and removes the backup (kept when it cannot be read). */
28
+ export declare function restoreEnvFile(repoRoot: string, file: string): void;
29
+ export interface RecoverResult {
30
+ /** The file was restored from the backup of an unfinished build. */
31
+ restored: boolean;
32
+ /** The file changed after that build, so the backup was dropped and the file kept. */
33
+ kept: boolean;
34
+ }
35
+ /**
36
+ * Repairs the env file after a build that did not finish (call with the lock held): restores the
37
+ * backup when the file still holds what that build wrote; keeps the file (and drops the backup)
38
+ * when it was edited since. A legacy `<file>.bak` is restored the same way as before v0.25.0.
39
+ */
40
+ export declare function recoverEnvFile(repoRoot: string, file: string): RecoverResult;
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recoverEnvFile = exports.restoreEnvFile = exports.markWritten = exports.backupEnvFile = exports.removeStaleLock = exports.lockEnvFile = exports.BACKUP_DIR = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const crypto = tslib_1.__importStar(require("crypto"));
6
+ const fs = tslib_1.__importStar(require("fs"));
7
+ const os = tslib_1.__importStar(require("os"));
8
+ const path = tslib_1.__importStar(require("path"));
9
+ /**
10
+ * Env file backups and locks for the release build, kept in node_modules/.cache:
11
+ * - `<id>.lock`: { pid, token } while a release build uses the env file. Builds that share an env
12
+ * file wait for each other; a lock whose process is gone is stale.
13
+ * - `<id>.json`: { file, content, written? }: the original text, and the hash of the text the
14
+ * build wrote, so a killed build is repaired by the next one without overwriting later edits.
15
+ */
16
+ exports.BACKUP_DIR = 'node_modules/.cache/nx-polystack/env-backup';
17
+ const dirOf = (repoRoot) => path.join(repoRoot, ...exports.BACKUP_DIR.split('/'));
18
+ const relOf = (repoRoot, file) => path.relative(repoRoot, file).split(path.sep).join('/');
19
+ const idFor = (rel) => crypto.createHash('sha1').update(rel).digest('hex').slice(0, 16);
20
+ const sha = (text) => crypto.createHash('sha256').update(text).digest('hex');
21
+ const backupPath = (repoRoot, file) => path.join(dirOf(repoRoot), `${idFor(relOf(repoRoot, file))}.json`);
22
+ const lockPath = (repoRoot, file) => path.join(dirOf(repoRoot), `${idFor(relOf(repoRoot, file))}.lock`);
23
+ /** Writes via a temporary file and rename, so a crash never leaves a half-written backup. */
24
+ function writeAtomic(p, text) {
25
+ const tmp = `${p}.${process.pid}.tmp`;
26
+ try {
27
+ fs.writeFileSync(tmp, text);
28
+ fs.renameSync(tmp, p);
29
+ }
30
+ catch (err) {
31
+ fs.rmSync(tmp, { force: true });
32
+ throw err;
33
+ }
34
+ }
35
+ function readBackup(p) {
36
+ try {
37
+ const b = JSON.parse(fs.readFileSync(p, 'utf8'));
38
+ return typeof b?.content === 'string' ? b : undefined;
39
+ }
40
+ catch {
41
+ return undefined;
42
+ }
43
+ }
44
+ function processAlive(pid) {
45
+ try {
46
+ process.kill(pid, 0);
47
+ return true;
48
+ }
49
+ catch (err) {
50
+ return err.code === 'EPERM';
51
+ }
52
+ }
53
+ /** Tokens of the locks this process holds (a lock with this pid but another token is stale). */
54
+ const HELD = new Set();
55
+ const HOST = os.hostname();
56
+ const sleep = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
57
+ /** Takes the env file's lock (waiting while another live build holds it); returns a release. */
58
+ function lockEnvFile(repoRoot, file, opts = {}) {
59
+ const dir = dirOf(repoRoot);
60
+ fs.mkdirSync(dir, { recursive: true });
61
+ const lock = lockPath(repoRoot, file);
62
+ const token = crypto.randomBytes(8).toString('hex');
63
+ const deadline = Date.now() + (opts.timeoutMs ?? 60 * 60000);
64
+ let waited = false;
65
+ for (;;) {
66
+ try {
67
+ fs.writeFileSync(lock, JSON.stringify({ pid: process.pid, host: HOST, token }), {
68
+ flag: 'wx',
69
+ });
70
+ HELD.add(token);
71
+ return () => {
72
+ HELD.delete(token);
73
+ try {
74
+ const held = JSON.parse(fs.readFileSync(lock, 'utf8'));
75
+ if (held.token === token)
76
+ fs.unlinkSync(lock);
77
+ }
78
+ catch {
79
+ // Already gone.
80
+ }
81
+ };
82
+ }
83
+ catch (err) {
84
+ if (err.code !== 'EEXIST')
85
+ throw err;
86
+ }
87
+ let holder = {};
88
+ let readable = true;
89
+ try {
90
+ holder = JSON.parse(fs.readFileSync(lock, 'utf8'));
91
+ }
92
+ catch {
93
+ readable = false;
94
+ }
95
+ const shown = relOf(repoRoot, file);
96
+ const lockShown = relOf(repoRoot, lock);
97
+ let stale;
98
+ if (!readable || typeof holder.pid !== 'number') {
99
+ // Being written right now, or left empty by a crash: stale once it is a few seconds old.
100
+ let age = 0;
101
+ try {
102
+ age = Date.now() - fs.statSync(lock).mtimeMs;
103
+ }
104
+ catch {
105
+ continue;
106
+ }
107
+ stale = age > 5000;
108
+ }
109
+ else if (holder.host !== undefined && holder.host !== HOST) {
110
+ // Written on another machine or container (e.g. an aborted CI job): its process is gone.
111
+ stale = true;
112
+ }
113
+ else if (holder.pid === process.pid) {
114
+ if (holder.token !== undefined && HELD.has(holder.token)) {
115
+ throw new Error(`env encryption: another release build in this process is using ${shown}; run release ` +
116
+ `builds that share an env folder one at a time (lock: ${lockShown}).`);
117
+ }
118
+ stale = true;
119
+ }
120
+ else {
121
+ stale = !processAlive(holder.pid);
122
+ }
123
+ if (stale) {
124
+ removeStaleLock(lock, readable ? holder.token : undefined);
125
+ continue;
126
+ }
127
+ if (Date.now() > deadline) {
128
+ throw new Error(`env encryption: another release build (pid ${holder.pid ?? '?'}) is still using ${shown}. ` + `If none is running, delete ${lockShown}.`);
129
+ }
130
+ if (!waited) {
131
+ waited = true;
132
+ opts.onWait?.();
133
+ }
134
+ sleep(opts.pollMs ?? 500);
135
+ }
136
+ }
137
+ exports.lockEnvFile = lockEnvFile;
138
+ /**
139
+ * Removes a stale lock without racing another build that found it stale too: the lock is moved
140
+ * aside (atomic) and checked; if what was moved is not the stale lock (another build already
141
+ * replaced it with a live one), it is put back with a link, which never overwrites.
142
+ */
143
+ function removeStaleLock(lock, staleToken) {
144
+ const aside = `${lock}.stale.${process.pid}.${crypto.randomBytes(4).toString('hex')}`;
145
+ try {
146
+ fs.renameSync(lock, aside);
147
+ }
148
+ catch {
149
+ return; // Already moved or removed by another build.
150
+ }
151
+ let moved = {};
152
+ try {
153
+ moved = JSON.parse(fs.readFileSync(aside, 'utf8'));
154
+ }
155
+ catch {
156
+ // Empty or corrupt: it was the stale one.
157
+ }
158
+ if (moved.token !== undefined && moved.token !== staleToken) {
159
+ try {
160
+ fs.linkSync(aside, lock);
161
+ }
162
+ catch {
163
+ // A newer lock exists already; the moved one's build keeps running without its file.
164
+ }
165
+ }
166
+ fs.rmSync(aside, { force: true });
167
+ }
168
+ exports.removeStaleLock = removeStaleLock;
169
+ function backupEnvFile(repoRoot, file) {
170
+ fs.mkdirSync(dirOf(repoRoot), { recursive: true });
171
+ const b = { file: relOf(repoRoot, file), content: fs.readFileSync(file, 'utf8') };
172
+ writeAtomic(backupPath(repoRoot, file), JSON.stringify(b));
173
+ }
174
+ exports.backupEnvFile = backupEnvFile;
175
+ /** Records the text the build wrote, so recovery can tell whether the file changed since. */
176
+ function markWritten(repoRoot, file, text) {
177
+ const p = backupPath(repoRoot, file);
178
+ const b = readBackup(p);
179
+ if (b)
180
+ writeAtomic(p, JSON.stringify({ ...b, written: sha(text) }));
181
+ }
182
+ exports.markWritten = markWritten;
183
+ /** Writes the backed-up content back and removes the backup (kept when it cannot be read). */
184
+ function restoreEnvFile(repoRoot, file) {
185
+ const p = backupPath(repoRoot, file);
186
+ if (!fs.existsSync(p))
187
+ return;
188
+ const b = readBackup(p);
189
+ if (!b) {
190
+ throw new Error(`env encryption: the backup of ${relOf(repoRoot, file)} (${relOf(repoRoot, p)}) cannot be ` +
191
+ 'read; check the env file against git before building again.');
192
+ }
193
+ fs.writeFileSync(file, b.content);
194
+ fs.unlinkSync(p);
195
+ }
196
+ exports.restoreEnvFile = restoreEnvFile;
197
+ /**
198
+ * Repairs the env file after a build that did not finish (call with the lock held): restores the
199
+ * backup when the file still holds what that build wrote; keeps the file (and drops the backup)
200
+ * when it was edited since. A legacy `<file>.bak` is restored the same way as before v0.25.0.
201
+ */
202
+ function recoverEnvFile(repoRoot, file) {
203
+ const result = { restored: false, kept: false };
204
+ const p = backupPath(repoRoot, file);
205
+ if (fs.existsSync(p)) {
206
+ const b = readBackup(p);
207
+ if (!b) {
208
+ throw new Error(`env encryption: the backup of ${relOf(repoRoot, file)} left by an unfinished build ` +
209
+ `(${relOf(repoRoot, p)}) cannot be read; check the env file against git, then delete it.`);
210
+ }
211
+ const current = fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : undefined;
212
+ if (b.written === undefined || (current !== undefined && sha(current) === b.written)) {
213
+ if (current !== b.content) {
214
+ fs.writeFileSync(file, b.content);
215
+ result.restored = true;
216
+ }
217
+ }
218
+ else {
219
+ result.kept = true;
220
+ }
221
+ fs.unlinkSync(p);
222
+ }
223
+ const bak = `${file}.bak`;
224
+ if (fs.existsSync(bak)) {
225
+ if (!result.restored && !result.kept) {
226
+ fs.copyFileSync(bak, file);
227
+ result.restored = true;
228
+ }
229
+ fs.unlinkSync(bak);
230
+ }
231
+ return result;
232
+ }
233
+ exports.recoverEnvFile = recoverEnvFile;
234
+ //# sourceMappingURL=backup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/lib/env-encryption/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export type EncryptionMode = 'listed' | 'all';
2
+ export type EncryptionFormat = 'raw' | 'enc';
3
+ export declare const KEY_SOURCES: readonly ["commit", "salt", "env", "custom"];
4
+ export type KeySource = (typeof KEY_SOURCES)[number];
5
+ export declare const CIPHERS: string[];
6
+ export interface StampConfig {
7
+ timeField?: string;
8
+ branchField?: string;
9
+ timezone?: string;
10
+ /** Overrides the `z` token (e.g. "IST"). */
11
+ timezoneLabel?: string;
12
+ format?: string;
13
+ }
14
+ export interface EnvEncryptionConfig {
15
+ mode: EncryptionMode;
16
+ cipher: string;
17
+ /** Key factors besides the internal per-build key (aes-gcm); at least one. */
18
+ keySources: KeySource[];
19
+ metaName: string;
20
+ /** Listed mode: env project → keys; `default` for projects not listed. */
21
+ keys: Record<string, string[]>;
22
+ /** All mode: keys kept in plain text. */
23
+ publicKeys: string[];
24
+ stamp?: StampConfig;
25
+ /** `raw`: ciphertext as is; `enc`: written as ENC(<ciphertext>). */
26
+ format: EncryptionFormat;
27
+ /** Files next to the env file (e.g. app.profile.ts) whose sensitive-looking fields are encrypted. */
28
+ profileFiles: string[];
29
+ }
30
+ /**
31
+ * Suggested keys (README examples). Not a default: before v0.25.0 a workspace without listed keys
32
+ * encrypted nothing, so `keys.default` defaults to an empty list.
33
+ */
34
+ export declare const SUGGESTED_KEYS: string[];
35
+ export declare const DEFAULT_PUBLIC_KEYS: string[];
36
+ export declare const DEFAULT_STAMP: Required<Omit<StampConfig, 'timezoneLabel'>>;
37
+ export declare const LEGACY_KEYS_FILE = "tools/config/encrypt-keys.json";
38
+ export declare function defaultEnvEncryptionConfig(): EnvEncryptionConfig;
39
+ /** Keys from the legacy encrypt-keys.json shape (`_default` + per project, `_doc` ignored). */
40
+ export declare function keysFromLegacy(json: Record<string, unknown>): Record<string, string[]>;
41
+ /** A validated config from the raw `pstack.envEncryption` value; throws on invalid settings. */
42
+ export declare function normalizeEnvEncryption(raw: unknown): EnvEncryptionConfig;
43
+ export interface LoadedConfig {
44
+ config: EnvEncryptionConfig;
45
+ source: 'nx.json' | 'legacy' | 'default';
46
+ }
47
+ /** The workspace's settings: nx.json, else the legacy keys file, else defaults. */
48
+ export declare function loadEnvEncryptionConfig(repoRoot: string): LoadedConfig;
49
+ /** Keys to encrypt for an env project in listed mode. */
50
+ export declare function listedKeys(cfg: EnvEncryptionConfig, envProject: string): string[];
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listedKeys = exports.loadEnvEncryptionConfig = exports.normalizeEnvEncryption = exports.keysFromLegacy = exports.defaultEnvEncryptionConfig = exports.LEGACY_KEYS_FILE = exports.DEFAULT_STAMP = exports.DEFAULT_PUBLIC_KEYS = exports.SUGGESTED_KEYS = exports.CIPHERS = exports.KEY_SOURCES = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs = tslib_1.__importStar(require("fs"));
6
+ const path = tslib_1.__importStar(require("path"));
7
+ const stamp_1 = require("./stamp");
8
+ exports.KEY_SOURCES = ['commit', 'salt', 'env', 'custom'];
9
+ exports.CIPHERS = ['cryptojs', 'aes-gcm'];
10
+ /**
11
+ * Suggested keys (README examples). Not a default: before v0.25.0 a workspace without listed keys
12
+ * encrypted nothing, so `keys.default` defaults to an empty list.
13
+ */
14
+ exports.SUGGESTED_KEYS = ['password', 'uname', 'key', 'iv'];
15
+ exports.DEFAULT_PUBLIC_KEYS = ['production', 'envName', 'appName', 'timeStamp'];
16
+ exports.DEFAULT_STAMP = {
17
+ timeField: 'timeStamp',
18
+ branchField: 'branch',
19
+ timezone: 'UTC',
20
+ format: 'DD MMM YYYY hh:mm:ss A z',
21
+ };
22
+ exports.LEGACY_KEYS_FILE = 'tools/config/encrypt-keys.json';
23
+ function defaultEnvEncryptionConfig() {
24
+ return {
25
+ mode: 'listed',
26
+ cipher: 'cryptojs',
27
+ keySources: ['commit'],
28
+ metaName: 'x-build',
29
+ format: 'raw',
30
+ profileFiles: [],
31
+ keys: { default: [] },
32
+ publicKeys: [...exports.DEFAULT_PUBLIC_KEYS],
33
+ stamp: { ...exports.DEFAULT_STAMP },
34
+ };
35
+ }
36
+ exports.defaultEnvEncryptionConfig = defaultEnvEncryptionConfig;
37
+ const strings = (v) => Array.isArray(v) && v.every((x) => typeof x === 'string') ? v : undefined;
38
+ /** Keys from the legacy encrypt-keys.json shape (`_default` + per project, `_doc` ignored). */
39
+ function keysFromLegacy(json) {
40
+ const keys = {};
41
+ for (const [k, v] of Object.entries(json)) {
42
+ const list = strings(v);
43
+ if (!list || k === '_doc')
44
+ continue;
45
+ keys[k === '_default' ? 'default' : k] = list;
46
+ }
47
+ if (!keys['default'])
48
+ keys['default'] = [];
49
+ return keys;
50
+ }
51
+ exports.keysFromLegacy = keysFromLegacy;
52
+ /** A validated config from the raw `pstack.envEncryption` value; throws on invalid settings. */
53
+ function normalizeEnvEncryption(raw) {
54
+ const base = defaultEnvEncryptionConfig();
55
+ if (raw === undefined)
56
+ return base;
57
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
58
+ throw new Error('nx.json pstack.envEncryption must be an object.');
59
+ }
60
+ const r = raw;
61
+ const cfg = {
62
+ mode: r['mode'] ?? base.mode,
63
+ cipher: r['cipher'] ?? base.cipher,
64
+ keySources: base.keySources,
65
+ metaName: r['metaName'] ?? base.metaName,
66
+ format: r['format'] ?? base.format,
67
+ profileFiles: base.profileFiles,
68
+ keys: base.keys,
69
+ publicKeys: base.publicKeys,
70
+ stamp: r['stamp'] === undefined ? undefined : { ...exports.DEFAULT_STAMP, ...r['stamp'] },
71
+ };
72
+ if (!['listed', 'all'].includes(cfg.mode)) {
73
+ throw new Error(`pstack.envEncryption.mode "${cfg.mode}" is not valid. Use listed or all.`);
74
+ }
75
+ if (!exports.CIPHERS.includes(cfg.cipher)) {
76
+ throw new Error(`pstack.envEncryption.cipher "${cfg.cipher}" is not valid. Use ${exports.CIPHERS.join(' or ')}.`);
77
+ }
78
+ if (r['keySource'] !== undefined && r['keySource'] !== 'commit') {
79
+ throw new Error('pstack.envEncryption.keySource is replaced by keySources (a list of commit, salt, env, ' +
80
+ 'custom); run "pstack update".');
81
+ }
82
+ if (r['keySources'] !== undefined) {
83
+ const list = strings(r['keySources']);
84
+ const unknown = (list ?? []).filter((s) => !exports.KEY_SOURCES.includes(s));
85
+ if (!list || list.length === 0 || unknown.length > 0) {
86
+ throw new Error(`pstack.envEncryption.keySources must list at least one of ${exports.KEY_SOURCES.join(', ')}` +
87
+ (unknown.length > 0 ? ` (unknown: ${unknown.join(', ')})` : '') +
88
+ '.');
89
+ }
90
+ cfg.keySources = exports.KEY_SOURCES.filter((s) => list.includes(s));
91
+ }
92
+ if (typeof cfg.metaName !== 'string' || !/^[\w-]+$/.test(cfg.metaName)) {
93
+ throw new Error('pstack.envEncryption.metaName must be a simple name such as x-build.');
94
+ }
95
+ if (r['keys'] !== undefined) {
96
+ if (typeof r['keys'] !== 'object' || r['keys'] === null || Array.isArray(r['keys'])) {
97
+ throw new Error('pstack.envEncryption.keys must map env projects to key lists.');
98
+ }
99
+ const keys = {};
100
+ for (const [k, v] of Object.entries(r['keys'])) {
101
+ const list = strings(v);
102
+ if (!list)
103
+ throw new Error(`pstack.envEncryption.keys.${k} must be a list of key names.`);
104
+ keys[k] = list;
105
+ }
106
+ if (!keys['default'])
107
+ keys['default'] = [];
108
+ cfg.keys = keys;
109
+ }
110
+ if (!['raw', 'enc'].includes(cfg.format)) {
111
+ throw new Error(`pstack.envEncryption.format "${cfg.format}" is not valid. Use raw or enc.`);
112
+ }
113
+ if (r['profileFiles'] !== undefined) {
114
+ const list = strings(r['profileFiles']);
115
+ if (!list ||
116
+ list.some((f) => !/^[\w.-]+(\/[\w.-]+)*$/.test(f) || f.split('/').includes('..'))) {
117
+ throw new Error('pstack.envEncryption.profileFiles must list files inside the env folder (e.g. app.profile.ts).');
118
+ }
119
+ if (list.some((f) => /^environment(\.[\w-]+)?\.ts$/.test(f.split('/').pop() ?? ''))) {
120
+ throw new Error('pstack.envEncryption.profileFiles must not list env files (environment*.ts); they are ' +
121
+ 'encrypted already.');
122
+ }
123
+ cfg.profileFiles = [...new Set(list)];
124
+ }
125
+ if (r['publicKeys'] !== undefined) {
126
+ const list = strings(r['publicKeys']);
127
+ if (!list)
128
+ throw new Error('pstack.envEncryption.publicKeys must be a list of key names.');
129
+ cfg.publicKeys = list;
130
+ }
131
+ if (r['stamp'] !== undefined) {
132
+ if (typeof r['stamp'] !== 'object' || r['stamp'] === null || Array.isArray(r['stamp'])) {
133
+ throw new Error('pstack.envEncryption.stamp must be an object.');
134
+ }
135
+ for (const [k, v] of Object.entries(r['stamp'])) {
136
+ if (typeof v !== 'string') {
137
+ throw new Error(`pstack.envEncryption.stamp.${k} must be a string.`);
138
+ }
139
+ }
140
+ }
141
+ if (cfg.stamp?.timezone && !(0, stamp_1.isValidTimezone)(cfg.stamp.timezone)) {
142
+ throw new Error(`pstack.envEncryption.stamp.timezone "${cfg.stamp.timezone}" is not a known time zone.`);
143
+ }
144
+ return cfg;
145
+ }
146
+ exports.normalizeEnvEncryption = normalizeEnvEncryption;
147
+ /** The workspace's settings: nx.json, else the legacy keys file, else defaults. */
148
+ function loadEnvEncryptionConfig(repoRoot) {
149
+ const nxJsonPath = path.join(repoRoot, 'nx.json');
150
+ if (fs.existsSync(nxJsonPath)) {
151
+ const nx = JSON.parse(fs.readFileSync(nxJsonPath, 'utf8'));
152
+ const raw = nx?.pstack?.envEncryption;
153
+ if (raw !== undefined)
154
+ return { config: normalizeEnvEncryption(raw), source: 'nx.json' };
155
+ }
156
+ const legacy = path.join(repoRoot, ...exports.LEGACY_KEYS_FILE.split('/'));
157
+ if (fs.existsSync(legacy)) {
158
+ const cfg = defaultEnvEncryptionConfig();
159
+ cfg.keys = keysFromLegacy(JSON.parse(fs.readFileSync(legacy, 'utf8')));
160
+ cfg.stamp = undefined;
161
+ return { config: cfg, source: 'legacy' };
162
+ }
163
+ const cfg = defaultEnvEncryptionConfig();
164
+ cfg.stamp = undefined;
165
+ return { config: cfg, source: 'default' };
166
+ }
167
+ exports.loadEnvEncryptionConfig = loadEnvEncryptionConfig;
168
+ /** Keys to encrypt for an env project in listed mode. */
169
+ function listedKeys(cfg, envProject) {
170
+ return cfg.keys[envProject] ?? cfg.keys['default'] ?? [];
171
+ }
172
+ exports.listedKeys = listedKeys;
173
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/lib/env-encryption/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A host for the domain lock: lowercase, punycode, no scheme/port/path/trailing dot; `*.` prefix
3
+ * kept for "any subdomain". Undefined when it is not a host name. Userinfo (`@`), backslashes and
4
+ * percent-escapes are refused; a path, query or fragment only with an explicit scheme (a pasted URL). A wildcard
5
+ * needs a base with at least two labels and is not allowed on an IPv4 address.
6
+ */
7
+ export declare function normalizeHost(input: string): string | undefined;
8
+ /** Normalised, de-duplicated hosts; throws naming the first entry that is not a host. */
9
+ export declare function normalizeHosts(list: string[]): string[];
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeHosts = exports.normalizeHost = void 0;
4
+ const LABEL = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
5
+ const IPV4 = /^\d{1,3}(?:\.\d{1,3}){3}$/;
6
+ /**
7
+ * A host for the domain lock: lowercase, punycode, no scheme/port/path/trailing dot; `*.` prefix
8
+ * kept for "any subdomain". Undefined when it is not a host name. Userinfo (`@`), backslashes and
9
+ * percent-escapes are refused; a path, query or fragment only with an explicit scheme (a pasted URL). A wildcard
10
+ * needs a base with at least two labels and is not allowed on an IPv4 address.
11
+ */
12
+ function normalizeHost(input) {
13
+ let s = input.trim();
14
+ if (!s)
15
+ return undefined;
16
+ const wildcard = s.startsWith('*.');
17
+ if (wildcard)
18
+ s = s.slice(2);
19
+ if (/[*@\\%]/.test(s))
20
+ return undefined;
21
+ const hasScheme = /^[a-z][a-z0-9+.-]*:\/\//i.test(s);
22
+ if (!hasScheme && /[/?#]/.test(s))
23
+ return undefined;
24
+ let host;
25
+ try {
26
+ host = new URL(hasScheme ? s : `http://${s}`).hostname;
27
+ }
28
+ catch {
29
+ return undefined;
30
+ }
31
+ host = host.replace(/\.$/, '');
32
+ if (!host || !host.split('.').every((l) => LABEL.test(l)))
33
+ return undefined;
34
+ if (wildcard && (!host.includes('.') || IPV4.test(host)))
35
+ return undefined;
36
+ return wildcard ? `*.${host}` : host;
37
+ }
38
+ exports.normalizeHost = normalizeHost;
39
+ /** Normalised, de-duplicated hosts; throws naming the first entry that is not a host. */
40
+ function normalizeHosts(list) {
41
+ const out = [];
42
+ for (const entry of list) {
43
+ const h = normalizeHost(entry);
44
+ if (!h)
45
+ throw new Error(`env encryption: domain "${entry}" is not a host name.`);
46
+ if (!out.includes(h))
47
+ out.push(h);
48
+ }
49
+ return out;
50
+ }
51
+ exports.normalizeHosts = normalizeHosts;
52
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../../../src/lib/env-encryption/domains.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,wCAAwC,CAAC;AAEvD,MAAM,IAAI,GAAG,2BAA2B,CAAC;AAEzC;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,QAAQ;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,IAAY,CAAC;IACjB,IAAI;QACF,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;KACxD;IAAC,MAAM;QACN,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAlBD,sCAkBC;AAED,yFAAyF;AACzF,SAAgB,cAAc,CAAC,IAAc;IAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;QACxB,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,uBAAuB,CAAC,CAAC;QACjF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AARD,wCAQC"}
@@ -0,0 +1,48 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { EnvEncryptionConfig } from './config';
4
+ /** CryptoJS AES with a passphrase (OpenSSL-compatible base64), the format apps decrypt today. */
5
+ export declare const encryptValue: (plain: string, passphrase: string) => string;
6
+ export interface EncryptResult {
7
+ text: string;
8
+ encrypted: string[];
9
+ /** Listed keys that were left as they are (their values are not plain strings). */
10
+ skipped: string[];
11
+ /** The plaintexts that were encrypted (for profile files; never printed). */
12
+ values: string[];
13
+ /** Each encrypted plaintext with the key holding it (for the leak check; never printed). */
14
+ pairs: SealedPair[];
15
+ }
16
+ export interface SealedPair {
17
+ key: string;
18
+ value: string;
19
+ }
20
+ export declare const ENC_OPEN = "ENC(";
21
+ export declare const ENC_CLOSE = ")";
22
+ /** The key: the commit passphrase (cryptojs) or the derived 32-byte key (aes-gcm). */
23
+ export type EnvSecret = string | Buffer;
24
+ /**
25
+ * Fields kept plain in `all` mode: the publicKeys. Stamp fields are not exempt: they are encrypted
26
+ * after stamping unless listed there (the default list has `timeStamp` but not the branch).
27
+ */
28
+ export declare function plainKeys(cfg: EnvEncryptionConfig): Set<string>;
29
+ /**
30
+ * Encrypts an env file's text by the workspace settings. `listed`: every `key: '<literal>'` of a
31
+ * listed key at any depth (the match used before v0.25.0); listed top-level keys with other
32
+ * values are left alone and reported in `skipped`. `all`: every top-level string literal except
33
+ * plain keys; anything the scanner cannot read as a field, and non-literal values of non-plain
34
+ * keys, fail the build.
35
+ */
36
+ export declare function encryptEnvText(text: string, cfg: EnvEncryptionConfig, envProject: string, secret: EnvSecret, file?: string): EncryptResult;
37
+ /**
38
+ * Encrypts a profile file (e.g. app.profile.ts): in object literals, string values of
39
+ * sensitive-looking keys (and items of arrays under them), and property values or array items
40
+ * equal to one of `secretValues` (values already encrypted from the env file). Keys, types,
41
+ * imports and other code are never touched; messages name keys, never values.
42
+ */
43
+ export declare function encryptProfileText(text: string, cfg: EnvEncryptionConfig, secret: EnvSecret, secretValues: Set<string>, file?: string): EncryptResult;
44
+ /** Sets declared string fields (e.g. timeStamp, branch) to the given values. */
45
+ export declare function setStringFields(text: string, values: Record<string, string>): {
46
+ text: string;
47
+ set: string[];
48
+ };