@factiii/stack 0.1.116 → 0.1.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/generators/generate-stack-yml.d.ts.map +1 -1
  2. package/dist/generators/generate-stack-yml.js +30 -2
  3. package/dist/generators/generate-stack-yml.js.map +1 -1
  4. package/dist/plugins/addons/auth/index.d.ts +12 -12
  5. package/dist/plugins/addons/auth/index.d.ts.map +1 -1
  6. package/dist/plugins/addons/auth/index.js +43 -19
  7. package/dist/plugins/addons/auth/index.js.map +1 -1
  8. package/dist/plugins/addons/auth/scanfix/setup.d.ts +7 -5
  9. package/dist/plugins/addons/auth/scanfix/setup.d.ts.map +1 -1
  10. package/dist/plugins/addons/auth/scanfix/setup.js +42 -128
  11. package/dist/plugins/addons/auth/scanfix/setup.js.map +1 -1
  12. package/dist/plugins/pipelines/aws/prod.js +2 -2
  13. package/dist/plugins/pipelines/aws/prod.js.map +1 -1
  14. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -1
  15. package/dist/plugins/pipelines/factiii/index.js +2 -0
  16. package/dist/plugins/pipelines/factiii/index.js.map +1 -1
  17. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -1
  18. package/dist/plugins/pipelines/factiii/scanfix/config.js +4 -3
  19. package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -1
  20. package/dist/plugins/pipelines/factiii/scanfix/db-seed.d.ts +10 -0
  21. package/dist/plugins/pipelines/factiii/scanfix/db-seed.d.ts.map +1 -0
  22. package/dist/plugins/pipelines/factiii/scanfix/db-seed.js +220 -0
  23. package/dist/plugins/pipelines/factiii/scanfix/db-seed.js.map +1 -0
  24. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -1
  25. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +16 -0
  26. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -1
  27. package/dist/plugins/servers/mac/staging.js +2 -2
  28. package/dist/plugins/servers/mac/staging.js.map +1 -1
  29. package/dist/scanfix/fixes/certbot.d.ts.map +1 -1
  30. package/dist/scanfix/fixes/certbot.js +3 -2
  31. package/dist/scanfix/fixes/certbot.js.map +1 -1
  32. package/dist/types/config.d.ts +1 -0
  33. package/dist/types/config.d.ts.map +1 -1
  34. package/dist/types/plugin.d.ts +13 -0
  35. package/dist/types/plugin.d.ts.map +1 -1
  36. package/package.json +94 -93
