@factiii/stack 0.1.58 → 0.1.60

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.
@@ -2,6 +2,7 @@
2
2
  * Vercel Configuration Scanfixes
3
3
  *
4
4
  * Detects and fixes Vercel project configuration issues.
5
+ * Uses Vercel REST API for auto-fixing (no CLI required).
5
6
  */
6
7
  import type { Fix } from '../../../../types/index.js';
7
8
  export declare const fixes: Fix[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/scanfix/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAGtD,eAAO,MAAM,KAAK,EAAE,GAAG,EAuJtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/scanfix/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAGtD,eAAO,MAAM,KAAK,EAAE,GAAG,EAkStB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Vercel Configuration Scanfixes
4
4
  *
5
5
  * Detects and fixes Vercel project configuration issues.
6
+ * Uses Vercel REST API for auto-fixing (no CLI required).
6
7
  */
7
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
9
  if (k2 === undefined) k2 = k;
@@ -48,7 +49,7 @@ exports.fixes = [
48
49
  severity: 'critical',
49
50
  description: 'Vercel configuration missing in stack.yml',
50
51
  scan: async (config, _rootDir) => {
51
- // Skip if vercel not configured
52
+ // Skip if vercel not configured at all
52
53
  if (!config.vercel)
53
54
  return false;
54
55
  // Check required fields
@@ -58,19 +59,107 @@ exports.fixes = [
58
59
  }
59
60
  return false; // Configured properly
60
61
  },
61
- fix: null,
62
+ fix: async (config, rootDir) => {
63
+ console.log(' Auto-detecting Vercel project via API...');
64
+ try {
65
+ const { getVercelToken, findVercelProject, listVercelProjects, createVercelProject } = await Promise.resolve().then(() => __importStar(require('../utils/vercel-api.js')));
66
+ // Get token
67
+ let token;
68
+ try {
69
+ token = await getVercelToken(config, rootDir);
70
+ }
71
+ catch {
72
+ console.log(' [!] VERCEL_TOKEN not found — cannot auto-detect project');
73
+ console.log(' Run: npx stack fix --secrets (to set VERCEL_TOKEN first)');
74
+ return false;
75
+ }
76
+ const repoName = config.name ?? path.basename(rootDir);
77
+ const teamId = config.vercel?.org_id;
78
+ // Try to find existing project by repo name
79
+ console.log(' Looking for project matching "' + repoName + '"...');
80
+ let project = await findVercelProject(token, repoName, teamId);
81
+ if (!project) {
82
+ // List all projects so user can see what's available
83
+ const allProjects = await listVercelProjects(token, teamId);
84
+ if (allProjects.length > 0) {
85
+ console.log(' No project named "' + repoName + '" found.');
86
+ console.log(' Available projects:');
87
+ for (const p of allProjects.slice(0, 10)) {
88
+ console.log(' - ' + p.name + ' (id: ' + p.id + ')');
89
+ }
90
+ if (allProjects.length > 10) {
91
+ console.log(' ... and ' + (allProjects.length - 10) + ' more');
92
+ }
93
+ }
94
+ // Create the project automatically
95
+ console.log('');
96
+ console.log(' Creating Vercel project "' + repoName + '"...');
97
+ const gitRepo = config.github_repo;
98
+ const cleanGitRepo = gitRepo && !gitRepo.toUpperCase().startsWith('EXAMPLE')
99
+ ? gitRepo
100
+ : undefined;
101
+ project = await createVercelProject(token, repoName, {
102
+ teamId,
103
+ gitRepo: cleanGitRepo,
104
+ framework: 'nextjs',
105
+ });
106
+ console.log(' [OK] Created Vercel project: ' + project.name);
107
+ }
108
+ else {
109
+ console.log(' [OK] Found existing project: ' + project.name);
110
+ }
111
+ // Update stack.yml with project info
112
+ const { getStackConfigPath } = await Promise.resolve().then(() => __importStar(require('../../../../constants/config-files.js')));
113
+ const configPath = getStackConfigPath(rootDir);
114
+ let configContent = fs.readFileSync(configPath, 'utf8');
115
+ // Check if there's an existing vercel section to update
116
+ if (configContent.includes('vercel:')) {
117
+ // Replace EXAMPLE values or add missing fields
118
+ configContent = configContent
119
+ .replace(/project_name:\s*EXAMPLE_[^\n]*/i, 'project_name: ' + project.name)
120
+ .replace(/project_id:\s*EXAMPLE_[^\n]*/i, 'project_id: ' + project.id)
121
+ .replace(/org_id:\s*EXAMPLE_[^\n]*/i, 'org_id: ' + (project.orgId ?? ''));
122
+ // If project_id wasn't in the file, add it
123
+ if (!configContent.includes('project_id:')) {
124
+ configContent = configContent.replace(/project_name:\s*.+/, '$&\n project_id: ' + project.id);
125
+ }
126
+ }
127
+ else {
128
+ // Add new vercel section
129
+ const vercelSection = '\nvercel:\n' +
130
+ ' project_name: ' + project.name + '\n' +
131
+ ' project_id: ' + project.id + '\n' +
132
+ (project.orgId ? ' org_id: ' + project.orgId + '\n' : '');
133
+ configContent += vercelSection;
134
+ }
135
+ fs.writeFileSync(configPath, configContent, 'utf8');
136
+ console.log(' [OK] Updated stack.yml with Vercel project config');
137
+ return true;
138
+ }
139
+ catch (e) {
140
+ const msg = e instanceof Error ? e.message : String(e);
141
+ if (msg.includes('403')) {
142
+ console.log(' [!] 403 Forbidden — token may be team-scoped');
143
+ console.log(' Fix: Add org_id to vercel section in stack.yml:');
144
+ console.log(' vercel:');
145
+ console.log(' org_id: team_XXXXX # from Vercel Settings → General');
146
+ console.log(' Or create a new token: https://vercel.com/account/tokens');
147
+ }
148
+ else {
149
+ console.log(' [!] Failed: ' + msg);
150
+ }
151
+ return false;
152
+ }
153
+ },
62
154
  manualFix: `
63
155
  Add Vercel configuration to stack.yml:
64
156
 
65
157
  vercel:
66
- project_name: my-project
67
- org_id: team_xxx # Optional: your Vercel team/org ID
68
- project_id: prj_xxx # Optional: auto-detected after linking
158
+ project_name: EXAMPLE_my-project
159
+ org_id: EXAMPLE_team_xxx # Optional: your Vercel team/org ID
160
+ project_id: EXAMPLE_prj_xxx # Optional: auto-detected after linking
69
161
 
70
- Then link your project:
71
- vercel link
72
-
73
- Or use the Vercel dashboard to create a project and add the IDs to stack.yml.
162
+ Or run: npx stack fix (auto-detects from Vercel API if VERCEL_TOKEN is set)
74
163
  `,
75
164
  },
76
165
  {
@@ -79,40 +168,81 @@ Or use the Vercel dashboard to create a project and add the IDs to stack.yml.
79
168
  severity: 'warning',
80
169
  description: 'Vercel project not linked (missing .vercel/project.json)',
81
170
  scan: async (config, rootDir) => {
82
- // Check if vercel pipeline is used
83
- const { extractEnvironments } = await Promise.resolve().then(() => __importStar(require('../../../../utils/config-helpers.js')));
84
- const environments = extractEnvironments(config);
85
- const usesVercel = Object.values(environments).some((env) => env.pipeline === 'vercel');
86
- if (!usesVercel) {
87
- return true;
171
+ // Skip if vercel not configured
172
+ if (!config.vercel)
173
+ return false;
174
+ // Skip if project_name is still EXAMPLE
175
+ const projectName = config.vercel.project_name;
176
+ if (!projectName || projectName.toUpperCase().startsWith('EXAMPLE')) {
177
+ return false; // Will be caught by vercel-config-missing
88
178
  }
89
179
  // Check if .vercel/project.json exists
90
180
  const vercelConfigPath = path.join(rootDir, '.vercel', 'project.json');
91
- if (!fs.existsSync(vercelConfigPath)) {
181
+ return !fs.existsSync(vercelConfigPath);
182
+ },
183
+ fix: async (config, rootDir) => {
184
+ console.log(' Auto-linking Vercel project via API...');
185
+ try {
186
+ const projectId = config.vercel?.project_id;
187
+ const orgId = config.vercel?.org_id;
188
+ const projectName = config.vercel?.project_name;
189
+ if (!projectId && !projectName) {
190
+ console.log(' [!] No project_id or project_name in stack.yml');
191
+ return false;
192
+ }
193
+ let finalProjectId = projectId;
194
+ let finalOrgId = orgId;
195
+ // If we have name but no ID, look it up via API
196
+ if (!finalProjectId && projectName) {
197
+ const { getVercelToken, findVercelProject } = await Promise.resolve().then(() => __importStar(require('../utils/vercel-api.js')));
198
+ const token = await getVercelToken(config, rootDir);
199
+ const project = await findVercelProject(token, projectName, orgId);
200
+ if (project) {
201
+ finalProjectId = project.id;
202
+ finalOrgId = finalOrgId ?? project.orgId;
203
+ console.log(' Found project: ' + project.name + ' (id: ' + project.id + ')');
204
+ }
205
+ else {
206
+ console.log(' [!] Project "' + projectName + '" not found in Vercel');
207
+ return false;
208
+ }
209
+ }
210
+ // Create .vercel directory
211
+ const vercelDir = path.join(rootDir, '.vercel');
212
+ if (!fs.existsSync(vercelDir)) {
213
+ fs.mkdirSync(vercelDir, { recursive: true });
214
+ }
215
+ // Write project.json (same format as vercel link creates)
216
+ const projectJson = {
217
+ projectId: finalProjectId,
218
+ orgId: finalOrgId ?? '',
219
+ };
220
+ fs.writeFileSync(path.join(vercelDir, 'project.json'), JSON.stringify(projectJson, null, 2) + '\n', 'utf8');
221
+ console.log(' [OK] Created .vercel/project.json');
222
+ console.log(' Project ID: ' + finalProjectId);
223
+ if (finalOrgId)
224
+ console.log(' Org ID: ' + finalOrgId);
225
+ return true;
226
+ }
227
+ catch (e) {
228
+ console.log(' [!] Failed: ' + (e instanceof Error ? e.message : String(e)));
92
229
  return false;
93
230
  }
94
- return true;
95
231
  },
96
- fix: null,
97
232
  manualFix: `
98
233
  Link your project to Vercel:
99
234
 
100
235
  vercel link
101
236
 
102
- This will:
103
- 1. Prompt you to select your Vercel team/org
104
- 2. Ask if you want to link to an existing project or create new one
105
- 3. Create .vercel/project.json with project metadata
106
-
107
- After linking, the project_id and org_id will be saved in .vercel/project.json.
108
- You can optionally copy these to stack.yml for documentation.
237
+ Or set project_id in stack.yml and run: npx stack fix
238
+ (The fix will auto-create .vercel/project.json from the API)
109
239
  `,
110
240
  },
111
241
  {
112
242
  id: 'vercel-cli-not-installed',
113
243
  stage: 'dev',
114
- severity: 'warning',
115
- description: 'Vercel CLI not installed (needed for initial linking)',
244
+ severity: 'info',
245
+ description: 'Vercel CLI not installed (optional — API is used for deployments)',
116
246
  scan: async (config, _rootDir) => {
117
247
  // Skip if vercel not configured
118
248
  if (!config.vercel)
@@ -120,11 +250,11 @@ You can optionally copy these to stack.yml for documentation.
120
250
  // Check if vercel CLI is installed
121
251
  try {
122
252
  const { execSync } = await Promise.resolve().then(() => __importStar(require('child_process')));
123
- execSync('which vercel', { stdio: 'pipe' });
253
+ execSync('which vercel || where vercel', { stdio: 'pipe' });
124
254
  return false; // CLI installed = no problem
125
255
  }
126
256
  catch {
127
- return true; // CLI not installed = problem
257
+ return true; // CLI not installed = info-level (API works without it)
128
258
  }
129
259
  },
130
260
  fix: async (_config, _rootDir) => {
@@ -140,7 +270,7 @@ You can optionally copy these to stack.yml for documentation.
140
270
  return false;
141
271
  }
142
272
  },
143
- manualFix: 'Install Vercel CLI manually: npm install -g vercel',
273
+ manualFix: 'Install Vercel CLI manually: npm install -g vercel\n(Optional — deployments use the Vercel API, not CLI)',
144
274
  },
145
275
  {
146
276
  id: 'vercel-gitignore-missing',
@@ -148,20 +278,13 @@ You can optionally copy these to stack.yml for documentation.
148
278
  severity: 'info',
149
279
  description: '.vercel directory not in .gitignore',
150
280
  scan: async (config, rootDir) => {
151
- // Check if vercel pipeline is used
152
- const { extractEnvironments } = await Promise.resolve().then(() => __importStar(require('../../../../utils/config-helpers.js')));
153
- const environments = extractEnvironments(config);
154
- const usesVercel = Object.values(environments).some((env) => env.pipeline === 'vercel');
155
- if (!usesVercel) {
156
- return true;
157
- }
281
+ // Skip if vercel not configured
282
+ if (!config.vercel)
283
+ return false;
158
284
  // Check if .vercel is in .gitignore
159
285
  const { isGitignored } = await Promise.resolve().then(() => __importStar(require('../../../../utils/gitignore.js')));
160
286
  const isIgnored = await isGitignored('.vercel', rootDir);
161
- if (!isIgnored) {
162
- return false;
163
- }
164
- return true;
287
+ return !isIgnored; // Not ignored = problem
165
288
  },
166
289
  fix: async (_config, rootDir) => {
167
290
  console.log(' Adding .vercel to .gitignore...');
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/scanfix/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/scanfix/config.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,47 @@ interface DeployOptions {
19
19
  branch?: string;
20
20
  commit?: string;
21
21
  }
22
+ /**
23
+ * Get VERCEL_TOKEN from vault or environment
24
+ */
25
+ export declare function getVercelToken(config: FactiiiConfig, rootDir: string): Promise<string>;
26
+ /**
27
+ * Get user's Vercel teams (to resolve 403 errors)
28
+ */
29
+ export declare function getVercelTeams(token: string): Promise<{
30
+ id: string;
31
+ name: string;
32
+ slug: string;
33
+ }[]>;
34
+ /**
35
+ * List all Vercel projects for the authenticated user/team.
36
+ * If no teamId is provided and we get 403, auto-discovers teams and retries.
37
+ */
38
+ export declare function listVercelProjects(token: string, teamId?: string): Promise<{
39
+ id: string;
40
+ name: string;
41
+ orgId?: string;
42
+ }[]>;
43
+ /**
44
+ * Find a Vercel project by name (case-insensitive match)
45
+ */
46
+ export declare function findVercelProject(token: string, projectName: string, teamId?: string): Promise<{
47
+ id: string;
48
+ name: string;
49
+ orgId?: string;
50
+ } | null>;
51
+ /**
52
+ * Create a new Vercel project via API
53
+ */
54
+ export declare function createVercelProject(token: string, name: string, options?: {
55
+ teamId?: string;
56
+ gitRepo?: string;
57
+ framework?: string;
58
+ }): Promise<{
59
+ id: string;
60
+ name: string;
61
+ orgId?: string;
62
+ }>;
22
63
  /**
23
64
  * Deploy to Vercel via API
24
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/utils/vercel-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS9E,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACnD,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IACnE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;CAC9C;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4ID;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmIvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAelC"}
1
+ {"version":3,"file":"vercel-api.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/utils/vercel-api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS9E,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACnD,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IACnE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;CAC9C;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5F;AAmHD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CASvD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAiCzD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAI9D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBvD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmIvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAelC"}
@@ -41,6 +41,11 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  };
42
42
  })();
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.getVercelToken = getVercelToken;
45
+ exports.getVercelTeams = getVercelTeams;
46
+ exports.listVercelProjects = listVercelProjects;
47
+ exports.findVercelProject = findVercelProject;
48
+ exports.createVercelProject = createVercelProject;
44
49
  exports.deployToVercel = deployToVercel;
45
50
  exports.getDeploymentStatus = getDeploymentStatus;
46
51
  const fs = __importStar(require("fs"));
@@ -154,6 +159,84 @@ async function callVercelAPI(endpoint, token, options = {}) {
154
159
  }
155
160
  return await response.json();
156
161
  }
162
+ /**
163
+ * Get user's Vercel teams (to resolve 403 errors)
164
+ */
165
+ async function getVercelTeams(token) {
166
+ try {
167
+ const result = (await callVercelAPI('/v2/teams', token));
168
+ return result.teams ?? [];
169
+ }
170
+ catch {
171
+ return [];
172
+ }
173
+ }
174
+ /**
175
+ * List all Vercel projects for the authenticated user/team.
176
+ * If no teamId is provided and we get 403, auto-discovers teams and retries.
177
+ */
178
+ async function listVercelProjects(token, teamId) {
179
+ try {
180
+ const result = (await callVercelAPI('/v10/projects?limit=100', token, { teamId }));
181
+ return (result.projects ?? []).map(p => ({
182
+ id: p.id,
183
+ name: p.name,
184
+ orgId: p.accountId ?? teamId,
185
+ }));
186
+ }
187
+ catch (e) {
188
+ const errorMsg = e instanceof Error ? e.message : String(e);
189
+ // If 403 and no teamId was provided, try to discover teams
190
+ if (errorMsg.includes('403') && !teamId) {
191
+ const teams = await getVercelTeams(token);
192
+ if (teams.length > 0) {
193
+ const team = teams[0];
194
+ // Try with the first team
195
+ console.log(' Token is team-scoped, trying team: ' + team.name);
196
+ const result = (await callVercelAPI('/v10/projects?limit=100', token, { teamId: team.id }));
197
+ return (result.projects ?? []).map(p => ({
198
+ id: p.id,
199
+ name: p.name,
200
+ orgId: p.accountId ?? team.id,
201
+ }));
202
+ }
203
+ }
204
+ throw e; // Re-throw if we can't recover
205
+ }
206
+ }
207
+ /**
208
+ * Find a Vercel project by name (case-insensitive match)
209
+ */
210
+ async function findVercelProject(token, projectName, teamId) {
211
+ const projects = await listVercelProjects(token, teamId);
212
+ const normalizedName = projectName.toLowerCase();
213
+ return projects.find(p => p.name.toLowerCase() === normalizedName) ?? null;
214
+ }
215
+ /**
216
+ * Create a new Vercel project via API
217
+ */
218
+ async function createVercelProject(token, name, options = {}) {
219
+ const body = { name };
220
+ if (options.gitRepo) {
221
+ body.gitRepository = {
222
+ type: 'github',
223
+ repo: options.gitRepo,
224
+ };
225
+ }
226
+ if (options.framework) {
227
+ body.framework = options.framework;
228
+ }
229
+ const result = (await callVercelAPI('/v9/projects', token, {
230
+ method: 'POST',
231
+ body,
232
+ teamId: options.teamId,
233
+ }));
234
+ return {
235
+ id: result.id,
236
+ name: result.name,
237
+ orgId: result.accountId ?? options.teamId,
238
+ };
239
+ }
157
240
  /**
158
241
  * Deploy to Vercel via API
159
242
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-api.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/utils/vercel-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vercel-api.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/vercel/utils/vercel-api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factiii/stack",
3
- "version": "0.1.58",
3
+ "version": "0.1.60",
4
4
  "description": "Infrastructure management package for deploying services to servers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",