@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,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Generate factiiiAuto.yml
|
|
4
|
+
*
|
|
5
|
+
* Generates the factiiiAuto.yml configuration file with auto-detected values.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.generateFactiiiAuto = generateFactiiiAuto;
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
48
|
+
/**
|
|
49
|
+
* Get Factiii package version
|
|
50
|
+
*/
|
|
51
|
+
function getFactiiiVersion() {
|
|
52
|
+
try {
|
|
53
|
+
const packageJsonPath = path.join(__dirname, '../../package.json');
|
|
54
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
55
|
+
return pkg.version ?? '1.0.0';
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return '1.0.0';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Load all plugins
|
|
63
|
+
*/
|
|
64
|
+
function loadAllPlugins() {
|
|
65
|
+
const plugins = [];
|
|
66
|
+
// Load pipeline plugins
|
|
67
|
+
try {
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
69
|
+
const FactiiiPipeline = require('../plugins/pipelines/factiii');
|
|
70
|
+
plugins.push(FactiiiPipeline);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Plugin not available
|
|
74
|
+
}
|
|
75
|
+
// Load server plugins
|
|
76
|
+
try {
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
78
|
+
const MacPlugin = require('../plugins/servers/mac');
|
|
79
|
+
plugins.push(MacPlugin);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Plugin not available
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
86
|
+
const UbuntuPlugin = require('../plugins/servers/ubuntu');
|
|
87
|
+
plugins.push(UbuntuPlugin);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Plugin not available
|
|
91
|
+
}
|
|
92
|
+
// Load pipeline plugins (AWS is now a pipeline, not a server)
|
|
93
|
+
try {
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
95
|
+
const AWSPipeline = require('../plugins/pipelines/aws');
|
|
96
|
+
plugins.push(AWSPipeline);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Plugin not available
|
|
100
|
+
}
|
|
101
|
+
// Load framework plugins
|
|
102
|
+
try {
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
104
|
+
const PrismaTrpcPlugin = require('../plugins/frameworks/prisma-trpc');
|
|
105
|
+
plugins.push(PrismaTrpcPlugin);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Plugin not available
|
|
109
|
+
}
|
|
110
|
+
return plugins;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generate factiiiAuto.yml with auto-detected values from plugins
|
|
114
|
+
*/
|
|
115
|
+
async function generateFactiiiAuto(rootDir, options = {}) {
|
|
116
|
+
const outputPath = path.join(rootDir, 'factiiiAuto.yml');
|
|
117
|
+
console.log('🔍 Auto-detecting project configuration...\n');
|
|
118
|
+
// Use provided plugins or load all
|
|
119
|
+
const plugins = options.plugins ?? loadAllPlugins();
|
|
120
|
+
const autoConfig = {
|
|
121
|
+
factiii_version: getFactiiiVersion(),
|
|
122
|
+
factiii_min_version: getFactiiiVersion(),
|
|
123
|
+
};
|
|
124
|
+
// Collect auto-detected config from each plugin
|
|
125
|
+
for (const PluginClass of plugins) {
|
|
126
|
+
if (PluginClass.detectConfig) {
|
|
127
|
+
try {
|
|
128
|
+
const detected = await PluginClass.detectConfig(rootDir);
|
|
129
|
+
if (detected) {
|
|
130
|
+
Object.assign(autoConfig, detected);
|
|
131
|
+
// Log what was detected
|
|
132
|
+
if (PluginClass.id === 'prisma-trpc' && detected.has_prisma) {
|
|
133
|
+
console.log(` ✅ Prisma detected`);
|
|
134
|
+
if (detected.prisma_schema)
|
|
135
|
+
console.log(` Schema: ${detected.prisma_schema}`);
|
|
136
|
+
if (detected.prisma_version)
|
|
137
|
+
console.log(` Version: ${detected.prisma_version}`);
|
|
138
|
+
}
|
|
139
|
+
if (PluginClass.id === 'prisma-trpc' && detected.has_trpc) {
|
|
140
|
+
console.log(` ✅ tRPC detected`);
|
|
141
|
+
}
|
|
142
|
+
if (PluginClass.id === 'factiii' && detected.dockerfile) {
|
|
143
|
+
console.log(` ✅ Dockerfile: ${detected.dockerfile}`);
|
|
144
|
+
}
|
|
145
|
+
if (PluginClass.id === 'factiii' && detected.package_manager) {
|
|
146
|
+
console.log(` 📦 Package manager: ${detected.package_manager}`);
|
|
147
|
+
}
|
|
148
|
+
if (PluginClass.id === 'factiii' && detected.node_version) {
|
|
149
|
+
console.log(` 📦 Node version: ${detected.node_version}`);
|
|
150
|
+
}
|
|
151
|
+
if (PluginClass.id === 'factiii' && detected.pnpm_version) {
|
|
152
|
+
console.log(` 📦 pnpm version: ${detected.pnpm_version}`);
|
|
153
|
+
}
|
|
154
|
+
if (PluginClass.id === 'aws' && detected.aws_cli_installed) {
|
|
155
|
+
console.log(` ✅ AWS CLI installed`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
const errorMessage = e instanceof Error ? e.message : String(e);
|
|
161
|
+
console.log(` ⚠️ Error detecting ${PluginClass.id}: ${errorMessage}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Ensure ssh_user is always present (defaults to ubuntu)
|
|
166
|
+
if (!autoConfig.ssh_user) {
|
|
167
|
+
autoConfig.ssh_user = 'ubuntu';
|
|
168
|
+
}
|
|
169
|
+
// Organize config into sections for better readability
|
|
170
|
+
const versionSection = {};
|
|
171
|
+
const stackSection = {};
|
|
172
|
+
const sshSection = {};
|
|
173
|
+
const buildSection = {};
|
|
174
|
+
const otherSection = {};
|
|
175
|
+
// Categorize fields
|
|
176
|
+
for (const [key, value] of Object.entries(autoConfig)) {
|
|
177
|
+
if (key.startsWith('factiii_')) {
|
|
178
|
+
versionSection[key] = value;
|
|
179
|
+
}
|
|
180
|
+
else if (key.startsWith('has_')) {
|
|
181
|
+
stackSection[key] = value;
|
|
182
|
+
}
|
|
183
|
+
else if (key === 'ssh_user') {
|
|
184
|
+
sshSection[key] = value;
|
|
185
|
+
}
|
|
186
|
+
else if (['dockerfile', 'package_manager', 'node_version', 'pnpm_version'].includes(key)) {
|
|
187
|
+
buildSection[key] = value;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
otherSection[key] = value;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Build YAML with sections
|
|
194
|
+
const sections = [];
|
|
195
|
+
// Header
|
|
196
|
+
sections.push('# Auto-detected configuration', '# Generated by: npx factiii', '# To override values, add: value OVERRIDE newvalue', '');
|
|
197
|
+
// Version section
|
|
198
|
+
if (Object.keys(versionSection).length > 0) {
|
|
199
|
+
sections.push('# Factiii version tracking');
|
|
200
|
+
sections.push(js_yaml_1.default.dump(versionSection, { lineWidth: -1, noRefs: true }).trim());
|
|
201
|
+
sections.push('');
|
|
202
|
+
}
|
|
203
|
+
// Stack detection section
|
|
204
|
+
if (Object.keys(stackSection).length > 0) {
|
|
205
|
+
sections.push('# Detected stack components');
|
|
206
|
+
sections.push(js_yaml_1.default.dump(stackSection, { lineWidth: -1, noRefs: true }).trim());
|
|
207
|
+
sections.push('');
|
|
208
|
+
}
|
|
209
|
+
// SSH configuration section
|
|
210
|
+
if (Object.keys(sshSection).length > 0) {
|
|
211
|
+
sections.push('# SSH configuration');
|
|
212
|
+
sections.push('# Default SSH user for all environments (override with: ubuntu OVERRIDE admin)');
|
|
213
|
+
sections.push(js_yaml_1.default.dump(sshSection, { lineWidth: -1, noRefs: true }).trim());
|
|
214
|
+
sections.push('');
|
|
215
|
+
}
|
|
216
|
+
// Build configuration section
|
|
217
|
+
if (Object.keys(buildSection).length > 0) {
|
|
218
|
+
sections.push('# Build configuration');
|
|
219
|
+
sections.push(js_yaml_1.default.dump(buildSection, { lineWidth: -1, noRefs: true }).trim());
|
|
220
|
+
sections.push('');
|
|
221
|
+
}
|
|
222
|
+
// Other fields
|
|
223
|
+
if (Object.keys(otherSection).length > 0) {
|
|
224
|
+
sections.push(js_yaml_1.default.dump(otherSection, { lineWidth: -1, noRefs: true }).trim());
|
|
225
|
+
}
|
|
226
|
+
const finalContent = sections.join('\n');
|
|
227
|
+
// Check if file exists and content changed
|
|
228
|
+
const exists = fs.existsSync(outputPath);
|
|
229
|
+
if (exists) {
|
|
230
|
+
const existingContent = fs.readFileSync(outputPath, 'utf8');
|
|
231
|
+
if (existingContent === finalContent) {
|
|
232
|
+
console.log('\n⏭️ factiiiAuto.yml unchanged');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// If file exists and content changed, only update if force is true
|
|
236
|
+
// (init.ts handles prompting, so if we get here with force=false, skip)
|
|
237
|
+
if (options.force === false) {
|
|
238
|
+
console.log('\n⏭️ factiiiAuto.yml would be updated, but overwrite was declined');
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Write file
|
|
243
|
+
fs.writeFileSync(outputPath, finalContent);
|
|
244
|
+
if (exists) {
|
|
245
|
+
console.log('\n🔄 Updated factiiiAuto.yml');
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
console.log('\n✅ Created factiiiAuto.yml');
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=generate-factiii-auto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-factiii-auto.js","sourceRoot":"","sources":["../../src/generators/generate-factiii-auto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate factiii.yml
|
|
3
|
+
*
|
|
4
|
+
* Generates the factiii.yml configuration file from plugin schemas.
|
|
5
|
+
*/
|
|
6
|
+
interface PluginWithSchema {
|
|
7
|
+
configSchema?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
interface GenerateOptions {
|
|
10
|
+
force?: boolean;
|
|
11
|
+
plugins?: PluginWithSchema[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generate factiii.yml template from plugin schemas
|
|
15
|
+
* @param plugins - Optional array of plugin classes to use
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateFactiiiYmlTemplate(plugins?: PluginWithSchema[] | null): string;
|
|
18
|
+
/**
|
|
19
|
+
* Generate factiii.yml file in the target directory
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateFactiiiYml(rootDir: string, options?: GenerateOptions): boolean;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=generate-factiii-yml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-factiii-yml.d.ts","sourceRoot":"","sources":["../../src/generators/generate-factiii-yml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,UAAU,gBAAgB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAuDD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,gBAAgB,EAAE,GAAG,IAAW,GAAG,MAAM,CAsG5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAgC1F"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Generate factiii.yml
|
|
4
|
+
*
|
|
5
|
+
* Generates the factiii.yml configuration file from plugin schemas.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.generateFactiiiYmlTemplate = generateFactiiiYmlTemplate;
|
|
45
|
+
exports.generateFactiiiYml = generateFactiiiYml;
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
49
|
+
/**
|
|
50
|
+
* Load all plugins
|
|
51
|
+
*/
|
|
52
|
+
function loadAllPlugins() {
|
|
53
|
+
const plugins = [];
|
|
54
|
+
// Load pipeline plugins
|
|
55
|
+
try {
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
57
|
+
const FactiiiPipeline = require('../plugins/pipelines/factiii');
|
|
58
|
+
plugins.push(FactiiiPipeline);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Plugin not available
|
|
62
|
+
}
|
|
63
|
+
// Load server plugins
|
|
64
|
+
try {
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
66
|
+
const MacPlugin = require('../plugins/servers/mac');
|
|
67
|
+
plugins.push(MacPlugin);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Plugin not available
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
74
|
+
const UbuntuPlugin = require('../plugins/servers/ubuntu');
|
|
75
|
+
plugins.push(UbuntuPlugin);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Plugin not available
|
|
79
|
+
}
|
|
80
|
+
// Load pipeline plugins (AWS is now a pipeline, not a server)
|
|
81
|
+
try {
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
83
|
+
const AWSPipeline = require('../plugins/pipelines/aws');
|
|
84
|
+
plugins.push(AWSPipeline);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Plugin not available
|
|
88
|
+
}
|
|
89
|
+
// Load framework plugins
|
|
90
|
+
try {
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
92
|
+
const PrismaTrpcPlugin = require('../plugins/frameworks/prisma-trpc');
|
|
93
|
+
plugins.push(PrismaTrpcPlugin);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// Plugin not available
|
|
97
|
+
}
|
|
98
|
+
return plugins;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Generate factiii.yml template from plugin schemas
|
|
102
|
+
* @param plugins - Optional array of plugin classes to use
|
|
103
|
+
*/
|
|
104
|
+
function generateFactiiiYmlTemplate(plugins = null) {
|
|
105
|
+
const actualPlugins = plugins ?? loadAllPlugins();
|
|
106
|
+
// Base schema with core fields
|
|
107
|
+
const schema = {
|
|
108
|
+
// ============================================================
|
|
109
|
+
// RESERVED CONFIG FIELDS
|
|
110
|
+
// ============================================================
|
|
111
|
+
name: 'EXAMPLE-your-repo-name',
|
|
112
|
+
config_version: '0.1.0',
|
|
113
|
+
github_repo: 'EXAMPLE-username/repo-name',
|
|
114
|
+
ssl_email: 'EXAMPLE-admin@yourdomain.com',
|
|
115
|
+
pipeline: 'factiii', // Pipeline plugin (e.g., factiii for GitHub Actions)
|
|
116
|
+
// Ansible Vault configuration (for secrets)
|
|
117
|
+
ansible: {
|
|
118
|
+
vault_path: 'group_vars/all/vault.yml', // Path to Ansible Vault file
|
|
119
|
+
vault_password_file: '~/.vault_pass', // Optional: path to vault password file
|
|
120
|
+
},
|
|
121
|
+
// ============================================================
|
|
122
|
+
// ENVIRONMENTS (top-level keys)
|
|
123
|
+
// ============================================================
|
|
124
|
+
staging: {
|
|
125
|
+
server: 'mac', // Server OS type (mac, ubuntu, windows, amazon-linux)
|
|
126
|
+
domain: 'EXAMPLE-staging.yourdomain.com', // Used for nginx AND SSH
|
|
127
|
+
env_file: '.env.staging',
|
|
128
|
+
},
|
|
129
|
+
prod: {
|
|
130
|
+
server: 'ubuntu', // Server OS type
|
|
131
|
+
pipeline: 'aws', // Use AWS pipeline for deployment
|
|
132
|
+
domain: 'EXAMPLE-yourdomain.com', // Used for nginx AND SSH
|
|
133
|
+
// AWS-specific config (when server: aws)
|
|
134
|
+
config: 'free-tier', // Options: ec2, free-tier, standard, enterprise
|
|
135
|
+
access_key_id: 'EXAMPLE-AKIAXXXXXXXX',
|
|
136
|
+
region: 'us-east-1',
|
|
137
|
+
// Plugin configs for this environment
|
|
138
|
+
plugins: {
|
|
139
|
+
ecr: {
|
|
140
|
+
ecr_registry: 'EXAMPLE-123456789012.dkr.ecr.us-east-1.amazonaws.com',
|
|
141
|
+
ecr_repository: 'EXAMPLE-repo-name',
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
// Merge plugin config schemas
|
|
147
|
+
for (const PluginClass of actualPlugins) {
|
|
148
|
+
if (PluginClass.configSchema) {
|
|
149
|
+
Object.assign(schema, PluginClass.configSchema);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const yamlContent = js_yaml_1.default.dump(schema, {
|
|
153
|
+
lineWidth: -1, // Don't wrap lines
|
|
154
|
+
noRefs: true,
|
|
155
|
+
});
|
|
156
|
+
// Add helpful comments after YAML generation
|
|
157
|
+
const comments = `
|
|
158
|
+
# ============================================================
|
|
159
|
+
# ADDITIONAL ENVIRONMENTS
|
|
160
|
+
# ============================================================
|
|
161
|
+
# You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
|
|
162
|
+
# Each environment must specify a 'server' plugin and can have server-specific configs.
|
|
163
|
+
#
|
|
164
|
+
# Example - Additional staging environment:
|
|
165
|
+
# staging2:
|
|
166
|
+
# server: mac
|
|
167
|
+
# domain: staging2.yourdomain.com
|
|
168
|
+
# env_file: .env.staging2
|
|
169
|
+
#
|
|
170
|
+
# Example - Additional prod environment:
|
|
171
|
+
# prod2:
|
|
172
|
+
# server: ubuntu
|
|
173
|
+
# pipeline: aws
|
|
174
|
+
# domain: app2.yourdomain.com
|
|
175
|
+
# config: free-tier
|
|
176
|
+
# access_key_id: EXAMPLE-AKIAXXXXXXXX
|
|
177
|
+
# region: us-west-2
|
|
178
|
+
|
|
179
|
+
# ============================================================
|
|
180
|
+
# ENVIRONMENT OPTIONS
|
|
181
|
+
# ============================================================
|
|
182
|
+
# All environments support these optional fields:
|
|
183
|
+
# ssh_user: ubuntu # Override SSH user (defaults to factiiiAuto.yml ssh_user)
|
|
184
|
+
# env_file: .env.{environment} # Override env file name
|
|
185
|
+
|
|
186
|
+
# ============================================================
|
|
187
|
+
# CONTAINER EXCLUSIONS
|
|
188
|
+
# ============================================================
|
|
189
|
+
# Exclude Docker containers from unmanaged container cleanup
|
|
190
|
+
# Uncomment and add container names to keep them running:
|
|
191
|
+
# container_exclusions:
|
|
192
|
+
# - factiii_postgres
|
|
193
|
+
# - legacy_container
|
|
194
|
+
`;
|
|
195
|
+
return yamlContent + comments;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Generate factiii.yml file in the target directory
|
|
199
|
+
*/
|
|
200
|
+
function generateFactiiiYml(rootDir, options = {}) {
|
|
201
|
+
const outputPath = path.join(rootDir, 'factiii.yml');
|
|
202
|
+
// Check if file already exists
|
|
203
|
+
if (fs.existsSync(outputPath) && !options.force) {
|
|
204
|
+
console.log('⏭️ factiii.yml already exists (use --force to overwrite)');
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
// Use provided plugins or load all
|
|
208
|
+
const content = generateFactiiiYmlTemplate(options.plugins ?? null);
|
|
209
|
+
// Write file
|
|
210
|
+
fs.writeFileSync(outputPath, content);
|
|
211
|
+
console.log('[OK] Created factiii.yml');
|
|
212
|
+
console.log('\nNEXT STEPS:\n');
|
|
213
|
+
console.log(' 1. Configure your project:');
|
|
214
|
+
console.log(' [ ] Replace all EXAMPLE- values in factiii.yml');
|
|
215
|
+
console.log(' - name, github_repo, ssl_email, domains\n');
|
|
216
|
+
console.log(' 2. Set up secrets (requires ansible-vault):');
|
|
217
|
+
console.log(' [ ] Generate SSH key: ssh-keygen -t ed25519 -f ~/.ssh/staging_deploy_key');
|
|
218
|
+
console.log(' [ ] Store in vault: npx factiii secrets set STAGING_SSH');
|
|
219
|
+
console.log(' [ ] Add public key to server: ssh-copy-id -i ~/.ssh/staging_deploy_key.pub user@host\n');
|
|
220
|
+
console.log(' 3. Validate and fix:');
|
|
221
|
+
console.log(' [ ] npx factiii scan (check for issues)');
|
|
222
|
+
console.log(' [ ] npx factiii fix (auto-fix what it can)\n');
|
|
223
|
+
console.log(' 4. Deploy:');
|
|
224
|
+
console.log(' [ ] npx factiii deploy --staging --dry-run (preview)');
|
|
225
|
+
console.log(' [ ] npx factiii deploy --staging (deploy)\n');
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=generate-factiii-yml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-factiii-yml.js","sourceRoot":"","sources":["../../src/generators/generate-factiii-yml.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EH,gEAsGC;AAKD,gDAgCC;AAnND,uCAAyB;AACzB,2CAA6B;AAC7B,sDAA2B;AAa3B;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,wBAAwB;IACxB,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,8BAA8B,CAAqB,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAqB,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAqB,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAqB,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,mCAAmC,CAAqB,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAgB,0BAA0B,CAAC,UAAqC,IAAI;IAClF,MAAM,aAAa,GAAG,OAAO,IAAI,cAAc,EAAE,CAAC;IAElD,+BAA+B;IAC/B,MAAM,MAAM,GAA4B;QACtC,+DAA+D;QAC/D,yBAAyB;QACzB,+DAA+D;QAC/D,IAAI,EAAE,wBAAwB;QAC9B,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,4BAA4B;QACzC,SAAS,EAAE,8BAA8B;QACzC,QAAQ,EAAE,SAAS,EAAG,qDAAqD;QAE3E,4CAA4C;QAC5C,OAAO,EAAE;YACP,UAAU,EAAE,0BAA0B,EAAG,6BAA6B;YACtE,mBAAmB,EAAE,eAAe,EAAK,wCAAwC;SAClF;QAED,+DAA+D;QAC/D,gCAAgC;QAChC,+DAA+D;QAC/D,OAAO,EAAE;YACP,MAAM,EAAE,KAAK,EAAG,sDAAsD;YACtE,MAAM,EAAE,gCAAgC,EAAG,yBAAyB;YACpE,QAAQ,EAAE,cAAc;SACzB;QAED,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ,EAAG,iBAAiB;YACpC,QAAQ,EAAE,KAAK,EAAI,kCAAkC;YACrD,MAAM,EAAE,wBAAwB,EAAG,yBAAyB;YAE5D,yCAAyC;YACzC,MAAM,EAAE,WAAW,EAAE,gDAAgD;YACrE,aAAa,EAAE,sBAAsB;YACrC,MAAM,EAAE,WAAW;YAEnB,sCAAsC;YACtC,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,YAAY,EAAE,sDAAsD;oBACpE,cAAc,EAAE,mBAAmB;iBACpC;aACF;SACF;KACF,CAAC;IAEF,8BAA8B;IAC9B,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACpC,SAAS,EAAE,CAAC,CAAC,EAAE,mBAAmB;QAClC,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,6CAA6C;IAC7C,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqClB,CAAC;IAEA,OAAO,WAAW,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAe,EAAE,UAA2B,EAAE;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAErD,+BAA+B;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAEpE,aAAa;IACb,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAE5E,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generators Index
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all generator modules.
|
|
5
|
+
*/
|
|
6
|
+
export { generateFactiiiYml, generateFactiiiYmlTemplate } from './generate-factiii-yml.js';
|
|
7
|
+
export { generateFactiiiAuto } from './generate-factiii-auto.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Generators Index
|
|
4
|
+
*
|
|
5
|
+
* Re-exports all generator modules.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.generateFactiiiAuto = exports.generateFactiiiYmlTemplate = exports.generateFactiiiYml = void 0;
|
|
9
|
+
var generate_factiii_yml_js_1 = require("./generate-factiii-yml.js");
|
|
10
|
+
Object.defineProperty(exports, "generateFactiiiYml", { enumerable: true, get: function () { return generate_factiii_yml_js_1.generateFactiiiYml; } });
|
|
11
|
+
Object.defineProperty(exports, "generateFactiiiYmlTemplate", { enumerable: true, get: function () { return generate_factiii_yml_js_1.generateFactiiiYmlTemplate; } });
|
|
12
|
+
var generate_factiii_auto_js_1 = require("./generate-factiii-auto.js");
|
|
13
|
+
Object.defineProperty(exports, "generateFactiiiAuto", { enumerable: true, get: function () { return generate_factiii_auto_js_1.generateFactiiiAuto; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAA2F;AAAlF,6HAAA,kBAAkB,OAAA;AAAE,qIAAA,0BAA0B,OAAA;AACvD,uEAAiE;AAAxD,+HAAA,mBAAmB,OAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factiii Stack Infrastructure Package
|
|
3
|
+
* Main entry point for programmatic usage
|
|
4
|
+
*/
|
|
5
|
+
import * as plugins from './plugins/index.js';
|
|
6
|
+
import { scanRepos, loadConfigs, generateDockerCompose, generateNginx } from './scripts/generate-all.js';
|
|
7
|
+
export { PipelinePlugin } from './plugins/interfaces/pipeline.js';
|
|
8
|
+
export { ServerPlugin } from './plugins/interfaces/server.js';
|
|
9
|
+
export { FrameworkPlugin } from './plugins/interfaces/framework.js';
|
|
10
|
+
export { AddonPlugin } from './plugins/interfaces/addon.js';
|
|
11
|
+
export * from './types/index.js';
|
|
12
|
+
export declare const registerPlugin: typeof plugins.registerPlugin;
|
|
13
|
+
export declare const getPlugin: typeof plugins.getPlugin;
|
|
14
|
+
export declare const getPluginsByCategory: typeof plugins.getPluginsByCategory;
|
|
15
|
+
export declare const listPlugins: typeof plugins.listPlugins;
|
|
16
|
+
export declare const loadAllPlugins: typeof plugins.loadAllPlugins;
|
|
17
|
+
export declare const loadRelevantPlugins: typeof plugins.loadRelevantPlugins;
|
|
18
|
+
export declare const createPluginInstance: typeof plugins.createPluginInstance;
|
|
19
|
+
export declare const createSecretStore: typeof plugins.createSecretStore;
|
|
20
|
+
export declare const loadExternalPlugins: typeof plugins.loadExternalPlugins;
|
|
21
|
+
export declare const isApprovedPlugin: typeof plugins.isApprovedPlugin;
|
|
22
|
+
export declare const collectConfigSchemas: typeof plugins.collectConfigSchemas;
|
|
23
|
+
export declare const collectAutoConfigSchemas: typeof plugins.collectAutoConfigSchemas;
|
|
24
|
+
export declare const detectAllConfigs: typeof plugins.detectAllConfigs;
|
|
25
|
+
export declare const registry: plugins.PluginRegistry;
|
|
26
|
+
export { scanRepos, loadConfigs, generateDockerCompose, generateNginx };
|
|
27
|
+
declare const _default: {
|
|
28
|
+
plugins: typeof plugins;
|
|
29
|
+
registerPlugin: typeof plugins.registerPlugin;
|
|
30
|
+
getPlugin: typeof plugins.getPlugin;
|
|
31
|
+
listPlugins: typeof plugins.listPlugins;
|
|
32
|
+
createSecretStore: typeof plugins.createSecretStore;
|
|
33
|
+
scanRepos: typeof scanRepos;
|
|
34
|
+
loadConfigs: typeof loadConfigs;
|
|
35
|
+
generateDockerCompose: typeof generateDockerCompose;
|
|
36
|
+
generateNginx: typeof generateNginx;
|
|
37
|
+
};
|
|
38
|
+
export default _default;
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,aAAa,EACd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,cAAc,kBAAkB,CAAC;AAGjC,eAAO,MAAM,cAAc,+BAAyB,CAAC;AACrD,eAAO,MAAM,SAAS,0BAAoB,CAAC;AAC3C,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,WAAW,4BAAsB,CAAC;AAC/C,eAAO,MAAM,cAAc,+BAAyB,CAAC;AACrD,eAAO,MAAM,mBAAmB,oCAA8B,CAAC;AAC/D,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,iBAAiB,kCAA4B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,oCAA8B,CAAC;AAC/D,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AACzD,eAAO,MAAM,oBAAoB,qCAA+B,CAAC;AACjE,eAAO,MAAM,wBAAwB,yCAAmC,CAAC;AACzE,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AACzD,eAAO,MAAM,QAAQ,wBAAmB,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;;;;;;;;;;;;AAGxE,wBAUE"}
|