vibefast-cli 0.3.1 → 0.5.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,WAAW,SAigBpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,WAAW,SAkpBpB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  import { log } from '../core/log.js';
3
3
  import { withSpinner } from '../core/spinner.js';
4
- import { promptSelect, promptInput, promptConfirm } from '../core/prompts.js';
4
+ import { promptSelectAsync, promptUser, promptYesNo } from '../core/prompt.js';
5
5
  import simpleGit from 'simple-git';
6
6
  import { existsSync } from 'fs';
7
7
  import { join } from 'path';
@@ -25,49 +25,69 @@ export const initCommand = new Command('init')
25
25
  log.info('This directory already contains a VibeFast project.');
26
26
  process.exit(1);
27
27
  }
28
- // Step 1: Choose branch (always ask unless --branch provided)
29
- let branch = options.branch;
30
- if (!options.branch) {
31
- if (options.yes) {
32
- // Default to main if --yes is used without --branch
33
- branch = 'main';
34
- log.info('Using default: full starter');
35
- }
36
- else {
37
- // Always prompt for branch selection
38
- branch = await promptSelect('Which starter template would you like?', [
39
- {
40
- name: 'Full',
41
- value: 'main',
42
- description: 'All features included - ready to customize',
43
- },
44
- {
45
- name: 'Clean',
46
- value: 'clean',
47
- description: 'Minimal setup - add features as you need them',
48
- },
49
- ]);
28
+ // Step 1: Choose starter type
29
+ let starterType = 'clean';
30
+ let selectedFeatures = [];
31
+ if (!options.yes) {
32
+ starterType = await promptSelectAsync('How would you like to start?', [
33
+ {
34
+ value: 'clean',
35
+ label: 'Clean',
36
+ description: 'Minimal setup - add features later with vf add',
37
+ },
38
+ {
39
+ value: 'custom',
40
+ label: 'Custom',
41
+ description: 'Choose features now - one-shot setup',
42
+ },
43
+ ]);
44
+ log.info(`Selected: ${starterType === 'clean' ? 'Clean starter' : 'Custom setup'}`);
45
+ log.plain('');
46
+ // If custom, let them choose features
47
+ if (starterType === 'custom') {
48
+ const { promptMultiSelectAsync } = await import('../core/prompt.js');
49
+ const { RECIPES, getRecipesByCategory } = await import('../core/recipes.js');
50
+ log.info('📦 Select features to include:');
51
+ log.plain('');
52
+ // Get native features
53
+ const nativeFeatures = getRecipesByCategory('feature').map(r => ({
54
+ value: r.name,
55
+ label: `${r.icon} ${r.name}`,
56
+ description: r.description,
57
+ }));
58
+ selectedFeatures = await promptMultiSelectAsync('Select features (use space to toggle, enter to confirm):', nativeFeatures);
59
+ if (selectedFeatures.length > 0) {
60
+ log.info(`Selected ${selectedFeatures.length} feature(s): ${selectedFeatures.join(', ')}`);
61
+ }
62
+ else {
63
+ log.info('No features selected - starting with clean setup');
64
+ }
65
+ log.plain('');
50
66
  }
51
67
  }
52
- log.info(`Selected: ${branch === 'main' ? 'full' : 'clean'} starter`);
53
- log.plain('');
68
+ else {
69
+ log.info('Using default: Clean starter');
70
+ log.plain('');
71
+ }
72
+ // Always use clean branch for cloning
73
+ const branch = 'clean';
54
74
  // Step 1.5: Choose platforms
55
75
  let platforms = ['native', 'web'];
56
76
  if (!options.yes) {
57
- const platformChoice = await promptSelect('Which platforms do you want to include?', [
77
+ const platformChoice = await promptSelectAsync('Which platforms do you want to include?', [
58
78
  {
59
- name: 'Both (Native + Web)',
60
79
  value: 'both',
61
- description: 'Full monorepo with mobile and web apps',
80
+ label: 'Both (Native + Web)',
81
+ description: 'Full monorepo with mobile and web app',
62
82
  },
63
83
  {
64
- name: 'Native Only (Expo)',
65
84
  value: 'native',
85
+ label: 'Native Only (Expo)',
66
86
  description: 'Mobile app only (iOS & Android)',
67
87
  },
68
88
  {
69
- name: 'Web Only (Next.js)',
70
89
  value: 'web',
90
+ label: 'Web Only (Next.js)',
71
91
  description: 'Web app only',
72
92
  },
73
93
  ]);
@@ -92,7 +112,7 @@ export const initCommand = new Command('init')
92
112
  const defaultName = 'vibefast-app';
93
113
  let projectName = defaultName;
94
114
  if (!options.yes) {
95
- projectName = await promptInput('Project name:', defaultName);
115
+ projectName = await promptUser('Project name: ') || defaultName;
96
116
  }
97
117
  // Validate project name
98
118
  if (existsSync(projectName)) {
@@ -108,13 +128,11 @@ export const initCommand = new Command('init')
108
128
  // 2. GitHub CLI (gh auth)
109
129
  // 3. Personal access token in URL
110
130
  const repoUrl = 'https://github.com/mzafarr/vibefast-pro.git';
111
- await withSpinner(`Cloning VibeFast monorepo (${branch === 'main' ? 'full' : 'clean'} starter)...`, async () => {
131
+ await withSpinner(`Cloning VibeFast monorepo (clean starter)...`, async () => {
112
132
  const git = simpleGit();
113
133
  const cloneOptions = ['--depth', '1'];
114
- // Only specify branch if not main (main is default)
115
- if (branch !== 'main') {
116
- cloneOptions.unshift('--branch', branch, '--single-branch');
117
- }
134
+ // Always use clean branch
135
+ cloneOptions.unshift('--branch', 'clean', '--single-branch');
118
136
  try {
119
137
  await git.clone(repoUrl, projectName, cloneOptions);
120
138
  }
@@ -221,7 +239,7 @@ export const initCommand = new Command('init')
221
239
  catch {
222
240
  log.warn('pnpm is not installed');
223
241
  log.plain('');
224
- const shouldInstallPnpm = options.yes || await promptConfirm('Would you like to install pnpm globally?', true);
242
+ const shouldInstallPnpm = options.yes || await promptYesNo('Would you like to install pnpm globally?', true);
225
243
  if (shouldInstallPnpm) {
226
244
  log.plain('');
227
245
  await withSpinner('Installing pnpm globally...', async () => {
@@ -283,7 +301,7 @@ export const initCommand = new Command('init')
283
301
  log.plain(' • Set up Convex backend (if available)');
284
302
  log.plain(' • Configure Convex Auth');
285
303
  log.plain('');
286
- const runSetup = options.yes || await promptConfirm('Would you like to run the starter setup now?', true);
304
+ const runSetup = options.yes || await promptYesNo('Would you like to run the starter setup now?', true);
287
305
  if (runSetup) {
288
306
  log.plain('');
289
307
  log.info('Running starter setup...');
@@ -321,6 +339,105 @@ export const initCommand = new Command('init')
321
339
  }
322
340
  log.plain('');
323
341
  }
342
+ // Step 6.5: Install selected features (if custom setup)
343
+ if (starterType === 'custom' && selectedFeatures.length > 0) {
344
+ log.plain('');
345
+ log.info('📦 Installing selected features...');
346
+ log.plain('');
347
+ // We need to be in the project directory for feature installation
348
+ process.chdir(projectPath);
349
+ for (const featureName of selectedFeatures) {
350
+ try {
351
+ log.plain('');
352
+ log.plain('━'.repeat(60));
353
+ log.info(`Installing ${featureName}...`);
354
+ log.plain('');
355
+ // Import and use the add command logic
356
+ const { getToken } = await import('../core/auth.js');
357
+ const { fetchRecipe, downloadZip } = await import('../core/http.js');
358
+ const { extractZipSafe } = await import('../core/archive.js');
359
+ const { copyTree, readFileContent } = await import('../core/fsx.js');
360
+ const { addEntry } = await import('../core/journal.js');
361
+ const { hashFiles } = await import('../core/hash.js');
362
+ const { insertNavLinkNative } = await import('../core/codemod.js');
363
+ const { getDeviceInfo } = await import('../core/auth.js');
364
+ const { validateSignature } = await import('../core/validate.js');
365
+ const { getPaths } = await import('../core/paths.js');
366
+ const paths = getPaths();
367
+ const token = await getToken();
368
+ const device = await getDeviceInfo();
369
+ const config = await validateSignature(paths.signatureFile);
370
+ // Fetch recipe
371
+ const response = await fetchRecipe({
372
+ token: token,
373
+ device,
374
+ feature: featureName,
375
+ target: 'native',
376
+ starter: { name: config.name, version: config.version },
377
+ });
378
+ if (!response.ok || (!response.signedUrl && !response.zipData)) {
379
+ log.warn(`⚠ Could not fetch ${featureName}: ${response.error || 'Unknown error'}`);
380
+ log.info(`You can install it later with: vf add ${featureName}`);
381
+ continue;
382
+ }
383
+ // Download and extract
384
+ const zipPath = response.zipData
385
+ ? await downloadZip(response.zipData, true)
386
+ : await downloadZip(response.signedUrl);
387
+ const extractDir = zipPath.replace('.zip', '');
388
+ await extractZipSafe(zipPath, extractDir);
389
+ // Read manifest
390
+ const manifestPath = join(extractDir, 'recipe.json');
391
+ const manifestContent = await readFileContent(manifestPath);
392
+ const manifest = JSON.parse(manifestContent);
393
+ // Copy files
394
+ const copiedFiles = [];
395
+ const { resolve: resolvePath } = await import('path');
396
+ for (const copySpec of manifest.copy) {
397
+ const srcPath = resolvePath(extractDir, copySpec.from);
398
+ const destPath = resolvePath(projectPath, copySpec.to);
399
+ const result = await copyTree(srcPath, destPath, { force: true });
400
+ copiedFiles.push(...result.files);
401
+ }
402
+ // Add navigation
403
+ let navInserted = false;
404
+ if (manifest.nav) {
405
+ navInserted = await insertNavLinkNative(paths.nativeNavFile, manifest.nav, {});
406
+ }
407
+ // Hash and journal
408
+ const fileHashes = await hashFiles(copiedFiles);
409
+ const fileEntries = Array.from(fileHashes.entries()).map(([path, hash]) => ({
410
+ path,
411
+ hash,
412
+ }));
413
+ await addEntry(paths.journalFile, {
414
+ feature: manifest.name,
415
+ target: manifest.target,
416
+ files: fileEntries,
417
+ insertedNav: navInserted,
418
+ navHref: manifest.nav?.href,
419
+ navLabel: manifest.nav?.label,
420
+ ts: Date.now(),
421
+ manifest: {
422
+ version: manifest.version,
423
+ manualSteps: manifest.manualSteps,
424
+ env: manifest.env,
425
+ },
426
+ });
427
+ log.success(`✓ ${featureName} installed successfully!`);
428
+ }
429
+ catch (error) {
430
+ log.warn(`⚠ Failed to install ${featureName}: ${error.message}`);
431
+ log.info(`You can install it later with: vf add ${featureName}`);
432
+ }
433
+ }
434
+ // Go back to original directory
435
+ process.chdir('..');
436
+ log.plain('');
437
+ log.plain('━'.repeat(60));
438
+ log.success(`✓ Installed ${selectedFeatures.length} feature(s)`);
439
+ log.plain('');
440
+ }
324
441
  // Step 7: Login with license key (REQUIRED)
325
442
  let licenseKey = options.license;
326
443
  // Check if user already has a license key saved
@@ -343,7 +460,7 @@ export const initCommand = new Command('init')
343
460
  log.error('License key is required. Use --license <key> or run "vf login" first');
344
461
  process.exit(1);
345
462
  }
346
- licenseKey = await promptInput('Enter your license key:');
463
+ licenseKey = await promptUser('Enter your license key: ');
347
464
  if (!licenseKey || licenseKey.trim() === '') {
348
465
  log.error('License key cannot be empty');
349
466
  process.exit(1);
@@ -363,7 +480,11 @@ export const initCommand = new Command('init')
363
480
  log.plain('');
364
481
  log.success('🎉 Project initialized successfully!');
365
482
  log.plain('');
483
+ log.info(`Setup: ${starterType === 'clean' ? 'Clean' : 'Custom'}`);
366
484
  log.info(`Platforms: ${platforms.join(' + ')}`);
485
+ if (starterType === 'custom' && selectedFeatures.length > 0) {
486
+ log.info(`Features: ${selectedFeatures.join(', ')}`);
487
+ }
367
488
  log.plain('');
368
489
  log.info('Next steps:');
369
490
  log.plain(` 1. cd ${projectName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const platformCommand: Command;
3
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/commands/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,eAAe,SAwSzB,CAAC"}
@@ -0,0 +1,245 @@
1
+ import { Command } from 'commander';
2
+ import { log } from '../core/log.js';
3
+ import { withSpinner } from '../core/spinner.js';
4
+ import { promptSelectAsync } from '../core/prompt.js';
5
+ import { existsSync, rmSync } from 'fs';
6
+ import { join } from 'path';
7
+ import simpleGit from 'simple-git';
8
+ export const platformCommand = new Command('platform')
9
+ .description('Manage platforms in your VibeFast project')
10
+ .addCommand(new Command('add')
11
+ .description('Add a missing platform to your project')
12
+ .option('--yes', 'Skip confirmation prompts')
13
+ .action(async (options) => {
14
+ try {
15
+ const paths = await import('../core/paths.js').then(m => m.getPaths());
16
+ // Check if we're in a VibeFast project
17
+ if (!existsSync(join(paths.cwd, '.vibefast'))) {
18
+ log.error('Not a VibeFast project. Run this from your VibeFast project root.');
19
+ process.exit(1);
20
+ }
21
+ // Check what platforms currently exist
22
+ const hasNative = existsSync(join(paths.cwd, 'apps/native'));
23
+ const hasWeb = existsSync(join(paths.cwd, 'apps/web'));
24
+ if (hasNative && hasWeb) {
25
+ log.info('✓ Both platforms already exist');
26
+ process.exit(0);
27
+ }
28
+ // Determine what can be added
29
+ const availablePlatforms = [];
30
+ if (!hasNative)
31
+ availablePlatforms.push({ value: 'native', label: '📱 Native (Expo)' });
32
+ if (!hasWeb)
33
+ availablePlatforms.push({ value: 'web', label: '🌐 Web (Next.js)' });
34
+ if (availablePlatforms.length === 0) {
35
+ log.info('✓ All platforms already exist');
36
+ process.exit(0);
37
+ }
38
+ log.plain('');
39
+ log.info('Available platforms to add:');
40
+ log.plain('');
41
+ const platformToAdd = await promptSelectAsync('Which platform would you like to add?', availablePlatforms);
42
+ if (!platformToAdd) {
43
+ log.info('Cancelled');
44
+ process.exit(0);
45
+ }
46
+ log.plain('');
47
+ log.info(`Adding ${platformToAdd === 'native' ? 'Native (Expo)' : 'Web (Next.js)'} platform...`);
48
+ log.plain('');
49
+ // Clone the platform from the clean branch
50
+ const repoUrl = 'https://github.com/mzafarr/vibefast-pro.git';
51
+ const tempDir = join(paths.cwd, '.temp-platform-clone');
52
+ await withSpinner(`Cloning ${platformToAdd} platform...`, async () => {
53
+ const git = simpleGit();
54
+ const cloneOptions = ['--depth', '1', '--branch', 'clean', '--single-branch', '--sparse'];
55
+ try {
56
+ await git.clone(repoUrl, tempDir, cloneOptions);
57
+ // Sparse checkout only the platform we need
58
+ const sparseGit = simpleGit(tempDir);
59
+ await sparseGit.raw(['sparse-checkout', 'set', `apps/${platformToAdd}`]);
60
+ }
61
+ catch (error) {
62
+ throw new Error(`Failed to clone platform: ${error.message}`);
63
+ }
64
+ }, {
65
+ successText: `✓ Platform cloned`,
66
+ });
67
+ // Copy the platform to the project
68
+ await withSpinner(`Setting up ${platformToAdd} platform...`, async () => {
69
+ const { copyFileSync } = await import('fs');
70
+ const { cp } = await import('fs/promises');
71
+ const sourcePath = join(tempDir, 'apps', platformToAdd);
72
+ const destPath = join(paths.cwd, 'apps', platformToAdd);
73
+ if (existsSync(sourcePath)) {
74
+ await cp(sourcePath, destPath, { recursive: true });
75
+ }
76
+ else {
77
+ throw new Error(`Platform directory not found in clone`);
78
+ }
79
+ // Update package.json workspaces
80
+ const packageJsonPath = join(paths.cwd, 'package.json');
81
+ if (existsSync(packageJsonPath)) {
82
+ const { readFileSync, writeFileSync } = await import('fs');
83
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
84
+ if (packageJson.workspaces && !packageJson.workspaces.includes(`apps/${platformToAdd}`)) {
85
+ packageJson.workspaces.push(`apps/${platformToAdd}`);
86
+ writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
87
+ }
88
+ }
89
+ // Update turbo.json
90
+ const turboJsonPath = join(paths.cwd, 'turbo.json');
91
+ if (existsSync(turboJsonPath)) {
92
+ const { readFileSync, writeFileSync } = await import('fs');
93
+ const turboJson = JSON.parse(readFileSync(turboJsonPath, 'utf-8'));
94
+ if (turboJson.pipeline) {
95
+ // Add platform-specific tasks if they don't exist
96
+ if (platformToAdd === 'native') {
97
+ if (!turboJson.pipeline['dev:native']) {
98
+ turboJson.pipeline['dev:native'] = { cache: false };
99
+ }
100
+ if (!turboJson.pipeline['native:*']) {
101
+ turboJson.pipeline['native:*'] = { cache: false };
102
+ }
103
+ }
104
+ else if (platformToAdd === 'web') {
105
+ if (!turboJson.pipeline['dev:web']) {
106
+ turboJson.pipeline['dev:web'] = { cache: false };
107
+ }
108
+ if (!turboJson.pipeline['web:*']) {
109
+ turboJson.pipeline['web:*'] = { cache: false };
110
+ }
111
+ }
112
+ writeFileSync(turboJsonPath, JSON.stringify(turboJson, null, 2));
113
+ }
114
+ }
115
+ // Clean up temp directory
116
+ if (existsSync(tempDir)) {
117
+ rmSync(tempDir, { recursive: true, force: true });
118
+ }
119
+ }, {
120
+ successText: `✓ Platform setup complete`,
121
+ });
122
+ log.plain('');
123
+ log.success(`✓ ${platformToAdd === 'native' ? 'Native' : 'Web'} platform added successfully!`);
124
+ log.plain('');
125
+ log.info('Next steps:');
126
+ log.plain(' 1. Install dependencies:');
127
+ log.plain(' pnpm install');
128
+ log.plain('');
129
+ if (platformToAdd === 'native') {
130
+ log.plain(' 2. Start developing:');
131
+ log.plain(' pnpm dev:native');
132
+ log.plain(' pnpm native:ios');
133
+ log.plain(' pnpm native:android');
134
+ }
135
+ else {
136
+ log.plain(' 2. Start developing:');
137
+ log.plain(' pnpm dev:web');
138
+ }
139
+ log.plain('');
140
+ }
141
+ catch (error) {
142
+ log.plain('');
143
+ log.error(`Failed to add platform: ${error.message}`);
144
+ process.exit(1);
145
+ }
146
+ }))
147
+ .addCommand(new Command('remove')
148
+ .description('Remove a platform from your project')
149
+ .option('--yes', 'Skip confirmation prompts')
150
+ .action(async (options) => {
151
+ try {
152
+ const paths = await import('../core/paths.js').then(m => m.getPaths());
153
+ // Check if we're in a VibeFast project
154
+ if (!existsSync(join(paths.cwd, '.vibefast'))) {
155
+ log.error('Not a VibeFast project. Run this from your VibeFast project root.');
156
+ process.exit(1);
157
+ }
158
+ // Check what platforms currently exist
159
+ const hasNative = existsSync(join(paths.cwd, 'apps/native'));
160
+ const hasWeb = existsSync(join(paths.cwd, 'apps/web'));
161
+ if (!hasNative && !hasWeb) {
162
+ log.error('No platforms found to remove');
163
+ process.exit(1);
164
+ }
165
+ // Determine what can be removed
166
+ const removablePlatforms = [];
167
+ if (hasNative)
168
+ removablePlatforms.push({ value: 'native', label: '📱 Native (Expo)' });
169
+ if (hasWeb)
170
+ removablePlatforms.push({ value: 'web', label: '🌐 Web (Next.js)' });
171
+ if (removablePlatforms.length === 1) {
172
+ log.error('Cannot remove the only platform. You must have at least one platform.');
173
+ process.exit(1);
174
+ }
175
+ log.plain('');
176
+ log.info('Platforms you can remove:');
177
+ log.plain('');
178
+ const platformToRemove = await promptSelectAsync('Which platform would you like to remove?', removablePlatforms);
179
+ if (!platformToRemove) {
180
+ log.info('Cancelled');
181
+ process.exit(0);
182
+ }
183
+ log.plain('');
184
+ log.warn(`⚠ This will remove the ${platformToRemove === 'native' ? 'Native' : 'Web'} platform and all its files.`);
185
+ const { promptYesNo } = await import('../core/prompt.js');
186
+ const confirmed = options.yes || await promptYesNo('Are you sure?', false);
187
+ if (!confirmed) {
188
+ log.info('Cancelled');
189
+ process.exit(0);
190
+ }
191
+ log.plain('');
192
+ await withSpinner(`Removing ${platformToRemove} platform...`, async () => {
193
+ const platformPath = join(paths.cwd, 'apps', platformToRemove);
194
+ if (existsSync(platformPath)) {
195
+ rmSync(platformPath, { recursive: true, force: true });
196
+ }
197
+ // Update package.json workspaces
198
+ const packageJsonPath = join(paths.cwd, 'package.json');
199
+ if (existsSync(packageJsonPath)) {
200
+ const { readFileSync, writeFileSync } = await import('fs');
201
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
202
+ if (packageJson.workspaces) {
203
+ packageJson.workspaces = packageJson.workspaces.filter((ws) => !ws.includes(`apps/${platformToRemove}`));
204
+ writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
205
+ }
206
+ }
207
+ // Update turbo.json
208
+ const turboJsonPath = join(paths.cwd, 'turbo.json');
209
+ if (existsSync(turboJsonPath)) {
210
+ const { readFileSync, writeFileSync } = await import('fs');
211
+ const turboJson = JSON.parse(readFileSync(turboJsonPath, 'utf-8'));
212
+ if (turboJson.pipeline) {
213
+ const tasksToRemove = [];
214
+ if (platformToRemove === 'native') {
215
+ tasksToRemove.push('native:*', 'dev:native', 'build:native');
216
+ }
217
+ else {
218
+ tasksToRemove.push('web:*', 'dev:web', 'build:web');
219
+ }
220
+ tasksToRemove.forEach(task => {
221
+ if (turboJson.pipeline[task]) {
222
+ delete turboJson.pipeline[task];
223
+ }
224
+ });
225
+ writeFileSync(turboJsonPath, JSON.stringify(turboJson, null, 2));
226
+ }
227
+ }
228
+ }, {
229
+ successText: `✓ Platform removed`,
230
+ });
231
+ log.plain('');
232
+ log.success(`✓ ${platformToRemove === 'native' ? 'Native' : 'Web'} platform removed successfully!`);
233
+ log.plain('');
234
+ log.info('Next steps:');
235
+ log.plain(' 1. Clean up dependencies:');
236
+ log.plain(' pnpm install');
237
+ log.plain('');
238
+ }
239
+ catch (error) {
240
+ log.plain('');
241
+ log.error(`Failed to remove platform: ${error.message}`);
242
+ process.exit(1);
243
+ }
244
+ }));
245
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/commands/platform.ts"],"names":[],"mappings":"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"}