@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.
- package/README.md +420 -0
- package/bin/factiii +229 -0
- package/dist/cli/check-config.d.ts +9 -0
- package/dist/cli/check-config.d.ts.map +1 -0
- package/dist/cli/check-config.js +19 -0
- package/dist/cli/check-config.js.map +1 -0
- package/dist/cli/deploy-secrets.d.ts +16 -0
- package/dist/cli/deploy-secrets.d.ts.map +1 -0
- package/dist/cli/deploy-secrets.js +227 -0
- package/dist/cli/deploy-secrets.js.map +1 -0
- package/dist/cli/deploy.d.ts +30 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +306 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/deployer.d.ts +13 -0
- package/dist/cli/deployer.d.ts.map +1 -0
- package/dist/cli/deployer.js +21 -0
- package/dist/cli/deployer.js.map +1 -0
- package/dist/cli/dev-sync.d.ts +30 -0
- package/dist/cli/dev-sync.d.ts.map +1 -0
- package/dist/cli/dev-sync.js +500 -0
- package/dist/cli/dev-sync.js.map +1 -0
- package/dist/cli/execute-plugin-command.d.ts +25 -0
- package/dist/cli/execute-plugin-command.d.ts.map +1 -0
- package/dist/cli/execute-plugin-command.js +237 -0
- package/dist/cli/execute-plugin-command.js.map +1 -0
- package/dist/cli/fix.d.ts +22 -0
- package/dist/cli/fix.d.ts.map +1 -0
- package/dist/cli/fix.js +267 -0
- package/dist/cli/fix.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +9 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +190 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/plugin-commands.d.ts +22 -0
- package/dist/cli/plugin-commands.d.ts.map +1 -0
- package/dist/cli/plugin-commands.js +121 -0
- package/dist/cli/plugin-commands.js.map +1 -0
- package/dist/cli/scan.d.ts +66 -0
- package/dist/cli/scan.d.ts.map +1 -0
- package/dist/cli/scan.js +511 -0
- package/dist/cli/scan.js.map +1 -0
- package/dist/cli/secrets.d.ts +19 -0
- package/dist/cli/secrets.d.ts.map +1 -0
- package/dist/cli/secrets.js +318 -0
- package/dist/cli/secrets.js.map +1 -0
- package/dist/cli/undeploy.d.ts +9 -0
- package/dist/cli/undeploy.d.ts.map +1 -0
- package/dist/cli/undeploy.js +95 -0
- package/dist/cli/undeploy.js.map +1 -0
- package/dist/cli/upgrade.d.ts +9 -0
- package/dist/cli/upgrade.d.ts.map +1 -0
- package/dist/cli/upgrade.js +24 -0
- package/dist/cli/upgrade.js.map +1 -0
- package/dist/cli/validate.d.ts +9 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +20 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/generators/generate-factiii-auto.d.ts +31 -0
- package/dist/generators/generate-factiii-auto.d.ts.map +1 -0
- package/dist/generators/generate-factiii-auto.js +251 -0
- package/dist/generators/generate-factiii-auto.js.map +1 -0
- package/dist/generators/generate-factiii-yml.d.ts +23 -0
- package/dist/generators/generate-factiii-yml.d.ts.map +1 -0
- package/dist/generators/generate-factiii-yml.js +228 -0
- package/dist/generators/generate-factiii-yml.js.map +1 -0
- package/dist/generators/index.d.ts +8 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +14 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/addons/server-mode/index.d.ts +57 -0
- package/dist/plugins/addons/server-mode/index.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/index.js +136 -0
- package/dist/plugins/addons/server-mode/index.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +17 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.js +461 -0
- package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts +12 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.js +246 -0
- package/dist/plugins/addons/server-mode/scanfix/ubuntu.js.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.d.ts +14 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.d.ts.map +1 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.js +113 -0
- package/dist/plugins/addons/server-mode/scanfix/windows.js.map +1 -0
- package/dist/plugins/approved.json +13 -0
- package/dist/plugins/frameworks/prisma-trpc/index.d.ts +65 -0
- package/dist/plugins/frameworks/prisma-trpc/index.d.ts.map +1 -0
- package/dist/plugins/frameworks/prisma-trpc/index.js +668 -0
- package/dist/plugins/frameworks/prisma-trpc/index.js.map +1 -0
- package/dist/plugins/index.d.ts +101 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +411 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/interfaces/addon.d.ts +43 -0
- package/dist/plugins/interfaces/addon.d.ts.map +1 -0
- package/dist/plugins/interfaces/addon.js +53 -0
- package/dist/plugins/interfaces/addon.js.map +1 -0
- package/dist/plugins/interfaces/framework.d.ts +43 -0
- package/dist/plugins/interfaces/framework.d.ts.map +1 -0
- package/dist/plugins/interfaces/framework.js +53 -0
- package/dist/plugins/interfaces/framework.js.map +1 -0
- package/dist/plugins/interfaces/index.d.ts +10 -0
- package/dist/plugins/interfaces/index.d.ts.map +1 -0
- package/dist/plugins/interfaces/index.js +17 -0
- package/dist/plugins/interfaces/index.js.map +1 -0
- package/dist/plugins/interfaces/pipeline.d.ts +78 -0
- package/dist/plugins/interfaces/pipeline.d.ts.map +1 -0
- package/dist/plugins/interfaces/pipeline.js +82 -0
- package/dist/plugins/interfaces/pipeline.js.map +1 -0
- package/dist/plugins/interfaces/server.d.ts +65 -0
- package/dist/plugins/interfaces/server.d.ts.map +1 -0
- package/dist/plugins/interfaces/server.js +72 -0
- package/dist/plugins/interfaces/server.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/ec2.d.ts +9 -0
- package/dist/plugins/pipelines/aws/configs/ec2.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/ec2.js +34 -0
- package/dist/plugins/pipelines/aws/configs/ec2.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.d.ts +13 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.js +86 -0
- package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/index.d.ts +14 -0
- package/dist/plugins/pipelines/aws/configs/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/index.js +21 -0
- package/dist/plugins/pipelines/aws/configs/index.js.map +1 -0
- package/dist/plugins/pipelines/aws/configs/types.d.ts +36 -0
- package/dist/plugins/pipelines/aws/configs/types.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/configs/types.js +9 -0
- package/dist/plugins/pipelines/aws/configs/types.js.map +1 -0
- package/dist/plugins/pipelines/aws/dev.d.ts +10 -0
- package/dist/plugins/pipelines/aws/dev.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/dev.js +70 -0
- package/dist/plugins/pipelines/aws/dev.js.map +1 -0
- package/dist/plugins/pipelines/aws/index.d.ts +118 -0
- package/dist/plugins/pipelines/aws/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/index.js +346 -0
- package/dist/plugins/pipelines/aws/index.js.map +1 -0
- package/dist/plugins/pipelines/aws/prod.d.ts +19 -0
- package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/prod.js +362 -0
- package/dist/plugins/pipelines/aws/prod.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +7 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +31 -0
- package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/config.d.ts +7 -0
- package/dist/plugins/pipelines/aws/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/pipelines/aws/scanfix/config.js +134 -0
- package/dist/plugins/pipelines/aws/scanfix/config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts +65 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.js +221 -0
- package/dist/plugins/pipelines/factiii/github-secrets-store.js.map +1 -0
- package/dist/plugins/pipelines/factiii/index.d.ts +195 -0
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/index.js +862 -0
- package/dist/plugins/pipelines/factiii/index.js.map +1 -0
- package/dist/plugins/pipelines/factiii/prod.d.ts +17 -0
- package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/prod.js +282 -0
- package/dist/plugins/pipelines/factiii/prod.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.js +80 -0
- package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.js +43 -0
- package/dist/plugins/pipelines/factiii/scanfix/github-cli.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js +237 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js +169 -0
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -0
- package/dist/plugins/pipelines/factiii/staging.d.ts +25 -0
- package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/staging.js +223 -0
- package/dist/plugins/pipelines/factiii/staging.js.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/detection.d.ts +36 -0
- package/dist/plugins/pipelines/factiii/utils/detection.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/detection.js +140 -0
- package/dist/plugins/pipelines/factiii/utils/detection.js.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts +16 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.js +129 -0
- package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +112 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +112 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +130 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +198 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +179 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +176 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +176 -0
- package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +95 -0
- package/dist/plugins/servers/amazon-linux/index.d.ts +93 -0
- package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -0
- package/dist/plugins/servers/amazon-linux/index.js +217 -0
- package/dist/plugins/servers/amazon-linux/index.js.map +1 -0
- package/dist/plugins/servers/mac/dev.d.ts +10 -0
- package/dist/plugins/servers/mac/dev.d.ts.map +1 -0
- package/dist/plugins/servers/mac/dev.js +71 -0
- package/dist/plugins/servers/mac/dev.js.map +1 -0
- package/dist/plugins/servers/mac/index.d.ts +101 -0
- package/dist/plugins/servers/mac/index.d.ts.map +1 -0
- package/dist/plugins/servers/mac/index.js +257 -0
- package/dist/plugins/servers/mac/index.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/config.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/config.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/config.js +168 -0
- package/dist/plugins/servers/mac/scanfix/config.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/containers.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/containers.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/containers.js +167 -0
- package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -0
- package/dist/plugins/servers/mac/scanfix/system.d.ts +7 -0
- package/dist/plugins/servers/mac/scanfix/system.d.ts.map +1 -0
- package/dist/plugins/servers/mac/scanfix/system.js +144 -0
- package/dist/plugins/servers/mac/scanfix/system.js.map +1 -0
- package/dist/plugins/servers/mac/staging.d.ts +21 -0
- package/dist/plugins/servers/mac/staging.d.ts.map +1 -0
- package/dist/plugins/servers/mac/staging.js +708 -0
- package/dist/plugins/servers/mac/staging.js.map +1 -0
- package/dist/plugins/servers/ubuntu/index.d.ts +93 -0
- package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -0
- package/dist/plugins/servers/ubuntu/index.js +224 -0
- package/dist/plugins/servers/ubuntu/index.js.map +1 -0
- package/dist/plugins/servers/windows/index.d.ts +90 -0
- package/dist/plugins/servers/windows/index.d.ts.map +1 -0
- package/dist/plugins/servers/windows/index.js +205 -0
- package/dist/plugins/servers/windows/index.js.map +1 -0
- package/dist/scanfix/commands/index.d.ts +27 -0
- package/dist/scanfix/commands/index.d.ts.map +1 -0
- package/dist/scanfix/commands/index.js +97 -0
- package/dist/scanfix/commands/index.js.map +1 -0
- package/dist/scanfix/commands/mac.d.ts +11 -0
- package/dist/scanfix/commands/mac.d.ts.map +1 -0
- package/dist/scanfix/commands/mac.js +31 -0
- package/dist/scanfix/commands/mac.js.map +1 -0
- package/dist/scanfix/commands/ubuntu.d.ts +11 -0
- package/dist/scanfix/commands/ubuntu.d.ts.map +1 -0
- package/dist/scanfix/commands/ubuntu.js +30 -0
- package/dist/scanfix/commands/ubuntu.js.map +1 -0
- package/dist/scanfix/fixes/certbot.d.ts +25 -0
- package/dist/scanfix/fixes/certbot.d.ts.map +1 -0
- package/dist/scanfix/fixes/certbot.js +136 -0
- package/dist/scanfix/fixes/certbot.js.map +1 -0
- package/dist/scanfix/fixes/docker.d.ts +29 -0
- package/dist/scanfix/fixes/docker.d.ts.map +1 -0
- package/dist/scanfix/fixes/docker.js +149 -0
- package/dist/scanfix/fixes/docker.js.map +1 -0
- package/dist/scanfix/fixes/git.d.ts +20 -0
- package/dist/scanfix/fixes/git.d.ts.map +1 -0
- package/dist/scanfix/fixes/git.js +71 -0
- package/dist/scanfix/fixes/git.js.map +1 -0
- package/dist/scanfix/fixes/index.d.ts +11 -0
- package/dist/scanfix/fixes/index.d.ts.map +1 -0
- package/dist/scanfix/fixes/index.js +27 -0
- package/dist/scanfix/fixes/index.js.map +1 -0
- package/dist/scanfix/fixes/node.d.ts +20 -0
- package/dist/scanfix/fixes/node.d.ts.map +1 -0
- package/dist/scanfix/fixes/node.js +71 -0
- package/dist/scanfix/fixes/node.js.map +1 -0
- package/dist/scanfix/fixes/pnpm.d.ts +20 -0
- package/dist/scanfix/fixes/pnpm.d.ts.map +1 -0
- package/dist/scanfix/fixes/pnpm.js +122 -0
- package/dist/scanfix/fixes/pnpm.js.map +1 -0
- package/dist/scanfix/index.d.ts +23 -0
- package/dist/scanfix/index.d.ts.map +1 -0
- package/dist/scanfix/index.js +44 -0
- package/dist/scanfix/index.js.map +1 -0
- package/dist/scanfix/platform.d.ts +20 -0
- package/dist/scanfix/platform.d.ts.map +1 -0
- package/dist/scanfix/platform.js +48 -0
- package/dist/scanfix/platform.js.map +1 -0
- package/dist/scanfix/ssl-cert-helper.d.ts +27 -0
- package/dist/scanfix/ssl-cert-helper.d.ts.map +1 -0
- package/dist/scanfix/ssl-cert-helper.js +117 -0
- package/dist/scanfix/ssl-cert-helper.js.map +1 -0
- package/dist/scanfix/types.d.ts +27 -0
- package/dist/scanfix/types.d.ts.map +1 -0
- package/dist/scanfix/types.js +8 -0
- package/dist/scanfix/types.js.map +1 -0
- package/dist/scripts/check-existing-secrets.d.ts +6 -0
- package/dist/scripts/check-existing-secrets.d.ts.map +1 -0
- package/dist/scripts/check-existing-secrets.js +86 -0
- package/dist/scripts/check-existing-secrets.js.map +1 -0
- package/dist/scripts/generate-all.d.ts +40 -0
- package/dist/scripts/generate-all.d.ts.map +1 -0
- package/dist/scripts/generate-all.js +373 -0
- package/dist/scripts/generate-all.js.map +1 -0
- package/dist/scripts/get-repo-name.d.ts +6 -0
- package/dist/scripts/get-repo-name.d.ts.map +1 -0
- package/dist/scripts/get-repo-name.js +54 -0
- package/dist/scripts/get-repo-name.js.map +1 -0
- package/dist/scripts/index.d.ts +7 -0
- package/dist/scripts/index.d.ts.map +1 -0
- package/dist/scripts/index.js +14 -0
- package/dist/scripts/index.js.map +1 -0
- package/dist/scripts/validate-env-files.d.ts +6 -0
- package/dist/scripts/validate-env-files.d.ts.map +1 -0
- package/dist/scripts/validate-env-files.js +126 -0
- package/dist/scripts/validate-env-files.js.map +1 -0
- package/dist/scripts/validate-example-values.d.ts +8 -0
- package/dist/scripts/validate-example-values.d.ts.map +1 -0
- package/dist/scripts/validate-example-values.js +88 -0
- package/dist/scripts/validate-example-values.js.map +1 -0
- package/dist/scripts/validate-factiii-yml.d.ts +6 -0
- package/dist/scripts/validate-factiii-yml.d.ts.map +1 -0
- package/dist/scripts/validate-factiii-yml.js +71 -0
- package/dist/scripts/validate-factiii-yml.js.map +1 -0
- package/dist/types/cli.d.ts +138 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +8 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/config.d.ts +113 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +8 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/plugin.d.ts +352 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +8 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/utils/ansible-vault-secrets.d.ts +95 -0
- package/dist/utils/ansible-vault-secrets.d.ts.map +1 -0
- package/dist/utils/ansible-vault-secrets.js +406 -0
- package/dist/utils/ansible-vault-secrets.js.map +1 -0
- package/dist/utils/config-helpers.d.ts +72 -0
- package/dist/utils/config-helpers.d.ts.map +1 -0
- package/dist/utils/config-helpers.js +171 -0
- package/dist/utils/config-helpers.js.map +1 -0
- package/dist/utils/config-schema.d.ts +17 -0
- package/dist/utils/config-schema.d.ts.map +1 -0
- package/dist/utils/config-schema.js +100 -0
- package/dist/utils/config-schema.js.map +1 -0
- package/dist/utils/config-validator.d.ts +29 -0
- package/dist/utils/config-validator.d.ts.map +1 -0
- package/dist/utils/config-validator.js +146 -0
- package/dist/utils/config-validator.js.map +1 -0
- package/dist/utils/deployment-report.d.ts +100 -0
- package/dist/utils/deployment-report.d.ts.map +1 -0
- package/dist/utils/deployment-report.js +225 -0
- package/dist/utils/deployment-report.js.map +1 -0
- package/dist/utils/dns-validator.d.ts +19 -0
- package/dist/utils/dns-validator.d.ts.map +1 -0
- package/dist/utils/dns-validator.js +94 -0
- package/dist/utils/dns-validator.js.map +1 -0
- package/dist/utils/env-validator.d.ts +108 -0
- package/dist/utils/env-validator.d.ts.map +1 -0
- package/dist/utils/env-validator.js +342 -0
- package/dist/utils/env-validator.js.map +1 -0
- package/dist/utils/github-workflow-monitor.d.ts +49 -0
- package/dist/utils/github-workflow-monitor.d.ts.map +1 -0
- package/dist/utils/github-workflow-monitor.js +145 -0
- package/dist/utils/github-workflow-monitor.js.map +1 -0
- package/dist/utils/index.d.ts +18 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +48 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/secret-prompts.d.ts +67 -0
- package/dist/utils/secret-prompts.d.ts.map +1 -0
- package/dist/utils/secret-prompts.js +369 -0
- package/dist/utils/secret-prompts.js.map +1 -0
- package/dist/utils/server-check.d.ts +43 -0
- package/dist/utils/server-check.d.ts.map +1 -0
- package/dist/utils/server-check.js +397 -0
- package/dist/utils/server-check.js.map +1 -0
- package/dist/utils/ssh-deploy.d.ts +70 -0
- package/dist/utils/ssh-deploy.d.ts.map +1 -0
- package/dist/utils/ssh-deploy.js +268 -0
- package/dist/utils/ssh-deploy.js.map +1 -0
- package/dist/utils/ssh-helper.d.ts +40 -0
- package/dist/utils/ssh-helper.d.ts.map +1 -0
- package/dist/utils/ssh-helper.js +221 -0
- package/dist/utils/ssh-helper.js.map +1 -0
- package/dist/utils/template-generator.d.ts +42 -0
- package/dist/utils/template-generator.d.ts.map +1 -0
- package/dist/utils/template-generator.js +223 -0
- package/dist/utils/template-generator.js.map +1 -0
- package/dist/utils/version-check.d.ts +69 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +211 -0
- package/dist/utils/version-check.js.map +1 -0
- 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"}
|