@factiii/stack 0.1.24 → 0.1.26
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 +81 -60
- package/bin/{factiii → stack} +12 -12
- package/dist/cli/check-config.js +1 -1
- package/dist/cli/check-config.js.map +1 -1
- package/dist/cli/deploy-secrets.d.ts.map +1 -1
- package/dist/cli/deploy-secrets.js +11 -11
- package/dist/cli/deploy-secrets.js.map +1 -1
- package/dist/cli/deploy.d.ts.map +1 -1
- package/dist/cli/deploy.js +19 -9
- package/dist/cli/deploy.js.map +1 -1
- package/dist/cli/dev-sync.d.ts.map +1 -1
- package/dist/cli/dev-sync.js +10 -9
- package/dist/cli/dev-sync.js.map +1 -1
- package/dist/cli/execute-plugin-command.d.ts.map +1 -1
- package/dist/cli/execute-plugin-command.js +7 -7
- package/dist/cli/execute-plugin-command.js.map +1 -1
- package/dist/cli/fix.d.ts.map +1 -1
- package/dist/cli/fix.js +24 -4
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/init.d.ts +3 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +382 -69
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/pr-check.d.ts.map +1 -1
- package/dist/cli/pr-check.js +5 -4
- package/dist/cli/pr-check.js.map +1 -1
- package/dist/cli/scan.d.ts +6 -6
- package/dist/cli/scan.d.ts.map +1 -1
- package/dist/cli/scan.js +46 -30
- package/dist/cli/scan.js.map +1 -1
- package/dist/cli/secrets.d.ts.map +1 -1
- package/dist/cli/secrets.js +17 -16
- package/dist/cli/secrets.js.map +1 -1
- package/dist/cli/undeploy.d.ts.map +1 -1
- package/dist/cli/undeploy.js +4 -4
- package/dist/cli/undeploy.js.map +1 -1
- package/dist/cli/upgrade.d.ts +1 -1
- package/dist/cli/upgrade.js +5 -5
- package/dist/cli/upgrade.js.map +1 -1
- package/dist/cli/validate.js +1 -1
- package/dist/cli/validate.js.map +1 -1
- package/dist/constants/config-files.d.ts +23 -0
- package/dist/constants/config-files.d.ts.map +1 -0
- package/dist/constants/config-files.js +88 -0
- package/dist/constants/config-files.js.map +1 -0
- package/dist/generators/{generate-factiii-auto.d.ts → generate-stack-auto.d.ts} +4 -4
- package/dist/generators/generate-stack-auto.d.ts.map +1 -0
- package/dist/generators/{generate-factiii-auto.js → generate-stack-auto.js} +15 -13
- package/dist/generators/generate-stack-auto.js.map +1 -0
- package/dist/generators/{generate-factiii-yml.d.ts → generate-stack-yml.d.ts} +5 -5
- package/dist/generators/generate-stack-yml.d.ts.map +1 -0
- package/dist/generators/{generate-factiii-yml.js → generate-stack-yml.js} +16 -15
- package/dist/generators/generate-stack-yml.js.map +1 -0
- package/dist/generators/index.d.ts +2 -2
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +5 -5
- package/dist/generators/index.js.map +1 -1
- package/dist/plugins/pipelines/aws/index.js +3 -3
- package/dist/plugins/pipelines/aws/index.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.d.ts.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/credentials.js +36 -44
- package/dist/plugins/pipelines/aws/scanfix/credentials.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ec2.js +1 -1
- package/dist/plugins/pipelines/aws/scanfix/ec2.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/iam.js +2 -2
- package/dist/plugins/pipelines/aws/scanfix/iam.js.map +1 -1
- package/dist/plugins/pipelines/aws/scanfix/rds.js +2 -2
- package/dist/plugins/pipelines/aws/scanfix/rds.js.map +1 -1
- package/dist/plugins/pipelines/factiii/index.d.ts +5 -3
- package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/index.js +14 -77
- package/dist/plugins/pipelines/factiii/index.js.map +1 -1
- package/dist/plugins/pipelines/factiii/pr-check.d.ts +1 -1
- package/dist/plugins/pipelines/factiii/pr-check.js +1 -1
- package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/prod.js +3 -3
- package/dist/plugins/pipelines/factiii/prod.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/config.js +10 -11
- package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts +12 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.js +310 -0
- package/dist/plugins/pipelines/factiii/scanfix/env-files.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts +7 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.d.ts.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.js +70 -0
- package/dist/plugins/pipelines/factiii/scanfix/local-config.js.map +1 -0
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js +6 -6
- package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js +16 -26
- package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -1
- package/dist/plugins/pipelines/factiii/staging.d.ts +1 -1
- package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/staging.js +3 -2
- package/dist/plugins/pipelines/factiii/staging.js.map +1 -1
- package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -1
- package/dist/plugins/pipelines/factiii/utils/workflows.js +6 -21
- package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -1
- package/dist/plugins/pipelines/factiii/workflows/stack-ci.yml +56 -0
- package/dist/plugins/pipelines/factiii/workflows/stack-cicd-prod.yml +54 -0
- package/dist/plugins/servers/mac/scanfix/containers.js +1 -1
- package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -1
- package/dist/scanfix/fixes/pnpm.d.ts.map +1 -1
- package/dist/scanfix/fixes/pnpm.js +2 -2
- package/dist/scanfix/fixes/pnpm.js.map +1 -1
- package/dist/scripts/generate-all.d.ts.map +1 -1
- package/dist/scripts/generate-all.js +9 -8
- package/dist/scripts/generate-all.js.map +1 -1
- package/dist/scripts/get-repo-name.d.ts +1 -1
- package/dist/scripts/get-repo-name.js +5 -3
- package/dist/scripts/get-repo-name.js.map +1 -1
- package/dist/scripts/validate-env-files.js +7 -1
- package/dist/scripts/validate-env-files.js.map +1 -1
- package/dist/scripts/validate-example-values.d.ts +1 -1
- package/dist/scripts/validate-example-values.js +3 -2
- package/dist/scripts/validate-example-values.js.map +1 -1
- package/dist/scripts/validate-stack-yml.d.ts +6 -0
- package/dist/scripts/validate-stack-yml.d.ts.map +1 -0
- package/dist/scripts/{validate-factiii-yml.js → validate-stack-yml.js} +15 -11
- package/dist/scripts/validate-stack-yml.js.map +1 -0
- package/dist/utils/config-helpers.d.ts +15 -0
- package/dist/utils/config-helpers.d.ts.map +1 -1
- package/dist/utils/config-helpers.js +57 -5
- package/dist/utils/config-helpers.js.map +1 -1
- package/dist/utils/config-validator.d.ts +2 -2
- package/dist/utils/config-validator.d.ts.map +1 -1
- package/dist/utils/config-validator.js +7 -6
- package/dist/utils/config-validator.js.map +1 -1
- package/dist/utils/config-writer.d.ts +2 -2
- package/dist/utils/config-writer.d.ts.map +1 -1
- package/dist/utils/config-writer.js +6 -6
- package/dist/utils/config-writer.js.map +1 -1
- package/dist/utils/deployment-report.js +4 -4
- package/dist/utils/deployment-report.js.map +1 -1
- package/dist/utils/ssh-helper.js +6 -6
- package/dist/utils/ssh-helper.js.map +1 -1
- package/dist/utils/template-generator.js +1 -1
- package/dist/utils/version-check.d.ts +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +9 -8
- package/dist/utils/version-check.js.map +1 -1
- package/package.json +8 -2
- package/dist/generators/generate-factiii-auto.d.ts.map +0 -1
- package/dist/generators/generate-factiii-auto.js.map +0 -1
- package/dist/generators/generate-factiii-yml.d.ts.map +0 -1
- package/dist/generators/generate-factiii-yml.js.map +0 -1
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +0 -112
- package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +0 -117
- package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +0 -130
- package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +0 -198
- package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +0 -179
- package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +0 -176
- package/dist/plugins/pipelines/factiii/workflows/factiii-pr-check.yml +0 -103
- package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +0 -176
- package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +0 -95
- package/dist/scripts/validate-factiii-yml.d.ts +0 -6
- package/dist/scripts/validate-factiii-yml.d.ts.map +0 -1
- package/dist/scripts/validate-factiii-yml.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
|
-
* Validates that
|
|
4
|
+
* Validates that stack.yml doesn't contain EXAMPLE- placeholder values
|
|
5
5
|
* This script properly parses YAML and ignores comments
|
|
6
6
|
* Use this in workflows instead of grep to avoid false positives from documentation
|
|
7
7
|
*/
|
|
@@ -44,7 +44,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
const fs = __importStar(require("fs"));
|
|
46
46
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
47
|
-
const
|
|
47
|
+
const config_files_js_1 = require("../constants/config-files.js");
|
|
48
|
+
const configPath = process.argv[2] ?? (0, config_files_js_1.getStackConfigPath)(process.cwd());
|
|
48
49
|
if (!fs.existsSync(configPath)) {
|
|
49
50
|
console.log(`❌ ${configPath} not found`);
|
|
50
51
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-example-values.js","sourceRoot":"","sources":["../../src/scripts/validate-example-values.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,sDAA2B;
|
|
1
|
+
{"version":3,"file":"validate-example-values.js","sourceRoot":"","sources":["../../src/scripts/validate-example-values.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,sDAA2B;AAC3B,kEAAkE;AAOlE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,oCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAExE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,0DAA0D;IAC1D,2EAA2E;IAC3E,SAAS,eAAe,CAAC,GAAY,EAAE,OAAe,EAAE;QACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;gBAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9C,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,UAAU,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,UAAU,GAAG,GAAG,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-stack-yml.d.ts","sourceRoot":"","sources":["../../src/scripts/validate-stack-yml.ts"],"names":[],"mappings":";AAEA;;GAEG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
|
-
* Validates factiii.yml configuration file
|
|
4
|
+
* Validates stack.yml (or factiii.yml) configuration file
|
|
5
5
|
*/
|
|
6
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
7
|
if (k2 === undefined) k2 = k;
|
|
@@ -42,22 +42,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
const fs = __importStar(require("fs"));
|
|
44
44
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
45
|
+
const config_files_js_1 = require("../constants/config-files.js");
|
|
45
46
|
try {
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
const configPath = (0, config_files_js_1.getStackConfigPath)(process.cwd());
|
|
48
|
+
if (!fs.existsSync(configPath)) {
|
|
49
|
+
console.log('[ERROR] stack.yml or factiii.yml not found');
|
|
48
50
|
process.exit(1);
|
|
49
51
|
}
|
|
50
|
-
console.log('[OK]
|
|
51
|
-
const config = js_yaml_1.default.load(fs.readFileSync(
|
|
52
|
+
console.log('[OK] Config file exists');
|
|
53
|
+
const config = js_yaml_1.default.load(fs.readFileSync(configPath, 'utf8'));
|
|
52
54
|
if (!config?.name) {
|
|
53
|
-
console.log('[ERROR]
|
|
55
|
+
console.log('[ERROR] Config missing required field: name');
|
|
54
56
|
process.exit(1);
|
|
55
57
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
const hasEnvironments = config?.environments && Object.keys(config.environments).length > 0;
|
|
59
|
+
const hasTopLevelEnv = !!(config && ('staging' in config || 'prod' in config));
|
|
60
|
+
if (!hasEnvironments && !hasTopLevelEnv) {
|
|
61
|
+
console.log('[ERROR] Config must have environments or top-level staging/prod');
|
|
58
62
|
process.exit(1);
|
|
59
63
|
}
|
|
60
|
-
console.log('[OK]
|
|
64
|
+
console.log('[OK] Config is valid');
|
|
61
65
|
const githubOutput = process.env.GITHUB_OUTPUT;
|
|
62
66
|
if (githubOutput) {
|
|
63
67
|
fs.appendFileSync(githubOutput, 'repo-name=' + config.name + '\n');
|
|
@@ -65,7 +69,7 @@ try {
|
|
|
65
69
|
}
|
|
66
70
|
catch (e) {
|
|
67
71
|
const errorMessage = e instanceof Error ? e.message : String(e);
|
|
68
|
-
console.log('[ERROR]
|
|
72
|
+
console.log('[ERROR] Config has syntax errors:', errorMessage);
|
|
69
73
|
process.exit(1);
|
|
70
74
|
}
|
|
71
|
-
//# sourceMappingURL=validate-
|
|
75
|
+
//# sourceMappingURL=validate-stack-yml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-stack-yml.js","sourceRoot":"","sources":["../../src/scripts/validate-stack-yml.ts"],"names":[],"mappings":";;AAEA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,sDAA2B;AAC3B,kEAAkE;AAOlE,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAyB,CAAC;IACtF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,YAAY,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -68,5 +68,20 @@ export declare function getUsedPlugins(config: FactiiiConfig): Set<string>;
|
|
|
68
68
|
* @param name - Environment name to validate
|
|
69
69
|
* @returns Error message if invalid, null if valid
|
|
70
70
|
*/
|
|
71
|
+
/**
|
|
72
|
+
* Local config interface (stack.local.yml)
|
|
73
|
+
* Per-developer settings that are gitignored
|
|
74
|
+
*/
|
|
75
|
+
export interface LocalConfig {
|
|
76
|
+
dev_os?: 'mac' | 'windows' | 'ubuntu';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Load local config from stack.local.yml (or factiii.local.yml)
|
|
80
|
+
* Returns empty object if file doesn't exist
|
|
81
|
+
*
|
|
82
|
+
* @param rootDir - Root directory of the project
|
|
83
|
+
* @returns Parsed local config or empty object
|
|
84
|
+
*/
|
|
85
|
+
export declare function loadLocalConfig(rootDir: string): LocalConfig;
|
|
71
86
|
export declare function validateEnvironmentName(name: string): string | null;
|
|
72
87
|
//# sourceMappingURL=config-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sKAWvB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAW5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE"}
|
|
@@ -5,6 +5,42 @@
|
|
|
5
5
|
* Helper functions for working with factiii.yml config where
|
|
6
6
|
* environments are stored as top-level keys.
|
|
7
7
|
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
8
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
45
|
exports.RESERVED_CONFIG_KEYS = void 0;
|
|
10
46
|
exports.extractEnvironments = extractEnvironments;
|
|
@@ -12,7 +48,11 @@ exports.getStageFromEnvironment = getStageFromEnvironment;
|
|
|
12
48
|
exports.getEnvironmentsForStage = getEnvironmentsForStage;
|
|
13
49
|
exports.getUsedServerPlugins = getUsedServerPlugins;
|
|
14
50
|
exports.getUsedPlugins = getUsedPlugins;
|
|
51
|
+
exports.loadLocalConfig = loadLocalConfig;
|
|
15
52
|
exports.validateEnvironmentName = validateEnvironmentName;
|
|
53
|
+
const fs = __importStar(require("fs"));
|
|
54
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
55
|
+
const config_files_js_1 = require("../constants/config-files.js");
|
|
16
56
|
// ============================================================
|
|
17
57
|
// CRITICAL: Config Environment Extraction
|
|
18
58
|
// ============================================================
|
|
@@ -142,13 +182,25 @@ function getUsedPlugins(config) {
|
|
|
142
182
|
return plugins;
|
|
143
183
|
}
|
|
144
184
|
/**
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* and follows naming conventions
|
|
185
|
+
* Load local config from stack.local.yml (or factiii.local.yml)
|
|
186
|
+
* Returns empty object if file doesn't exist
|
|
148
187
|
*
|
|
149
|
-
* @param
|
|
150
|
-
* @returns
|
|
188
|
+
* @param rootDir - Root directory of the project
|
|
189
|
+
* @returns Parsed local config or empty object
|
|
151
190
|
*/
|
|
191
|
+
function loadLocalConfig(rootDir) {
|
|
192
|
+
const localPath = (0, config_files_js_1.getStackLocalPath)(rootDir);
|
|
193
|
+
if (!fs.existsSync(localPath)) {
|
|
194
|
+
return {};
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
const content = fs.readFileSync(localPath, 'utf8');
|
|
198
|
+
return js_yaml_1.default.load(content) ?? {};
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
return {};
|
|
202
|
+
}
|
|
203
|
+
}
|
|
152
204
|
function validateEnvironmentName(name) {
|
|
153
205
|
// Check for reserved key conflicts
|
|
154
206
|
if (exports.RESERVED_CONFIG_KEYS.includes(name)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Config Validator
|
|
3
3
|
*
|
|
4
|
-
* Validates
|
|
4
|
+
* Validates stack.yml configuration and workflow sync.
|
|
5
5
|
*/
|
|
6
6
|
import type { EnvironmentConfig } from '../types/index.js';
|
|
7
7
|
interface WorkflowConfig {
|
|
@@ -22,7 +22,7 @@ interface ValidationResult {
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function extractWorkflowConfig(workflowPath: string): WorkflowConfig | null;
|
|
24
24
|
/**
|
|
25
|
-
* Compare
|
|
25
|
+
* Compare stack.yml with generated workflows
|
|
26
26
|
*/
|
|
27
27
|
export declare function validateConfigSync(rootDir: string): ValidationResult;
|
|
28
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAiB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,UAAU,cAAc;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAgBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAyCjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CA8DpE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Config Validator
|
|
4
4
|
*
|
|
5
|
-
* Validates
|
|
5
|
+
* Validates stack.yml configuration and workflow sync.
|
|
6
6
|
*/
|
|
7
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
8
|
if (k2 === undefined) k2 = k;
|
|
@@ -46,6 +46,7 @@ exports.validateConfigSync = validateConfigSync;
|
|
|
46
46
|
const fs = __importStar(require("fs"));
|
|
47
47
|
const path = __importStar(require("path"));
|
|
48
48
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
49
|
+
const config_files_js_1 = require("../constants/config-files.js");
|
|
49
50
|
/**
|
|
50
51
|
* Extract config values from workflow file
|
|
51
52
|
*/
|
|
@@ -88,13 +89,13 @@ function extractWorkflowConfig(workflowPath) {
|
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
/**
|
|
91
|
-
* Compare
|
|
92
|
+
* Compare stack.yml with generated workflows
|
|
92
93
|
*/
|
|
93
94
|
function validateConfigSync(rootDir) {
|
|
94
|
-
const configPath =
|
|
95
|
-
const workflowPath = path.join(rootDir, '.github/workflows/
|
|
95
|
+
const configPath = (0, config_files_js_1.getStackConfigPath)(rootDir);
|
|
96
|
+
const workflowPath = path.join(rootDir, '.github/workflows/stack-deploy.yml');
|
|
96
97
|
if (!fs.existsSync(configPath)) {
|
|
97
|
-
return { valid: false, error: '
|
|
98
|
+
return { valid: false, error: 'stack.yml not found' };
|
|
98
99
|
}
|
|
99
100
|
if (!fs.existsSync(workflowPath)) {
|
|
100
101
|
return { valid: false, error: 'Workflows not generated', needsGeneration: true };
|
|
@@ -109,7 +110,7 @@ function validateConfigSync(rootDir) {
|
|
|
109
110
|
return {
|
|
110
111
|
valid: false,
|
|
111
112
|
drift: true,
|
|
112
|
-
message: '
|
|
113
|
+
message: 'Config modified after workflows were generated',
|
|
113
114
|
needsRegeneration: true,
|
|
114
115
|
};
|
|
115
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/utils/config-validator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../src/utils/config-validator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCH,sDAyCC;AAKD,gDA8DC;AAnJD,uCAAyB;AACzB,2CAA6B;AAC7B,sDAA2B;AAE3B,kEAAkE;AAgClE;;GAEG;AACH,SAAgB,qBAAqB,CAAC,YAAoB;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,iBAAI,CAAC,IAAI,CAAC,OAAO,CAAoB,CAAC;QAEvD,wCAAwC;QACxC,kDAAkD;QAClD,MAAM,MAAM,GAAmB;YAC7B,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,0CAA0C;QAC1C,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,kDAAkD;gBAClD,kCAAkC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAClD,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC7B,4BAA4B;oBAC5B,IAAI,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACxK,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAE9E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACnF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAkB,CAAC;QAE/E,mDAAmD;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,gDAAgD;gBACzD,iBAAiB,EAAE,IAAI;aACxB,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,oDAAoD;QACpD,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEjD,wEAAwE;QACxE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,8CAA8C;YAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC7D,UAAU,CAAC,IAAI,CAAC,gBAAgB,OAAO,yBAAyB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI;gBACX,UAAU;gBACV,iBAAiB,EAAE,IAAI;aACxB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Config Writer Utility
|
|
3
3
|
*
|
|
4
|
-
* Updates values in
|
|
4
|
+
* Updates values in stack.yml while preserving formatting.
|
|
5
5
|
* Used by fixes that need to write back discovered values (e.g., Elastic IP → prod.domain).
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Update a nested value in factiii.yml
|
|
8
|
+
* Update a nested value in stack.yml (or legacy factiii.yml)
|
|
9
9
|
*
|
|
10
10
|
* @param rootDir - Project root directory
|
|
11
11
|
* @param keyPath - Dot-separated path (e.g., 'prod.domain')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/utils/config-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/utils/config-writer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CA0C1F"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Config Writer Utility
|
|
4
4
|
*
|
|
5
|
-
* Updates values in
|
|
5
|
+
* Updates values in stack.yml while preserving formatting.
|
|
6
6
|
* Used by fixes that need to write back discovered values (e.g., Elastic IP → prod.domain).
|
|
7
7
|
*/
|
|
8
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
@@ -44,10 +44,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
exports.updateConfigValue = updateConfigValue;
|
|
46
46
|
const fs = __importStar(require("fs"));
|
|
47
|
-
const path = __importStar(require("path"));
|
|
48
47
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
48
|
+
const config_files_js_1 = require("../constants/config-files.js");
|
|
49
49
|
/**
|
|
50
|
-
* Update a nested value in factiii.yml
|
|
50
|
+
* Update a nested value in stack.yml (or legacy factiii.yml)
|
|
51
51
|
*
|
|
52
52
|
* @param rootDir - Project root directory
|
|
53
53
|
* @param keyPath - Dot-separated path (e.g., 'prod.domain')
|
|
@@ -55,7 +55,7 @@ const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
|
55
55
|
* @returns true if updated successfully
|
|
56
56
|
*/
|
|
57
57
|
function updateConfigValue(rootDir, keyPath, value) {
|
|
58
|
-
const configPath =
|
|
58
|
+
const configPath = (0, config_files_js_1.getStackConfigPath)(rootDir);
|
|
59
59
|
if (!fs.existsSync(configPath)) {
|
|
60
60
|
return false;
|
|
61
61
|
}
|
|
@@ -84,11 +84,11 @@ function updateConfigValue(rootDir, keyPath, value) {
|
|
|
84
84
|
forceQuotes: false,
|
|
85
85
|
});
|
|
86
86
|
fs.writeFileSync(configPath, newContent, 'utf8');
|
|
87
|
-
console.log(' Updated
|
|
87
|
+
console.log(' Updated config: ' + keyPath + ' = ' + value + (oldValue ? ' (was: ' + oldValue + ')' : ''));
|
|
88
88
|
return true;
|
|
89
89
|
}
|
|
90
90
|
catch (e) {
|
|
91
|
-
console.log(' [!] Failed to update
|
|
91
|
+
console.log(' [!] Failed to update config: ' + (e instanceof Error ? e.message : String(e)));
|
|
92
92
|
return false;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/utils/config-writer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config-writer.js","sourceRoot":"","sources":["../../src/utils/config-writer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,8CA0CC;AAxDD,uCAAyB;AAEzB,sDAA2B;AAC3B,kEAAkE;AAGlE;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,OAAe,EAAE,OAAe,EAAE,KAAa;IAC/E,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAI,iBAAI,CAAC,IAAI,CAAC,OAAO,CAA6B,IAAI,EAAE,CAAC;QAErE,2CAA2C;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,IAAI,OAAO,GAA4B,MAAM,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAEzB,aAAa;QACb,MAAM,UAAU,GAAG,iBAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACnC,SAAS,EAAE,CAAC,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -24,7 +24,7 @@ function formatDeploymentReport(data) {
|
|
|
24
24
|
if (localChecks) {
|
|
25
25
|
lines.push('LOCAL CONFIGURATION');
|
|
26
26
|
if (localChecks.coreYml) {
|
|
27
|
-
lines.push(` [OK]
|
|
27
|
+
lines.push(` [OK] stack.yml valid (${repoName})`);
|
|
28
28
|
}
|
|
29
29
|
if (localChecks.dockerfile) {
|
|
30
30
|
lines.push(' [OK] Dockerfile found');
|
|
@@ -194,16 +194,16 @@ function generateSummary(_localChecks, secretsCheck, serverChecks) {
|
|
|
194
194
|
}
|
|
195
195
|
// If ready, add deployment instructions
|
|
196
196
|
if (summary.ready && summary.warnings === 0) {
|
|
197
|
-
summary.nextSteps.push('Run: npx
|
|
197
|
+
summary.nextSteps.push('Run: npx stack deploy --environment staging');
|
|
198
198
|
summary.nextSteps.push('Or push to main branch to trigger automatic deployment');
|
|
199
199
|
}
|
|
200
200
|
else if (summary.ready && summary.warnings > 0) {
|
|
201
201
|
summary.nextSteps.push('Review warnings above');
|
|
202
|
-
summary.nextSteps.push('Run: npx
|
|
202
|
+
summary.nextSteps.push('Run: npx stack deploy (deployment will proceed with warnings)');
|
|
203
203
|
}
|
|
204
204
|
else {
|
|
205
205
|
summary.nextSteps.push('Fix errors above');
|
|
206
|
-
summary.nextSteps.push('Run: npx
|
|
206
|
+
summary.nextSteps.push('Run: npx stack (to verify fixes)');
|
|
207
207
|
}
|
|
208
208
|
return summary;
|
|
209
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-report.js","sourceRoot":"","sources":["../../src/utils/deployment-report.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoFH,wDA2JC;AAKD,sDAOC;AAKD,0CAkDC;AAKD,8CAaC;AAnPD;;GAEG;AACH,SAAgB,sBAAsB,CAAC,IAAgB;IACrD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE5E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEjC,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,sBAAsB;IACtB,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"deployment-report.js","sourceRoot":"","sources":["../../src/utils/deployment-report.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoFH,wDA2JC;AAKD,sDAOC;AAKD,0CAkDC;AAKD,8CAaC;AAnPD;;GAEG;AACH,SAAgB,sBAAsB,CAAC,IAAgB;IACrD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE5E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEjC,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,sBAAsB;IACtB,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,2BAA2B,QAAQ,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CACR,wBAAwB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,iBAAiB;IACjB,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE7B,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,SAAS,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;YAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAEjD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,YAAY,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAEjE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAE/C,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACzD,CAAC;gBAED,gCAAgC;gBAChC,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC;oBAC9E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClD,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,QAAQ,aAAa,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBAED,2BAA2B;gBAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;gBAEzC,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACtD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC1E,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;wBACvC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;wBAE1D,sBAAsB;wBACtB,IACE,MAAM,CAAC,WAAW,CAAC,UAAU;4BAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EACxC,CAAC;4BACD,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;4BACtC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gCAC3D,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;4BAC1E,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAChF,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE5C,IAAI,KAAK,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CACR,sBAAsB,MAAM,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,WAAW,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAC7G,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,wBAAwB,QAAQ,WAAW,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,aAAa;IACb,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAgB;IACpD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE5C,4DAA4D;IAC5D,OAAO;EACP,MAAM;OACD,CAAC;AACR,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,YAAqC,EACrC,YAAsC,EACtC,YAAuC;IAEvC,MAAM,OAAO,GAAY;QACvB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,4BAA4B;IAC5B,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;YAChD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACnF,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,YAA0B;IAC1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAEnE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,kBAAkB;QAC7E,UAAU,EAAE,IAAI,EAAE,6BAA6B;QAC/C,GAAG,EAAE,QAAQ,CAAC,MAAM;QACpB,MAAM,EAAE,QAAQ,CAAC,aAAa;QAC9B,SAAS,EAAE,SAAS,CAAC,QAAQ;QAC7B,OAAO,EACL,WAAW,CAAC,cAAc;YAC1B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC"}
|
package/dist/utils/ssh-helper.js
CHANGED
|
@@ -45,7 +45,7 @@ exports.sshExec = sshExec;
|
|
|
45
45
|
*
|
|
46
46
|
* Supports environment-specific deploy keys only:
|
|
47
47
|
* - ~/.ssh/staging_deploy_key, ~/.ssh/prod_deploy_key, ~/.ssh/mac_deploy_key
|
|
48
|
-
* - Generated by: npx
|
|
48
|
+
* - Generated by: npx stack secrets write-ssh-keys
|
|
49
49
|
*/
|
|
50
50
|
const child_process_1 = require("child_process");
|
|
51
51
|
const os = __importStar(require("os"));
|
|
@@ -54,7 +54,7 @@ const fs = __importStar(require("fs"));
|
|
|
54
54
|
const config_helpers_js_1 = require("./config-helpers.js");
|
|
55
55
|
/**
|
|
56
56
|
* Map of stage names to their environment-specific SSH key filenames.
|
|
57
|
-
* These keys are extracted from Ansible Vault by `npx
|
|
57
|
+
* These keys are extracted from Ansible Vault by `npx stack secrets write-ssh-keys`.
|
|
58
58
|
*/
|
|
59
59
|
const STAGE_KEY_MAP = {
|
|
60
60
|
staging: ['staging_deploy_key'],
|
|
@@ -126,7 +126,7 @@ function sshRemoteFactiiiCommand(stage, config, command) {
|
|
|
126
126
|
return {
|
|
127
127
|
success: false,
|
|
128
128
|
stdout: '',
|
|
129
|
-
stderr: 'No SSH key found at ' + path.join(os.homedir(), '.ssh', stage + '_deploy_key') + '. Run: npx
|
|
129
|
+
stderr: 'No SSH key found at ' + path.join(os.homedir(), '.ssh', stage + '_deploy_key') + '. Run: npx stack secrets write-ssh-keys',
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
if (!host) {
|
|
@@ -140,8 +140,8 @@ function sshRemoteFactiiiCommand(stage, config, command) {
|
|
|
140
140
|
// Run inside the factiii repo directory on the server
|
|
141
141
|
// $HOME is expanded by the remote shell, supporting non-root users
|
|
142
142
|
const repoName = config.name || 'app';
|
|
143
|
-
const remoteCommand = 'export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH" && export FACTIII_ON_SERVER=true && cd $HOME/.factiii/' + repoName + ' && npx
|
|
144
|
-
console.log(' SSH: ' + user + '@' + host + ' → npx
|
|
143
|
+
const remoteCommand = 'export PATH="/usr/local/bin:/opt/homebrew/bin:$PATH" && export FACTIII_ON_SERVER=true && cd $HOME/.factiii/' + repoName + ' && npx stack ' + command;
|
|
144
|
+
console.log(' SSH: ' + user + '@' + host + ' → npx stack ' + command);
|
|
145
145
|
console.log(' Connecting to ' + host + '... (timeout: 10min)');
|
|
146
146
|
const startTime = Date.now();
|
|
147
147
|
const result = (0, child_process_1.spawnSync)('ssh', [
|
|
@@ -214,7 +214,7 @@ async function sshExec(envConfig, command, stage) {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
if (!keyPath) {
|
|
217
|
-
throw new Error('No SSH key found. Add a deploy key to ~/.ssh/ or run: npx
|
|
217
|
+
throw new Error('No SSH key found. Add a deploy key to ~/.ssh/ or run: npx stack secrets write-ssh-keys');
|
|
218
218
|
}
|
|
219
219
|
const result = (0, child_process_1.execSync)('ssh -i ' + keyPath +
|
|
220
220
|
' -o StrictHostKeyChecking=no' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-helper.js","sourceRoot":"","sources":["../../src/utils/ssh-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,gDAYC;AAUD,oDAiBC;AAWD,0DA2EC;AASD,0BA6DC;AAtOD;;;;;;;;;GASG;AACH,iDAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGzB,2DAAmF;AAEnF;;;GAGG;AACH,MAAM,aAAa,GAA6B;IAC9C,OAAO,EAAE,CAAC,oBAAoB,CAAC;IAC/B,IAAI,EAAE,CAAC,iBAAiB,CAAC;IACzB,GAAG,EAAE,CAAC,gBAAgB,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAClC,KAAY,EACZ,MAAqB;IAErB,MAAM,YAAY,GAAG,IAAA,uCAAmB,EAAC,MAAM,CAAC,CAAC;IAEjD,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC;YACH,IAAI,IAAA,2CAAuB,EAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/C,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACrC,KAAY,EACZ,MAAqB,EACrB,OAAe;IAEf,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,yCAAyC,GAAG,KAAK;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,aAAa,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"ssh-helper.js","sourceRoot":"","sources":["../../src/utils/ssh-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,7 +124,7 @@ function generateEnvTemplate(environment, devEnv) {
|
|
|
124
124
|
# Instructions:
|
|
125
125
|
# 1. Replace all <FILL_IN> values with real ${environment} values
|
|
126
126
|
# 2. Ensure all keys match .env.example
|
|
127
|
-
# 3. Run: npx
|
|
127
|
+
# 3. Run: npx stack (to validate)
|
|
128
128
|
`;
|
|
129
129
|
return template;
|
|
130
130
|
}
|
|
@@ -50,7 +50,7 @@ export declare function isCompatible(current: string, minimum: string): boolean;
|
|
|
50
50
|
*/
|
|
51
51
|
export declare function isBreakingUpgrade(from: string, to: string): boolean;
|
|
52
52
|
/**
|
|
53
|
-
* Read version info from factiiiAuto.yml
|
|
53
|
+
* Read version info from stackAuto.yml (or legacy factiiiAuto.yml)
|
|
54
54
|
* @param rootDir - Project root directory
|
|
55
55
|
*/
|
|
56
56
|
export declare function readFactiiiAutoVersion(rootDir: string): FactiiiAutoVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAU1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAWlE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAMnE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAoB1E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CA2C/E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAuB9D"}
|