@factiii/stack 0.1.2

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 (400) hide show
  1. package/README.md +420 -0
  2. package/bin/factiii +229 -0
  3. package/dist/cli/check-config.d.ts +9 -0
  4. package/dist/cli/check-config.d.ts.map +1 -0
  5. package/dist/cli/check-config.js +19 -0
  6. package/dist/cli/check-config.js.map +1 -0
  7. package/dist/cli/deploy-secrets.d.ts +16 -0
  8. package/dist/cli/deploy-secrets.d.ts.map +1 -0
  9. package/dist/cli/deploy-secrets.js +227 -0
  10. package/dist/cli/deploy-secrets.js.map +1 -0
  11. package/dist/cli/deploy.d.ts +30 -0
  12. package/dist/cli/deploy.d.ts.map +1 -0
  13. package/dist/cli/deploy.js +306 -0
  14. package/dist/cli/deploy.js.map +1 -0
  15. package/dist/cli/deployer.d.ts +13 -0
  16. package/dist/cli/deployer.d.ts.map +1 -0
  17. package/dist/cli/deployer.js +21 -0
  18. package/dist/cli/deployer.js.map +1 -0
  19. package/dist/cli/dev-sync.d.ts +30 -0
  20. package/dist/cli/dev-sync.d.ts.map +1 -0
  21. package/dist/cli/dev-sync.js +500 -0
  22. package/dist/cli/dev-sync.js.map +1 -0
  23. package/dist/cli/execute-plugin-command.d.ts +25 -0
  24. package/dist/cli/execute-plugin-command.d.ts.map +1 -0
  25. package/dist/cli/execute-plugin-command.js +237 -0
  26. package/dist/cli/execute-plugin-command.js.map +1 -0
  27. package/dist/cli/fix.d.ts +22 -0
  28. package/dist/cli/fix.d.ts.map +1 -0
  29. package/dist/cli/fix.js +267 -0
  30. package/dist/cli/fix.js.map +1 -0
  31. package/dist/cli/index.d.ts +17 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +31 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/init.d.ts +9 -0
  36. package/dist/cli/init.d.ts.map +1 -0
  37. package/dist/cli/init.js +190 -0
  38. package/dist/cli/init.js.map +1 -0
  39. package/dist/cli/plugin-commands.d.ts +22 -0
  40. package/dist/cli/plugin-commands.d.ts.map +1 -0
  41. package/dist/cli/plugin-commands.js +121 -0
  42. package/dist/cli/plugin-commands.js.map +1 -0
  43. package/dist/cli/scan.d.ts +66 -0
  44. package/dist/cli/scan.d.ts.map +1 -0
  45. package/dist/cli/scan.js +511 -0
  46. package/dist/cli/scan.js.map +1 -0
  47. package/dist/cli/secrets.d.ts +19 -0
  48. package/dist/cli/secrets.d.ts.map +1 -0
  49. package/dist/cli/secrets.js +318 -0
  50. package/dist/cli/secrets.js.map +1 -0
  51. package/dist/cli/undeploy.d.ts +9 -0
  52. package/dist/cli/undeploy.d.ts.map +1 -0
  53. package/dist/cli/undeploy.js +95 -0
  54. package/dist/cli/undeploy.js.map +1 -0
  55. package/dist/cli/upgrade.d.ts +9 -0
  56. package/dist/cli/upgrade.d.ts.map +1 -0
  57. package/dist/cli/upgrade.js +24 -0
  58. package/dist/cli/upgrade.js.map +1 -0
  59. package/dist/cli/validate.d.ts +9 -0
  60. package/dist/cli/validate.d.ts.map +1 -0
  61. package/dist/cli/validate.js +20 -0
  62. package/dist/cli/validate.js.map +1 -0
  63. package/dist/generators/generate-factiii-auto.d.ts +31 -0
  64. package/dist/generators/generate-factiii-auto.d.ts.map +1 -0
  65. package/dist/generators/generate-factiii-auto.js +251 -0
  66. package/dist/generators/generate-factiii-auto.js.map +1 -0
  67. package/dist/generators/generate-factiii-yml.d.ts +23 -0
  68. package/dist/generators/generate-factiii-yml.d.ts.map +1 -0
  69. package/dist/generators/generate-factiii-yml.js +228 -0
  70. package/dist/generators/generate-factiii-yml.js.map +1 -0
  71. package/dist/generators/index.d.ts +8 -0
  72. package/dist/generators/index.d.ts.map +1 -0
  73. package/dist/generators/index.js +14 -0
  74. package/dist/generators/index.js.map +1 -0
  75. package/dist/index.d.ts +39 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +90 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/plugins/addons/server-mode/index.d.ts +57 -0
  80. package/dist/plugins/addons/server-mode/index.d.ts.map +1 -0
  81. package/dist/plugins/addons/server-mode/index.js +136 -0
  82. package/dist/plugins/addons/server-mode/index.js.map +1 -0
  83. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +17 -0
  84. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -0
  85. package/dist/plugins/addons/server-mode/scanfix/mac.js +461 -0
  86. package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -0
  87. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts +12 -0
  88. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts.map +1 -0
  89. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js +246 -0
  90. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js.map +1 -0
  91. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts +14 -0
  92. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts.map +1 -0
  93. package/dist/plugins/addons/server-mode/scanfix/windows.js +113 -0
  94. package/dist/plugins/addons/server-mode/scanfix/windows.js.map +1 -0
  95. package/dist/plugins/approved.json +13 -0
  96. package/dist/plugins/frameworks/prisma-trpc/index.d.ts +65 -0
  97. package/dist/plugins/frameworks/prisma-trpc/index.d.ts.map +1 -0
  98. package/dist/plugins/frameworks/prisma-trpc/index.js +668 -0
  99. package/dist/plugins/frameworks/prisma-trpc/index.js.map +1 -0
  100. package/dist/plugins/index.d.ts +101 -0
  101. package/dist/plugins/index.d.ts.map +1 -0
  102. package/dist/plugins/index.js +411 -0
  103. package/dist/plugins/index.js.map +1 -0
  104. package/dist/plugins/interfaces/addon.d.ts +43 -0
  105. package/dist/plugins/interfaces/addon.d.ts.map +1 -0
  106. package/dist/plugins/interfaces/addon.js +53 -0
  107. package/dist/plugins/interfaces/addon.js.map +1 -0
  108. package/dist/plugins/interfaces/framework.d.ts +43 -0
  109. package/dist/plugins/interfaces/framework.d.ts.map +1 -0
  110. package/dist/plugins/interfaces/framework.js +53 -0
  111. package/dist/plugins/interfaces/framework.js.map +1 -0
  112. package/dist/plugins/interfaces/index.d.ts +10 -0
  113. package/dist/plugins/interfaces/index.d.ts.map +1 -0
  114. package/dist/plugins/interfaces/index.js +17 -0
  115. package/dist/plugins/interfaces/index.js.map +1 -0
  116. package/dist/plugins/interfaces/pipeline.d.ts +78 -0
  117. package/dist/plugins/interfaces/pipeline.d.ts.map +1 -0
  118. package/dist/plugins/interfaces/pipeline.js +82 -0
  119. package/dist/plugins/interfaces/pipeline.js.map +1 -0
  120. package/dist/plugins/interfaces/server.d.ts +65 -0
  121. package/dist/plugins/interfaces/server.d.ts.map +1 -0
  122. package/dist/plugins/interfaces/server.js +72 -0
  123. package/dist/plugins/interfaces/server.js.map +1 -0
  124. package/dist/plugins/pipelines/aws/configs/ec2.d.ts +9 -0
  125. package/dist/plugins/pipelines/aws/configs/ec2.d.ts.map +1 -0
  126. package/dist/plugins/pipelines/aws/configs/ec2.js +34 -0
  127. package/dist/plugins/pipelines/aws/configs/ec2.js.map +1 -0
  128. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts +13 -0
  129. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -0
  130. package/dist/plugins/pipelines/aws/configs/free-tier.js +86 -0
  131. package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -0
  132. package/dist/plugins/pipelines/aws/configs/index.d.ts +14 -0
  133. package/dist/plugins/pipelines/aws/configs/index.d.ts.map +1 -0
  134. package/dist/plugins/pipelines/aws/configs/index.js +21 -0
  135. package/dist/plugins/pipelines/aws/configs/index.js.map +1 -0
  136. package/dist/plugins/pipelines/aws/configs/types.d.ts +36 -0
  137. package/dist/plugins/pipelines/aws/configs/types.d.ts.map +1 -0
  138. package/dist/plugins/pipelines/aws/configs/types.js +9 -0
  139. package/dist/plugins/pipelines/aws/configs/types.js.map +1 -0
  140. package/dist/plugins/pipelines/aws/dev.d.ts +10 -0
  141. package/dist/plugins/pipelines/aws/dev.d.ts.map +1 -0
  142. package/dist/plugins/pipelines/aws/dev.js +70 -0
  143. package/dist/plugins/pipelines/aws/dev.js.map +1 -0
  144. package/dist/plugins/pipelines/aws/index.d.ts +118 -0
  145. package/dist/plugins/pipelines/aws/index.d.ts.map +1 -0
  146. package/dist/plugins/pipelines/aws/index.js +346 -0
  147. package/dist/plugins/pipelines/aws/index.js.map +1 -0
  148. package/dist/plugins/pipelines/aws/prod.d.ts +19 -0
  149. package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -0
  150. package/dist/plugins/pipelines/aws/prod.js +362 -0
  151. package/dist/plugins/pipelines/aws/prod.js.map +1 -0
  152. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +7 -0
  153. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -0
  154. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +31 -0
  155. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -0
  156. package/dist/plugins/pipelines/aws/scanfix/config.d.ts +7 -0
  157. package/dist/plugins/pipelines/aws/scanfix/config.d.ts.map +1 -0
  158. package/dist/plugins/pipelines/aws/scanfix/config.js +134 -0
  159. package/dist/plugins/pipelines/aws/scanfix/config.js.map +1 -0
  160. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts +65 -0
  161. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts.map +1 -0
  162. package/dist/plugins/pipelines/factiii/github-secrets-store.js +221 -0
  163. package/dist/plugins/pipelines/factiii/github-secrets-store.js.map +1 -0
  164. package/dist/plugins/pipelines/factiii/index.d.ts +195 -0
  165. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -0
  166. package/dist/plugins/pipelines/factiii/index.js +862 -0
  167. package/dist/plugins/pipelines/factiii/index.js.map +1 -0
  168. package/dist/plugins/pipelines/factiii/prod.d.ts +17 -0
  169. package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -0
  170. package/dist/plugins/pipelines/factiii/prod.js +282 -0
  171. package/dist/plugins/pipelines/factiii/prod.js.map +1 -0
  172. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +7 -0
  173. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -0
  174. package/dist/plugins/pipelines/factiii/scanfix/config.js +80 -0
  175. package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -0
  176. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts +7 -0
  177. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts.map +1 -0
  178. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js +43 -0
  179. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js.map +1 -0
  180. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts +7 -0
  181. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -0
  182. package/dist/plugins/pipelines/factiii/scanfix/secrets.js +237 -0
  183. package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -0
  184. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts +7 -0
  185. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -0
  186. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +169 -0
  187. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -0
  188. package/dist/plugins/pipelines/factiii/staging.d.ts +25 -0
  189. package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -0
  190. package/dist/plugins/pipelines/factiii/staging.js +223 -0
  191. package/dist/plugins/pipelines/factiii/staging.js.map +1 -0
  192. package/dist/plugins/pipelines/factiii/utils/detection.d.ts +36 -0
  193. package/dist/plugins/pipelines/factiii/utils/detection.d.ts.map +1 -0
  194. package/dist/plugins/pipelines/factiii/utils/detection.js +140 -0
  195. package/dist/plugins/pipelines/factiii/utils/detection.js.map +1 -0
  196. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts +16 -0
  197. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -0
  198. package/dist/plugins/pipelines/factiii/utils/workflows.js +129 -0
  199. package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -0
  200. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +112 -0
  201. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +112 -0
  202. package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +130 -0
  203. package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +198 -0
  204. package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +179 -0
  205. package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +176 -0
  206. package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +176 -0
  207. package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +95 -0
  208. package/dist/plugins/servers/amazon-linux/index.d.ts +93 -0
  209. package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -0
  210. package/dist/plugins/servers/amazon-linux/index.js +217 -0
  211. package/dist/plugins/servers/amazon-linux/index.js.map +1 -0
  212. package/dist/plugins/servers/mac/dev.d.ts +10 -0
  213. package/dist/plugins/servers/mac/dev.d.ts.map +1 -0
  214. package/dist/plugins/servers/mac/dev.js +71 -0
  215. package/dist/plugins/servers/mac/dev.js.map +1 -0
  216. package/dist/plugins/servers/mac/index.d.ts +101 -0
  217. package/dist/plugins/servers/mac/index.d.ts.map +1 -0
  218. package/dist/plugins/servers/mac/index.js +257 -0
  219. package/dist/plugins/servers/mac/index.js.map +1 -0
  220. package/dist/plugins/servers/mac/scanfix/config.d.ts +7 -0
  221. package/dist/plugins/servers/mac/scanfix/config.d.ts.map +1 -0
  222. package/dist/plugins/servers/mac/scanfix/config.js +168 -0
  223. package/dist/plugins/servers/mac/scanfix/config.js.map +1 -0
  224. package/dist/plugins/servers/mac/scanfix/containers.d.ts +7 -0
  225. package/dist/plugins/servers/mac/scanfix/containers.d.ts.map +1 -0
  226. package/dist/plugins/servers/mac/scanfix/containers.js +167 -0
  227. package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -0
  228. package/dist/plugins/servers/mac/scanfix/system.d.ts +7 -0
  229. package/dist/plugins/servers/mac/scanfix/system.d.ts.map +1 -0
  230. package/dist/plugins/servers/mac/scanfix/system.js +144 -0
  231. package/dist/plugins/servers/mac/scanfix/system.js.map +1 -0
  232. package/dist/plugins/servers/mac/staging.d.ts +21 -0
  233. package/dist/plugins/servers/mac/staging.d.ts.map +1 -0
  234. package/dist/plugins/servers/mac/staging.js +708 -0
  235. package/dist/plugins/servers/mac/staging.js.map +1 -0
  236. package/dist/plugins/servers/ubuntu/index.d.ts +93 -0
  237. package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -0
  238. package/dist/plugins/servers/ubuntu/index.js +224 -0
  239. package/dist/plugins/servers/ubuntu/index.js.map +1 -0
  240. package/dist/plugins/servers/windows/index.d.ts +90 -0
  241. package/dist/plugins/servers/windows/index.d.ts.map +1 -0
  242. package/dist/plugins/servers/windows/index.js +205 -0
  243. package/dist/plugins/servers/windows/index.js.map +1 -0
  244. package/dist/scanfix/commands/index.d.ts +27 -0
  245. package/dist/scanfix/commands/index.d.ts.map +1 -0
  246. package/dist/scanfix/commands/index.js +97 -0
  247. package/dist/scanfix/commands/index.js.map +1 -0
  248. package/dist/scanfix/commands/mac.d.ts +11 -0
  249. package/dist/scanfix/commands/mac.d.ts.map +1 -0
  250. package/dist/scanfix/commands/mac.js +31 -0
  251. package/dist/scanfix/commands/mac.js.map +1 -0
  252. package/dist/scanfix/commands/ubuntu.d.ts +11 -0
  253. package/dist/scanfix/commands/ubuntu.d.ts.map +1 -0
  254. package/dist/scanfix/commands/ubuntu.js +30 -0
  255. package/dist/scanfix/commands/ubuntu.js.map +1 -0
  256. package/dist/scanfix/fixes/certbot.d.ts +25 -0
  257. package/dist/scanfix/fixes/certbot.d.ts.map +1 -0
  258. package/dist/scanfix/fixes/certbot.js +136 -0
  259. package/dist/scanfix/fixes/certbot.js.map +1 -0
  260. package/dist/scanfix/fixes/docker.d.ts +29 -0
  261. package/dist/scanfix/fixes/docker.d.ts.map +1 -0
  262. package/dist/scanfix/fixes/docker.js +149 -0
  263. package/dist/scanfix/fixes/docker.js.map +1 -0
  264. package/dist/scanfix/fixes/git.d.ts +20 -0
  265. package/dist/scanfix/fixes/git.d.ts.map +1 -0
  266. package/dist/scanfix/fixes/git.js +71 -0
  267. package/dist/scanfix/fixes/git.js.map +1 -0
  268. package/dist/scanfix/fixes/index.d.ts +11 -0
  269. package/dist/scanfix/fixes/index.d.ts.map +1 -0
  270. package/dist/scanfix/fixes/index.js +27 -0
  271. package/dist/scanfix/fixes/index.js.map +1 -0
  272. package/dist/scanfix/fixes/node.d.ts +20 -0
  273. package/dist/scanfix/fixes/node.d.ts.map +1 -0
  274. package/dist/scanfix/fixes/node.js +71 -0
  275. package/dist/scanfix/fixes/node.js.map +1 -0
  276. package/dist/scanfix/fixes/pnpm.d.ts +20 -0
  277. package/dist/scanfix/fixes/pnpm.d.ts.map +1 -0
  278. package/dist/scanfix/fixes/pnpm.js +122 -0
  279. package/dist/scanfix/fixes/pnpm.js.map +1 -0
  280. package/dist/scanfix/index.d.ts +23 -0
  281. package/dist/scanfix/index.d.ts.map +1 -0
  282. package/dist/scanfix/index.js +44 -0
  283. package/dist/scanfix/index.js.map +1 -0
  284. package/dist/scanfix/platform.d.ts +20 -0
  285. package/dist/scanfix/platform.d.ts.map +1 -0
  286. package/dist/scanfix/platform.js +48 -0
  287. package/dist/scanfix/platform.js.map +1 -0
  288. package/dist/scanfix/ssl-cert-helper.d.ts +27 -0
  289. package/dist/scanfix/ssl-cert-helper.d.ts.map +1 -0
  290. package/dist/scanfix/ssl-cert-helper.js +117 -0
  291. package/dist/scanfix/ssl-cert-helper.js.map +1 -0
  292. package/dist/scanfix/types.d.ts +27 -0
  293. package/dist/scanfix/types.d.ts.map +1 -0
  294. package/dist/scanfix/types.js +8 -0
  295. package/dist/scanfix/types.js.map +1 -0
  296. package/dist/scripts/check-existing-secrets.d.ts +6 -0
  297. package/dist/scripts/check-existing-secrets.d.ts.map +1 -0
  298. package/dist/scripts/check-existing-secrets.js +86 -0
  299. package/dist/scripts/check-existing-secrets.js.map +1 -0
  300. package/dist/scripts/generate-all.d.ts +40 -0
  301. package/dist/scripts/generate-all.d.ts.map +1 -0
  302. package/dist/scripts/generate-all.js +373 -0
  303. package/dist/scripts/generate-all.js.map +1 -0
  304. package/dist/scripts/get-repo-name.d.ts +6 -0
  305. package/dist/scripts/get-repo-name.d.ts.map +1 -0
  306. package/dist/scripts/get-repo-name.js +54 -0
  307. package/dist/scripts/get-repo-name.js.map +1 -0
  308. package/dist/scripts/index.d.ts +7 -0
  309. package/dist/scripts/index.d.ts.map +1 -0
  310. package/dist/scripts/index.js +14 -0
  311. package/dist/scripts/index.js.map +1 -0
  312. package/dist/scripts/validate-env-files.d.ts +6 -0
  313. package/dist/scripts/validate-env-files.d.ts.map +1 -0
  314. package/dist/scripts/validate-env-files.js +126 -0
  315. package/dist/scripts/validate-env-files.js.map +1 -0
  316. package/dist/scripts/validate-example-values.d.ts +8 -0
  317. package/dist/scripts/validate-example-values.d.ts.map +1 -0
  318. package/dist/scripts/validate-example-values.js +88 -0
  319. package/dist/scripts/validate-example-values.js.map +1 -0
  320. package/dist/scripts/validate-factiii-yml.d.ts +6 -0
  321. package/dist/scripts/validate-factiii-yml.d.ts.map +1 -0
  322. package/dist/scripts/validate-factiii-yml.js +71 -0
  323. package/dist/scripts/validate-factiii-yml.js.map +1 -0
  324. package/dist/types/cli.d.ts +138 -0
  325. package/dist/types/cli.d.ts.map +1 -0
  326. package/dist/types/cli.js +8 -0
  327. package/dist/types/cli.js.map +1 -0
  328. package/dist/types/config.d.ts +113 -0
  329. package/dist/types/config.d.ts.map +1 -0
  330. package/dist/types/config.js +8 -0
  331. package/dist/types/config.js.map +1 -0
  332. package/dist/types/index.d.ts +9 -0
  333. package/dist/types/index.d.ts.map +1 -0
  334. package/dist/types/index.js +25 -0
  335. package/dist/types/index.js.map +1 -0
  336. package/dist/types/plugin.d.ts +352 -0
  337. package/dist/types/plugin.d.ts.map +1 -0
  338. package/dist/types/plugin.js +8 -0
  339. package/dist/types/plugin.js.map +1 -0
  340. package/dist/utils/ansible-vault-secrets.d.ts +95 -0
  341. package/dist/utils/ansible-vault-secrets.d.ts.map +1 -0
  342. package/dist/utils/ansible-vault-secrets.js +406 -0
  343. package/dist/utils/ansible-vault-secrets.js.map +1 -0
  344. package/dist/utils/config-helpers.d.ts +72 -0
  345. package/dist/utils/config-helpers.d.ts.map +1 -0
  346. package/dist/utils/config-helpers.js +171 -0
  347. package/dist/utils/config-helpers.js.map +1 -0
  348. package/dist/utils/config-schema.d.ts +17 -0
  349. package/dist/utils/config-schema.d.ts.map +1 -0
  350. package/dist/utils/config-schema.js +100 -0
  351. package/dist/utils/config-schema.js.map +1 -0
  352. package/dist/utils/config-validator.d.ts +29 -0
  353. package/dist/utils/config-validator.d.ts.map +1 -0
  354. package/dist/utils/config-validator.js +146 -0
  355. package/dist/utils/config-validator.js.map +1 -0
  356. package/dist/utils/deployment-report.d.ts +100 -0
  357. package/dist/utils/deployment-report.d.ts.map +1 -0
  358. package/dist/utils/deployment-report.js +225 -0
  359. package/dist/utils/deployment-report.js.map +1 -0
  360. package/dist/utils/dns-validator.d.ts +19 -0
  361. package/dist/utils/dns-validator.d.ts.map +1 -0
  362. package/dist/utils/dns-validator.js +94 -0
  363. package/dist/utils/dns-validator.js.map +1 -0
  364. package/dist/utils/env-validator.d.ts +108 -0
  365. package/dist/utils/env-validator.d.ts.map +1 -0
  366. package/dist/utils/env-validator.js +342 -0
  367. package/dist/utils/env-validator.js.map +1 -0
  368. package/dist/utils/github-workflow-monitor.d.ts +49 -0
  369. package/dist/utils/github-workflow-monitor.d.ts.map +1 -0
  370. package/dist/utils/github-workflow-monitor.js +145 -0
  371. package/dist/utils/github-workflow-monitor.js.map +1 -0
  372. package/dist/utils/index.d.ts +18 -0
  373. package/dist/utils/index.d.ts.map +1 -0
  374. package/dist/utils/index.js +48 -0
  375. package/dist/utils/index.js.map +1 -0
  376. package/dist/utils/secret-prompts.d.ts +67 -0
  377. package/dist/utils/secret-prompts.d.ts.map +1 -0
  378. package/dist/utils/secret-prompts.js +369 -0
  379. package/dist/utils/secret-prompts.js.map +1 -0
  380. package/dist/utils/server-check.d.ts +43 -0
  381. package/dist/utils/server-check.d.ts.map +1 -0
  382. package/dist/utils/server-check.js +397 -0
  383. package/dist/utils/server-check.js.map +1 -0
  384. package/dist/utils/ssh-deploy.d.ts +70 -0
  385. package/dist/utils/ssh-deploy.d.ts.map +1 -0
  386. package/dist/utils/ssh-deploy.js +268 -0
  387. package/dist/utils/ssh-deploy.js.map +1 -0
  388. package/dist/utils/ssh-helper.d.ts +40 -0
  389. package/dist/utils/ssh-helper.d.ts.map +1 -0
  390. package/dist/utils/ssh-helper.js +221 -0
  391. package/dist/utils/ssh-helper.js.map +1 -0
  392. package/dist/utils/template-generator.d.ts +42 -0
  393. package/dist/utils/template-generator.d.ts.map +1 -0
  394. package/dist/utils/template-generator.js +223 -0
  395. package/dist/utils/template-generator.js.map +1 -0
  396. package/dist/utils/version-check.d.ts +69 -0
  397. package/dist/utils/version-check.d.ts.map +1 -0
  398. package/dist/utils/version-check.js +211 -0
  399. package/dist/utils/version-check.js.map +1 -0
  400. package/package.json +82 -0
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ /**
3
+ * Ubuntu Server Mode Fixes
4
+ *
5
+ * Fixes for configuring Ubuntu as a deployment server:
6
+ * - Disable suspend/sleep
7
+ * - Enable SSH
8
+ * - Configure UFW firewall
9
+ * - Disable unattended upgrades auto-restart
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ubuntuFixes = void 0;
13
+ const child_process_1 = require("child_process");
14
+ exports.ubuntuFixes = [
15
+ // ============================================================
16
+ // STAGING FIXES
17
+ // ============================================================
18
+ {
19
+ id: 'ubuntu-suspend-enabled-staging',
20
+ stage: 'staging',
21
+ os: 'ubuntu',
22
+ severity: 'warning',
23
+ description: 'Ubuntu suspend/sleep is enabled (server may go offline)',
24
+ scan: async (_config, _rootDir) => {
25
+ try {
26
+ // Check if sleep.target is masked
27
+ const result = (0, child_process_1.execSync)('systemctl is-enabled sleep.target 2>/dev/null || echo "unknown"', {
28
+ encoding: 'utf8',
29
+ });
30
+ return !result.includes('masked');
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ },
36
+ fix: async (_config, _rootDir) => {
37
+ try {
38
+ console.log(' Disabling Ubuntu suspend/sleep...');
39
+ (0, child_process_1.execSync)('sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target', {
40
+ stdio: 'inherit',
41
+ });
42
+ return true;
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ },
48
+ manualFix: 'Run: sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target',
49
+ },
50
+ {
51
+ id: 'ubuntu-ssh-disabled-staging',
52
+ stage: 'staging',
53
+ os: 'ubuntu',
54
+ severity: 'critical',
55
+ description: 'Ubuntu SSH is not enabled',
56
+ scan: async (_config, _rootDir) => {
57
+ try {
58
+ const result = (0, child_process_1.execSync)('systemctl is-active ssh 2>/dev/null || systemctl is-active sshd 2>/dev/null', {
59
+ encoding: 'utf8',
60
+ });
61
+ return !result.includes('active');
62
+ }
63
+ catch {
64
+ return true; // SSH not active
65
+ }
66
+ },
67
+ fix: async (_config, _rootDir) => {
68
+ try {
69
+ console.log(' Enabling Ubuntu SSH...');
70
+ (0, child_process_1.execSync)('sudo apt-get install -y openssh-server && sudo systemctl enable --now ssh', {
71
+ stdio: 'inherit',
72
+ });
73
+ return true;
74
+ }
75
+ catch {
76
+ return false;
77
+ }
78
+ },
79
+ manualFix: 'Run: sudo apt-get install openssh-server && sudo systemctl enable --now ssh',
80
+ },
81
+ {
82
+ id: 'ubuntu-ufw-ports-staging',
83
+ stage: 'staging',
84
+ os: 'ubuntu',
85
+ severity: 'warning',
86
+ description: 'UFW firewall may block required ports (22, 80, 443)',
87
+ scan: async (_config, _rootDir) => {
88
+ try {
89
+ const status = (0, child_process_1.execSync)('sudo ufw status 2>/dev/null || echo "inactive"', {
90
+ encoding: 'utf8',
91
+ });
92
+ if (status.includes('inactive'))
93
+ return false; // UFW not active, no issue
94
+ // Check if required ports are allowed
95
+ const ports = ['22', '80', '443'];
96
+ for (const port of ports) {
97
+ if (!status.includes(port)) {
98
+ return true; // Port not allowed
99
+ }
100
+ }
101
+ return false;
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ },
107
+ fix: async (_config, _rootDir) => {
108
+ try {
109
+ console.log(' Configuring UFW firewall...');
110
+ (0, child_process_1.execSync)('sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp', {
111
+ stdio: 'inherit',
112
+ });
113
+ return true;
114
+ }
115
+ catch {
116
+ return false;
117
+ }
118
+ },
119
+ manualFix: 'Run: sudo ufw allow 22,80,443/tcp',
120
+ },
121
+ {
122
+ id: 'ubuntu-unattended-reboot-staging',
123
+ stage: 'staging',
124
+ os: 'ubuntu',
125
+ severity: 'info',
126
+ description: 'Unattended upgrades may reboot the server automatically',
127
+ scan: async (_config, _rootDir) => {
128
+ try {
129
+ const result = (0, child_process_1.execSync)('cat /etc/apt/apt.conf.d/50unattended-upgrades 2>/dev/null | grep -i "Automatic-Reboot" || echo "not-found"', {
130
+ encoding: 'utf8',
131
+ });
132
+ return result.includes('"true"') || result.includes('true;');
133
+ }
134
+ catch {
135
+ return false;
136
+ }
137
+ },
138
+ fix: null, // Manual fix recommended
139
+ manualFix: 'Edit /etc/apt/apt.conf.d/50unattended-upgrades and set Unattended-Upgrade::Automatic-Reboot to "false"',
140
+ },
141
+ // ============================================================
142
+ // PROD FIXES (same as staging)
143
+ // ============================================================
144
+ {
145
+ id: 'ubuntu-suspend-enabled-prod',
146
+ stage: 'prod',
147
+ os: 'ubuntu',
148
+ severity: 'warning',
149
+ description: 'Ubuntu suspend/sleep is enabled (server may go offline)',
150
+ scan: async (_config, _rootDir) => {
151
+ try {
152
+ const result = (0, child_process_1.execSync)('systemctl is-enabled sleep.target 2>/dev/null || echo "unknown"', {
153
+ encoding: 'utf8',
154
+ });
155
+ return !result.includes('masked');
156
+ }
157
+ catch {
158
+ return false;
159
+ }
160
+ },
161
+ fix: async (_config, _rootDir) => {
162
+ try {
163
+ console.log(' Disabling Ubuntu suspend/sleep...');
164
+ (0, child_process_1.execSync)('sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target', {
165
+ stdio: 'inherit',
166
+ });
167
+ return true;
168
+ }
169
+ catch {
170
+ return false;
171
+ }
172
+ },
173
+ manualFix: 'Run: sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target',
174
+ },
175
+ {
176
+ id: 'ubuntu-ssh-disabled-prod',
177
+ stage: 'prod',
178
+ os: 'ubuntu',
179
+ severity: 'critical',
180
+ description: 'Ubuntu SSH is not enabled',
181
+ scan: async (_config, _rootDir) => {
182
+ try {
183
+ const result = (0, child_process_1.execSync)('systemctl is-active ssh 2>/dev/null || systemctl is-active sshd 2>/dev/null', {
184
+ encoding: 'utf8',
185
+ });
186
+ return !result.includes('active');
187
+ }
188
+ catch {
189
+ return true;
190
+ }
191
+ },
192
+ fix: async (_config, _rootDir) => {
193
+ try {
194
+ console.log(' Enabling Ubuntu SSH...');
195
+ (0, child_process_1.execSync)('sudo apt-get install -y openssh-server && sudo systemctl enable --now ssh', {
196
+ stdio: 'inherit',
197
+ });
198
+ return true;
199
+ }
200
+ catch {
201
+ return false;
202
+ }
203
+ },
204
+ manualFix: 'Run: sudo apt-get install openssh-server && sudo systemctl enable --now ssh',
205
+ },
206
+ {
207
+ id: 'ubuntu-ufw-ports-prod',
208
+ stage: 'prod',
209
+ os: 'ubuntu',
210
+ severity: 'warning',
211
+ description: 'UFW firewall may block required ports (22, 80, 443)',
212
+ scan: async (_config, _rootDir) => {
213
+ try {
214
+ const status = (0, child_process_1.execSync)('sudo ufw status 2>/dev/null || echo "inactive"', {
215
+ encoding: 'utf8',
216
+ });
217
+ if (status.includes('inactive'))
218
+ return false;
219
+ const ports = ['22', '80', '443'];
220
+ for (const port of ports) {
221
+ if (!status.includes(port)) {
222
+ return true;
223
+ }
224
+ }
225
+ return false;
226
+ }
227
+ catch {
228
+ return false;
229
+ }
230
+ },
231
+ fix: async (_config, _rootDir) => {
232
+ try {
233
+ console.log(' Configuring UFW firewall...');
234
+ (0, child_process_1.execSync)('sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp', {
235
+ stdio: 'inherit',
236
+ });
237
+ return true;
238
+ }
239
+ catch {
240
+ return false;
241
+ }
242
+ },
243
+ manualFix: 'Run: sudo ufw allow 22,80,443/tcp',
244
+ },
245
+ ];
246
+ //# sourceMappingURL=ubuntu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ubuntu.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/server-mode/scanfix/ubuntu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Windows Server Mode Fixes
3
+ *
4
+ * Fixes for configuring Windows as a deployment server:
5
+ * - Disable sleep/hibernate
6
+ * - Enable RDP or SSH
7
+ * - Configure Windows Firewall
8
+ * - Disable automatic restart for updates
9
+ *
10
+ * STATUS: Template - not fully implemented yet
11
+ */
12
+ import type { Fix } from '../../../../types/index.js';
13
+ export declare const windowsFixes: Fix[];
14
+ //# sourceMappingURL=windows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/server-mode/scanfix/windows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;AAE/E,eAAO,MAAM,YAAY,EAAE,GAAG,EAkG7B,CAAC"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ /**
3
+ * Windows Server Mode Fixes
4
+ *
5
+ * Fixes for configuring Windows as a deployment server:
6
+ * - Disable sleep/hibernate
7
+ * - Enable RDP or SSH
8
+ * - Configure Windows Firewall
9
+ * - Disable automatic restart for updates
10
+ *
11
+ * STATUS: Template - not fully implemented yet
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.windowsFixes = void 0;
15
+ exports.windowsFixes = [
16
+ // ============================================================
17
+ // STAGING FIXES
18
+ // ============================================================
19
+ {
20
+ id: 'windows-sleep-enabled-staging',
21
+ stage: 'staging',
22
+ os: 'windows',
23
+ severity: 'warning',
24
+ description: 'Windows sleep/hibernate is enabled (server may go offline)',
25
+ scan: async (_config, _rootDir) => {
26
+ // TODO: Implement Windows sleep detection
27
+ // powercfg /query SCHEME_CURRENT SUB_SLEEP
28
+ return false;
29
+ },
30
+ fix: null, // Manual fix for now
31
+ manualFix: 'Run PowerShell as Admin: powercfg /change standby-timeout-ac 0; powercfg /change hibernate-timeout-ac 0',
32
+ },
33
+ {
34
+ id: 'windows-rdp-disabled-staging',
35
+ stage: 'staging',
36
+ os: 'windows',
37
+ severity: 'warning',
38
+ description: 'Windows Remote Desktop is disabled',
39
+ scan: async (_config, _rootDir) => {
40
+ // TODO: Implement RDP status check
41
+ // Get-ItemProperty 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
42
+ return false;
43
+ },
44
+ fix: null, // Manual fix for now
45
+ manualFix: 'Enable Remote Desktop in System Properties > Remote, or run PowerShell as Admin: Set-ItemProperty "HKLM:\\System\\CurrentControlSet\\Control\\Terminal Server" -Name fDenyTSConnections -Value 0',
46
+ },
47
+ {
48
+ id: 'windows-firewall-ports-staging',
49
+ stage: 'staging',
50
+ os: 'windows',
51
+ severity: 'warning',
52
+ description: 'Windows Firewall may block required ports (22, 80, 443, 3389)',
53
+ scan: async (_config, _rootDir) => {
54
+ // TODO: Implement firewall rule check
55
+ return false;
56
+ },
57
+ fix: null, // Manual fix for now
58
+ manualFix: 'Run PowerShell as Admin: New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow; New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow',
59
+ },
60
+ {
61
+ id: 'windows-auto-restart-staging',
62
+ stage: 'staging',
63
+ os: 'windows',
64
+ severity: 'info',
65
+ description: 'Windows Update may restart the server automatically',
66
+ scan: async (_config, _rootDir) => {
67
+ // TODO: Implement Windows Update auto-restart check
68
+ return false;
69
+ },
70
+ fix: null, // Manual fix recommended
71
+ manualFix: 'Configure Windows Update settings via Group Policy: Computer Configuration > Administrative Templates > Windows Components > Windows Update > Configure Automatic Updates',
72
+ },
73
+ // ============================================================
74
+ // PROD FIXES (same as staging)
75
+ // ============================================================
76
+ {
77
+ id: 'windows-sleep-enabled-prod',
78
+ stage: 'prod',
79
+ os: 'windows',
80
+ severity: 'warning',
81
+ description: 'Windows sleep/hibernate is enabled (server may go offline)',
82
+ scan: async (_config, _rootDir) => {
83
+ return false;
84
+ },
85
+ fix: null,
86
+ manualFix: 'Run PowerShell as Admin: powercfg /change standby-timeout-ac 0; powercfg /change hibernate-timeout-ac 0',
87
+ },
88
+ {
89
+ id: 'windows-rdp-disabled-prod',
90
+ stage: 'prod',
91
+ os: 'windows',
92
+ severity: 'warning',
93
+ description: 'Windows Remote Desktop is disabled',
94
+ scan: async (_config, _rootDir) => {
95
+ return false;
96
+ },
97
+ fix: null,
98
+ manualFix: 'Enable Remote Desktop in System Properties > Remote',
99
+ },
100
+ {
101
+ id: 'windows-firewall-ports-prod',
102
+ stage: 'prod',
103
+ os: 'windows',
104
+ severity: 'warning',
105
+ description: 'Windows Firewall may block required ports (22, 80, 443, 3389)',
106
+ scan: async (_config, _rootDir) => {
107
+ return false;
108
+ },
109
+ fix: null,
110
+ manualFix: 'Configure Windows Firewall to allow ports 80, 443, and 3389 (RDP)',
111
+ },
112
+ ];
113
+ //# sourceMappingURL=windows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/server-mode/scanfix/windows.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAIU,QAAA,YAAY,GAAU;IACjC,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAC/D;QACE,EAAE,EAAE,+BAA+B;QACnC,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,0CAA0C;YAC1C,2CAA2C;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI,EAAE,qBAAqB;QAChC,SAAS,EAAE,yGAAyG;KACrH;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,mCAAmC;YACnC,qGAAqG;YACrG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI,EAAE,qBAAqB;QAChC,SAAS,EAAE,kMAAkM;KAC9M;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,sCAAsC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI,EAAE,qBAAqB;QAChC,SAAS,EAAE,mPAAmP;KAC/P;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,oDAAoD;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI,EAAE,yBAAyB;QACpC,SAAS,EAAE,2KAA2K;KACvL;IAED,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAC/D;QACE,EAAE,EAAE,4BAA4B;QAChC,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,yGAAyG;KACrH;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,qDAAqD;KACjE;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,SAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,QAAgB,EAAoB,EAAE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,mEAAmE;KAC/E;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 1,
3
+ "description": "List of approved/validated external plugins for Factiii Stack",
4
+ "approved": [
5
+ "@factiii/stack-plugin-expo",
6
+ "@factiii/stack-plugin-prisma-trpc",
7
+ "@factiii/stack-plugin-nextjs"
8
+ ],
9
+ "lastUpdated": "2024-12-16"
10
+ }
11
+
12
+
13
+
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Prisma + tRPC Framework Plugin
3
+ *
4
+ * Handles Prisma database and tRPC API server detection, validation,
5
+ * and deployment (migrations, etc.).
6
+ */
7
+ import type { FactiiiConfig, Fix, DeployResult } from '../../../types/index.js';
8
+ interface DetectedConfig {
9
+ has_prisma: boolean;
10
+ has_trpc: boolean;
11
+ prisma_schema?: string | null;
12
+ prisma_version?: string | null;
13
+ }
14
+ declare class PrismaTrpcPlugin {
15
+ static readonly id = "prisma-trpc";
16
+ static readonly name = "Prisma + tRPC";
17
+ static readonly category: 'framework';
18
+ static readonly version = "1.0.0";
19
+ static readonly requiredEnvVars: string[];
20
+ static readonly configSchema: Record<string, unknown>;
21
+ static readonly autoConfigSchema: Record<string, string>;
22
+ /**
23
+ * Determine if this plugin should be loaded for this project
24
+ * Loads if Prisma or tRPC is detected in package.json
25
+ */
26
+ static shouldLoad(rootDir: string, _config: FactiiiConfig): Promise<boolean>;
27
+ static readonly fixes: Fix[];
28
+ /**
29
+ * Auto-detect Prisma and tRPC configuration
30
+ */
31
+ static detectConfig(rootDir: string): Promise<DetectedConfig | null>;
32
+ /**
33
+ * Detect tRPC in the project
34
+ */
35
+ static detectTrpc(rootDir: string): Promise<boolean>;
36
+ /**
37
+ * Check if Prisma is installed in the project
38
+ */
39
+ static hasPrisma(rootDir: string): Promise<boolean>;
40
+ /**
41
+ * Find Prisma schema file
42
+ */
43
+ static findPrismaSchema(rootDir: string): string | null;
44
+ /**
45
+ * Get Prisma version from package.json
46
+ */
47
+ static getPrismaVersion(rootDir: string): string | null;
48
+ /**
49
+ * Check for port conflicts across repos in staging
50
+ * Returns true if a conflict is detected (will throw error in scan)
51
+ */
52
+ static checkPortConflicts(rootDir: string, config: FactiiiConfig): Promise<boolean>;
53
+ private _config;
54
+ constructor(config: FactiiiConfig);
55
+ /**
56
+ * Deploy - run migrations for the environment
57
+ */
58
+ deploy(_config: FactiiiConfig, environment: string): Promise<DeployResult>;
59
+ /**
60
+ * Undeploy - nothing to do for Prisma
61
+ */
62
+ undeploy(_config: FactiiiConfig, _environment: string): Promise<DeployResult>;
63
+ }
64
+ export default PrismaTrpcPlugin;
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/frameworks/prisma-trpc/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOhF,UAAU,cAAc;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,cAAM,gBAAgB;IAKpB,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,mBAAmB;IACvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAe;IACpD,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAGlC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAoB;IAG7D,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKnD;IAGF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKtD;IAEF;;;OAGG;WACU,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBlF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAkV1B;IAMF;;OAEG;WACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAmB1E;;OAEG;WACU,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1D;;OAEG;WACU,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAazD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAmBvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcvD;;;OAGG;WACU,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,OAAO,CAAC;IAuKnB,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,aAAa;IAIjC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhF;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAGpF;AAED,eAAe,gBAAgB,CAAC"}