@@ -1 +1 @@
1
- {"version":3,"file":"generate-stack-yml.d.ts","sourceRoot":"","sources":["../../src/generators/generate-stack-yml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkDH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAkMjG"}
1
+ {"version":3,"file":"generate-stack-yml.d.ts","sourceRoot":"","sources":["../../src/generators/generate-stack-yml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkDH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CA+NjG"}
@@ -125,17 +125,18 @@ function generateSmartStackYml(rootDir, options = {}) {
125
125
  name,
126
126
  config_version: '0.1.0',
127
127
  github_repo: githubRepo,
128
- ssl_email: 'EXAMPLE_admin@yourdomain.com',
129
128
  pipeline: 'factiii',
130
129
  staging: {
131
130
  server: stagingServer,
132
131
  domain: 'EXAMPLE_staging.yourdomain.com',
132
+ ssl_email: 'EXAMPLE_admin@yourdomain.com',
133
133
  ssh_user: 'macuser',
134
134
  env_file: '.env.staging',
135
135
  },
136
136
  prod: {
137
137
  server: 'ubuntu',
138
138
  domain: 'EXAMPLE_yourdomain.com',
139
+ ssl_email: 'EXAMPLE_admin@yourdomain.com',
139
140
  ssh_user: 'ubuntu',
140
141
  env_file: '.env.prod',
141
142
  config: 'free-tier',
@@ -163,6 +164,32 @@ function generateSmartStackYml(rootDir, options = {}) {
163
164
  // Dump main config
164
165
  sections.push(js_yaml_1.default.dump(config, { lineWidth: -1, noRefs: true }).trim());
165
166
  sections.push('');
167
+ // Features explainer
168
+ sections.push('# ============================================================');
169
+ sections.push('# AVAILABLE FEATURES');
170
+ sections.push('# ============================================================');
171
+ sections.push('# stack.yml is your single config file. Enable features by');
172
+ sections.push('# uncommenting the relevant sections below, then run:');
173
+ sections.push('# npx stack fix --dev');
174
+ sections.push('#');
175
+ sections.push('# INCLUDED (enabled by default):');
176
+ sections.push('# - Staging deploy SSH to Mac Mini (staging: section above)');
177
+ sections.push('# - Prod deploy AWS free-tier EC2 (prod: section above)');
178
+ sections.push('# - CI workflows GitHub Actions build+test on push');
179
+ sections.push('# - SSL certificates Auto Let\'s Encrypt via certbot');
180
+ sections.push('# - Ansible Vault Encrypted secrets (SSH keys, env vars)');
181
+ sections.push('#');
182
+ sections.push('# OPT-IN (uncomment to enable):');
183
+ sections.push('# - Auth @factiii/auth — JWT, OAuth, 2FA (see AUTH section)');
184
+ sections.push('# - OpenClaw Local AI coding agent in Tart VM (see OPENCLAW section)');
185
+ sections.push('# - Vercel Deploy to Vercel instead of SSH (see VERCEL section)');
186
+ sections.push('#');
187
+ sections.push('# AUTO-DETECTED (no config needed):');
188
+ sections.push('# - Prisma Migrations, schema validation');
189
+ sections.push('# - tRPC Type-safe API layer');
190
+ sections.push('# - Expo Mobile app builds');
191
+ sections.push('# ============================================================');
192
+ sections.push('');
166
193
  // Env match exceptions hint
167
194
  sections.push('# ============================================================');
168
195
  sections.push('# ENV MATCH EXCEPTIONS');
@@ -244,9 +271,10 @@ function generateSmartStackYml(rootDir, options = {}) {
244
271
  sections.push('#');
245
272
  sections.push('# 1. UPDATE THIS FILE');
246
273
  sections.push('# Replace all values marked EXAMPLE_ with your actual values:');
247
- sections.push('# - ssl_email: your real email for SSL certificates');
248
274
  sections.push('# - staging.domain: your staging domain');
275
+ sections.push('# - staging.ssl_email: your email for SSL certificates');
249
276
  sections.push('# - prod.domain: your production domain');
277
+ sections.push('# - prod.ssl_email: your email for SSL certificates');
250
278
  sections.push('#');
251
279
  sections.push('# 2. SCAN FOR ISSUES');
252
280
  sections.push('# npx stack scan -> checks everything, reports what is missing (changes nothing)');
@@ -1 +1 @@
1
- {"version":3,"file":"generate-stack-yml.js","sourceRoot":"","sources":["../../src/generators/generate-stack-yml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-stack-yml.js","sourceRoot":"","sources":["../../src/generators/generate-stack-yml.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,27 @@
1
1
  /**
2
2
  * Auth Addon Plugin
3
3
  *
4
- * Integrates @factiii/auth into the stack pipeline.
5
- * Auto-detects @factiii/auth in package.json dependencies.
4
+ * Thin delegation layer for @factiii/auth.
5
+ * Scanfix logic lives in the @factiii/auth package — stack loads and
6
+ * runs those fixes at runtime via resolveAuthPlugin().
6
7
  *
7
- * Handles:
8
- * - Dev: Initialize auth schema, run doctor, migrate
9
- * - Secrets: Auto-generate JWT_SECRET, prompt for OAuth keys
10
- * - Staging/Prod: Validate auth env vars are set
8
+ * When @factiii/auth exports a `stackPlugin` object with a `fixes` array,
9
+ * those fixes are used. Otherwise, falls back to inline scanfixes.
11
10
  *
12
11
  * ============================================================
13
12
  * PLUGIN STRUCTURE
14
13
  * ============================================================
15
14
  *
16
- * **scanfix/** - Scan/fix operations organized by concern
17
- * - setup.ts - Dev stage: init, doctor, migrate
15
+ * **scanfix/** - Fallback scan/fix operations (used when @factiii/auth
16
+ * does not yet export stackPlugin)
17
+ * - setup.ts - Dev stage: package check, init, doctor, migrate
18
18
  * - secrets.ts - Secrets stage: JWT_SECRET, OAuth keys
19
19
  * - validate.ts - Staging/Prod: env var validation
20
20
  *
21
- * **index.ts** - This file
22
- * - Static metadata (id, name, category, version)
23
- * - shouldLoad() - auto-detects @factiii/auth
24
- * - Imports and combines all scanfix arrays
21
+ * **index.ts** - This file (thin loader)
22
+ * - resolveAuthPlugin() - dynamically loads fixes from @factiii/auth
23
+ * - shouldLoad() - auto-detects @factiii/auth in project
24
+ * - Falls back to inline scanfixes if @factiii/auth doesn't export plugin
25
25
  * ============================================================
26
26
  */
27
27
  import type { FactiiiConfig, Fix, ServerOS } from '../../../types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/addons/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAO5E,cAAM,SAAS;IAKb,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;IAC9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAW;IAC5C,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAElC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAgC;IAE7E,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAY;IAGnD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAkB;IAG3D,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASnD;IAGF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtD;IAEF;;;OAGG;WACU,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAalF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASrC;IAMF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAI1B;IAMF;;OAEG;WACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkC5E,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,aAAa;CAGlC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/addons/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAwB,MAAM,yBAAyB,CAAC;AAoClG,cAAM,SAAS;IAKb,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;IAC9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAW;IAC5C,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAElC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAgC;IAE7E,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAY;IAGnD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAkB;IAG3D,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASnD;IAGF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtD;IAEF;;;OAGG;WACU,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAalF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASrC;IAMF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAe;IAM3C;;OAEG;WACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkC5E,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,aAAa;CAGlC;AAED,eAAe,SAAS,CAAC"}
@@ -2,27 +2,27 @@
2
2
  /**
3
3
  * Auth Addon Plugin
4
4
  *
5
- * Integrates @factiii/auth into the stack pipeline.
6
- * Auto-detects @factiii/auth in package.json dependencies.
5
+ * Thin delegation layer for @factiii/auth.
6
+ * Scanfix logic lives in the @factiii/auth package — stack loads and
7
+ * runs those fixes at runtime via resolveAuthPlugin().
7
8
  *
8
- * Handles:
9
- * - Dev: Initialize auth schema, run doctor, migrate
10
- * - Secrets: Auto-generate JWT_SECRET, prompt for OAuth keys
11
- * - Staging/Prod: Validate auth env vars are set
9
+ * When @factiii/auth exports a `stackPlugin` object with a `fixes` array,
10
+ * those fixes are used. Otherwise, falls back to inline scanfixes.
12
11
  *
13
12
  * ============================================================
14
13
  * PLUGIN STRUCTURE
15
14
  * ============================================================
16
15
  *
17
- * **scanfix/** - Scan/fix operations organized by concern
18
- * - setup.ts - Dev stage: init, doctor, migrate
16
+ * **scanfix/** - Fallback scan/fix operations (used when @factiii/auth
17
+ * does not yet export stackPlugin)
18
+ * - setup.ts - Dev stage: package check, init, doctor, migrate
19
19
  * - secrets.ts - Secrets stage: JWT_SECRET, OAuth keys
20
20
  * - validate.ts - Staging/Prod: env var validation
21
21
  *
22
- * **index.ts** - This file
23
- * - Static metadata (id, name, category, version)
24
- * - shouldLoad() - auto-detects @factiii/auth
25
- * - Imports and combines all scanfix arrays
22
+ * **index.ts** - This file (thin loader)
23
+ * - resolveAuthPlugin() - dynamically loads fixes from @factiii/auth
24
+ * - shouldLoad() - auto-detects @factiii/auth in project
25
+ * - Falls back to inline scanfixes if @factiii/auth doesn't export plugin
26
26
  * ============================================================
27
27
  */
28
28
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -61,10 +61,38 @@ var __importStar = (this && this.__importStar) || (function () {
61
61
  Object.defineProperty(exports, "__esModule", { value: true });
62
62
  const fs = __importStar(require("fs"));
63
63
  const path = __importStar(require("path"));
64
- // Import scanfixes
64
+ // Inline fallback scanfixes (used when @factiii/auth doesn't export stackPlugin)
65
65
  const setup_js_1 = require("./scanfix/setup.js");
66
66
  const secrets_js_1 = require("./scanfix/secrets.js");
67
67
  const validate_js_1 = require("./scanfix/validate.js");
68
+ /**
69
+ * Try to load scanfixes from @factiii/auth's stackPlugin export.
70
+ * Returns the exported fixes if available, null otherwise.
71
+ */
72
+ function resolveAuthPlugin() {
73
+ try {
74
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
75
+ const authPkg = require('@factiii/auth');
76
+ if (authPkg.stackPlugin && Array.isArray(authPkg.stackPlugin.fixes)) {
77
+ return authPkg.stackPlugin;
78
+ }
79
+ }
80
+ catch {
81
+ // @factiii/auth not installed or doesn't export stackPlugin
82
+ }
83
+ return null;
84
+ }
85
+ /**
86
+ * Get fixes — prefer @factiii/auth's exported fixes, fall back to inline.
87
+ */
88
+ function loadFixes() {
89
+ const external = resolveAuthPlugin();
90
+ if (external) {
91
+ return external.fixes;
92
+ }
93
+ // Fallback: use inline scanfixes from this repo
94
+ return [...setup_js_1.setupFixes, ...secrets_js_1.secretsFixes, ...validate_js_1.validateFixes];
95
+ }
68
96
  class AuthAddon {
69
97
  // ============================================================
70
98
  // STATIC METADATA
@@ -124,13 +152,9 @@ class AuthAddon {
124
152
  authentication tokens (JWT) for your application.`,
125
153
  };
126
154
  // ============================================================
127
- // FIXES - All issues this plugin can detect and resolve
155
+ // FIXES - Loaded from @factiii/auth when available, inline fallback otherwise
128
156
  // ============================================================
129
- static fixes = [
130
- ...setup_js_1.setupFixes,
131
- ...secrets_js_1.secretsFixes,
132
- ...validate_js_1.validateFixes,
133
- ];
157
+ static fixes = loadFixes();
134
158
  // ============================================================
135
159
  // STATIC HELPER METHODS
136
160
  // ============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/addons/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/addons/auth/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Auth Setup Scanfixes (Dev Stage)
3
3
  *
4
- * Detects @factiii/auth in dependencies and ensures:
5
- * - Auth config exists in stack.yml
6
- * - Auth Prisma schema is initialized (npx @factiii/auth init)
7
- * - Auth doctor passes (validates setup)
8
- * - Prisma migrations are applied for auth tables
4
+ * Thin delegation layer — all auth logic lives in @factiii/auth.
5
+ * Stack only handles:
6
+ * 1. Ensuring @factiii/auth is in package.json
7
+ * 2. Calling `npx @factiii/auth doctor` for everything else
8
+ *
9
+ * The doctor command in @factiii/auth handles init, schema checks,
10
+ * migrations, and any other auth-specific validations.
9
11
  */
10
12
  import type { Fix } from '../../../../types/index.js';
11
13
  export declare const setupFixes: Fix[];
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/auth/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA+BrE,eAAO,MAAM,UAAU,EAAE,GAAG,EAmK3B,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/auth/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAiB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AA4BrE,eAAO,MAAM,UAAU,EAAE,GAAG,EAsE3B,CAAC"}
@@ -2,11 +2,13 @@
2
2
  /**
3
3
  * Auth Setup Scanfixes (Dev Stage)
4
4
  *
5
- * Detects @factiii/auth in dependencies and ensures:
6
- * - Auth config exists in stack.yml
7
- * - Auth Prisma schema is initialized (npx @factiii/auth init)
8
- * - Auth doctor passes (validates setup)
9
- * - Prisma migrations are applied for auth tables
5
+ * Thin delegation layer — all auth logic lives in @factiii/auth.
6
+ * Stack only handles:
7
+ * 1. Ensuring @factiii/auth is in package.json
8
+ * 2. Calling `npx @factiii/auth doctor` for everything else
9
+ *
10
+ * The doctor command in @factiii/auth handles init, schema checks,
11
+ * migrations, and any other auth-specific validations.
10
12
  */
11
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
14
  if (k2 === undefined) k2 = k;
@@ -41,25 +43,20 @@ var __importStar = (this && this.__importStar) || (function () {
41
43
  return result;
42
44
  };
43
45
  })();
44
- var __importDefault = (this && this.__importDefault) || function (mod) {
45
- return (mod && mod.__esModule) ? mod : { "default": mod };
46
- };
47
46
  Object.defineProperty(exports, "__esModule", { value: true });
48
47
  exports.setupFixes = void 0;
49
48
  const fs = __importStar(require("fs"));
50
49
  const path = __importStar(require("path"));
51
50
  const child_process_1 = require("child_process");
52
- const js_yaml_1 = __importDefault(require("js-yaml"));
53
- const config_files_js_1 = require("../../../../constants/config-files.js");
54
51
  /**
55
- * Check if Prisma schema contains auth models (User, Session)
52
+ * Detect the package manager used in the project
56
53
  */
57
- function hasAuthModels(rootDir) {
58
- const schemaPath = path.join(rootDir, 'prisma', 'schema.prisma');
59
- if (!fs.existsSync(schemaPath))
60
- return false;
61
- const content = fs.readFileSync(schemaPath, 'utf8');
62
- return content.includes('model User') && content.includes('model Session');
54
+ function detectPackageManager(rootDir) {
55
+ if (fs.existsSync(path.join(rootDir, 'pnpm-lock.yaml')))
56
+ return 'pnpm';
57
+ if (fs.existsSync(path.join(rootDir, 'yarn.lock')))
58
+ return 'yarn';
59
+ return 'npm';
63
60
  }
64
61
  /**
65
62
  * Run a command silently and return success/failure
@@ -80,112 +77,60 @@ function runSilent(cmd, rootDir) {
80
77
  }
81
78
  exports.setupFixes = [
82
79
  {
83
- id: 'auth-missing-stack-yml-config',
80
+ id: 'auth-package-missing',
84
81
  stage: 'dev',
85
- severity: 'warning',
86
- description: 'Auth config missing from stack.yml (@factiii/auth detected but no auth: section)',
82
+ severity: 'critical',
83
+ description: '@factiii/auth missing from package.json dependencies',
87
84
  scan: async (_config, rootDir) => {
88
- const stackPath = path.join(rootDir, config_files_js_1.STACK_CONFIG_FILENAME);
89
- if (!fs.existsSync(stackPath))
90
- return false; // No stack.yml yet, bootstrap handles it
91
- const content = fs.readFileSync(stackPath, 'utf8');
92
- // Check if there's an uncommented auth: key at the top level
93
- return !content.match(/^auth:/m);
94
- },
95
- fix: async (_config, rootDir) => {
96
85
  try {
97
- const stackPath = path.join(rootDir, config_files_js_1.STACK_CONFIG_FILENAME);
98
- const content = fs.readFileSync(stackPath, 'utf8');
99
- // Build auth section
100
- const authSection = '\n# ============================================================\n' +
101
- '# AUTH (@factiii/auth)\n' +
102
- '# ============================================================\n' +
103
- '# Detected @factiii/auth in dependencies.\n' +
104
- '# JWT_SECRET is auto-generated and stored in Ansible Vault.\n' +
105
- '# Customize features below as needed.\n' +
106
- 'auth:\n' +
107
- ' features:\n' +
108
- ' oauth: false\n' +
109
- ' twoFa: false\n' +
110
- ' emailVerification: false\n' +
111
- ' oauth_provider: EXAMPLE_google\n';
112
- // Remove any commented-out auth section if present
113
- let updated = content.replace(/\n?# =+\n# AUTH[^\n]*\n# =+\n(?:#[^\n]*\n)*/g, '');
114
- // Append auth section before NEXT STEPS or at end
115
- if (updated.includes('# NEXT STEPS')) {
116
- updated = updated.replace(/(\n# =+\n# NEXT STEPS)/, authSection + '\n$1');
117
- }
118
- else {
119
- updated = updated.trimEnd() + '\n' + authSection;
120
- }
121
- fs.writeFileSync(stackPath, updated, 'utf8');
122
- console.log(' [OK] Added auth: section to ' + config_files_js_1.STACK_CONFIG_FILENAME);
123
- // Verify by re-reading
124
- const verify = fs.readFileSync(stackPath, 'utf8');
125
- const parsed = js_yaml_1.default.load(verify);
126
- return !!parsed.auth;
86
+ const pkgPath = path.join(rootDir, 'package.json');
87
+ if (!fs.existsSync(pkgPath))
88
+ return false;
89
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
90
+ const deps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
91
+ return !deps['@factiii/auth'];
127
92
  }
128
- catch (e) {
129
- console.log(' Failed: ' + (e instanceof Error ? e.message : String(e)));
93
+ catch {
130
94
  return false;
131
95
  }
132
96
  },
133
- manualFix: 'Add to ' + config_files_js_1.STACK_CONFIG_FILENAME + ':\n' +
134
- ' auth:\n' +
135
- ' features:\n' +
136
- ' oauth: false\n' +
137
- ' twoFa: false\n' +
138
- ' emailVerification: false\n' +
139
- ' oauth_provider: EXAMPLE_google',
140
- },
141
- {
142
- id: 'auth-not-initialized',
143
- stage: 'dev',
144
- severity: 'critical',
145
- description: 'Auth schema not initialized (missing User/Session models in Prisma)',
146
- scan: async (_config, rootDir) => {
147
- // Only flag if @factiii/auth is installed but schema not initialized
148
- const schemaPath = path.join(rootDir, 'prisma', 'schema.prisma');
149
- if (!fs.existsSync(schemaPath))
150
- return true; // No schema at all
151
- return !hasAuthModels(rootDir);
152
- },
153
97
  fix: async (_config, rootDir) => {
154
98
  try {
155
- console.log(' Running: npx @factiii/auth init');
156
- (0, child_process_1.execSync)('npx @factiii/auth init', {
99
+ const pm = detectPackageManager(rootDir);
100
+ const installCmd = pm === 'pnpm' ? 'pnpm add @factiii/auth'
101
+ : pm === 'yarn' ? 'yarn add @factiii/auth'
102
+ : 'npm install @factiii/auth';
103
+ console.log(' Running: ' + installCmd);
104
+ (0, child_process_1.execSync)(installCmd, {
157
105
  cwd: rootDir,
158
106
  stdio: 'inherit',
159
107
  });
160
- // Regenerate Prisma client
161
- console.log(' Running: npx prisma generate');
162
- (0, child_process_1.execSync)('npx prisma generate', {
163
- cwd: rootDir,
164
- stdio: 'inherit',
165
- });
166
- return hasAuthModels(rootDir);
108
+ // Verify
109
+ const pkgPath = path.join(rootDir, 'package.json');
110
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
111
+ const deps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
112
+ return !!deps['@factiii/auth'];
167
113
  }
168
114
  catch (e) {
169
115
  console.log(' Failed: ' + (e instanceof Error ? e.message : String(e)));
170
116
  return false;
171
117
  }
172
118
  },
173
- manualFix: 'Run: npx @factiii/auth init && npx prisma generate',
119
+ manualFix: 'Run: pnpm add @factiii/auth (or npm install @factiii/auth)',
174
120
  },
175
121
  {
176
- id: 'auth-doctor-fail',
122
+ id: 'auth-doctor',
177
123
  stage: 'dev',
178
- severity: 'warning',
179
- description: 'Auth doctor check failed (run npx @factiii/auth doctor for details)',
124
+ severity: 'critical',
125
+ description: '@factiii/auth doctor check failed',
180
126
  scan: async (_config, rootDir) => {
181
- // Skip if auth models not yet initialized
182
- if (!hasAuthModels(rootDir))
183
- return false;
127
+ // Delegate to @factiii/auth doctor it handles all checks
128
+ // (init, schema, migrations, config, etc.)
184
129
  const result = runSilent('npx @factiii/auth doctor', rootDir);
185
130
  return !result.success;
186
131
  },
187
132
  fix: async (_config, rootDir) => {
188
- // Run doctor with output visible so user can see what's wrong
133
+ // Run doctor with visible output it handles all fixes
189
134
  try {
190
135
  (0, child_process_1.execSync)('npx @factiii/auth doctor', {
191
136
  cwd: rootDir,
@@ -200,36 +145,5 @@ exports.setupFixes = [
200
145
  },
201
146
  manualFix: 'Run: npx @factiii/auth doctor',
202
147
  },
203
- {
204
- id: 'auth-prisma-not-migrated',
205
- stage: 'dev',
206
- severity: 'warning',
207
- description: 'Auth database tables not migrated (pending Prisma migrations)',
208
- scan: async (_config, rootDir) => {
209
- // Skip if auth models not initialized
210
- if (!hasAuthModels(rootDir))
211
- return false;
212
- // Check for pending migrations
213
- const result = runSilent('npx prisma migrate status', rootDir);
214
- if (!result.success)
215
- return true; // Can't check = assume pending
216
- return result.output.includes('Following migration') || result.output.includes('not yet been applied');
217
- },
218
- fix: async (_config, rootDir) => {
219
- try {
220
- console.log(' Running: npx prisma migrate dev');
221
- (0, child_process_1.execSync)('npx prisma migrate dev', {
222
- cwd: rootDir,
223
- stdio: 'inherit',
224
- });
225
- return true;
226
- }
227
- catch (e) {
228
- console.log(' Migration failed: ' + (e instanceof Error ? e.message : String(e)));
229
- return false;
230
- }
231
- },
232
- manualFix: 'Run: npx prisma migrate dev',
233
- },
234
148
  ];
235
149
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/auth/scanfix/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/auth/scanfix/setup.ts"],"names":[],"mappings":"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"}
@@ -183,10 +183,10 @@ async function runCertbot(envConfig, config) {
183
183
  console.log(' No domains configured, skipping SSL certificates');
184
184
  return;
185
185
  }
186
- const sslEmail = config.ssl_email;
186
+ const sslEmail = envConfig.ssl_email ?? config.ssl_email;
187
187
  if (!sslEmail || sslEmail.toUpperCase().startsWith('EXAMPLE')) {
188
188
  console.log(' ⚠️ ssl_email not configured in stack.yml, skipping SSL');
189
- console.log(' Add ssl_email to stack.yml to enable automatic SSL certificates');
189
+ console.log(' Add ssl_email to your environment config in stack.yml');
190
190
  return;
191
191
  }
192
192
  // For each domain, obtain certificate using Docker certbot