vibefast-cli 0.1.3 → 0.2.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.
- package/AUTO-DETECT-DEPS.md +607 -0
- package/CHANGELOG.md +86 -0
- package/FINAL-PACKAGE-STRATEGY.md +583 -0
- package/FINAL-SIMPLE-PLAN.md +487 -0
- package/FLOW-DIAGRAM.md +1629 -0
- package/GOTCHAS-AND-RISKS.md +801 -0
- package/IMPLEMENTATION-COMPLETE.md +477 -0
- package/IMPLEMENTATION-PLAN.md +1360 -0
- package/PRE-PUBLISH-CHECKLIST.md +558 -0
- package/PRODUCTION-READINESS.md +684 -0
- package/PRODUCTION-TEST-RESULTS.md +465 -0
- package/README.md +73 -7
- package/READY-TO-PUBLISH.md +419 -0
- package/SIMPLIFIED-PLAN.md +578 -0
- package/TEST-SUMMARY.md +261 -0
- package/USER-MODIFICATIONS.md +448 -0
- package/cloudflare-worker/worker.js +39 -11
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +192 -15
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/checklist.d.ts +3 -0
- package/dist/commands/checklist.d.ts.map +1 -0
- package/dist/commands/checklist.js +64 -0
- package/dist/commands/checklist.js.map +1 -0
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +85 -2
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +40 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/core/__tests__/fsx.test.d.ts +2 -0
- package/dist/core/__tests__/fsx.test.d.ts.map +1 -0
- package/dist/core/__tests__/fsx.test.js +79 -0
- package/dist/core/__tests__/fsx.test.js.map +1 -0
- package/dist/core/__tests__/hash.test.d.ts +2 -0
- package/dist/core/__tests__/hash.test.d.ts.map +1 -0
- package/dist/core/__tests__/hash.test.js +84 -0
- package/dist/core/__tests__/hash.test.js.map +1 -0
- package/dist/core/__tests__/journal.test.js +65 -0
- package/dist/core/__tests__/journal.test.js.map +1 -1
- package/dist/core/__tests__/prompt.test.d.ts +2 -0
- package/dist/core/__tests__/prompt.test.d.ts.map +1 -0
- package/dist/core/__tests__/prompt.test.js +56 -0
- package/dist/core/__tests__/prompt.test.js.map +1 -0
- package/dist/core/fsx.d.ts +7 -1
- package/dist/core/fsx.d.ts.map +1 -1
- package/dist/core/fsx.js +18 -3
- package/dist/core/fsx.js.map +1 -1
- package/dist/core/hash.d.ts +13 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +69 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/journal.d.ts +10 -1
- package/dist/core/journal.d.ts.map +1 -1
- package/dist/core/journal.js +23 -1
- package/dist/core/journal.js.map +1 -1
- package/dist/core/prompt.d.ts +11 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +34 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
- package/src/commands/add.ts +234 -16
- package/src/commands/checklist.ts +71 -0
- package/src/commands/remove.ts +105 -3
- package/src/commands/status.ts +47 -0
- package/src/core/__tests__/fsx.test.ts +101 -0
- package/src/core/__tests__/hash.test.ts +112 -0
- package/src/core/__tests__/journal.test.ts +76 -0
- package/src/core/__tests__/prompt.test.ts +72 -0
- package/src/core/fsx.ts +38 -5
- package/src/core/hash.ts +84 -0
- package/src/core/journal.ts +40 -2
- package/src/core/prompt.ts +40 -0
- package/src/index.ts +5 -1
- package/text.md +27 -0
|
@@ -39,6 +39,12 @@ async function validateLicenseWithLemon(licenseKey, env) {
|
|
|
39
39
|
parseEnvInt(env.VIBEFAST_CORE_ID, null),
|
|
40
40
|
].filter((v) => Number.isInteger(v));
|
|
41
41
|
|
|
42
|
+
|
|
43
|
+
console.log("storeId", storeId);
|
|
44
|
+
console.log("productId", productId);
|
|
45
|
+
console.log("allowedVariants", allowedVariants);
|
|
46
|
+
console.log("licenseKey", licenseKey);
|
|
47
|
+
|
|
42
48
|
const res = await fetch("https://api.lemonsqueezy.com/v1/licenses/validate", {
|
|
43
49
|
method: "POST",
|
|
44
50
|
headers: {
|
|
@@ -49,33 +55,57 @@ async function validateLicenseWithLemon(licenseKey, env) {
|
|
|
49
55
|
body: JSON.stringify({ license_key: licenseKey }),
|
|
50
56
|
});
|
|
51
57
|
|
|
58
|
+
let payload = null;
|
|
59
|
+
try {
|
|
60
|
+
payload = await res.json();
|
|
61
|
+
console.log("payload", payload);
|
|
62
|
+
} catch (err) {
|
|
63
|
+
console.error("[Worker] Failed to parse LemonSqueezy response", err);
|
|
64
|
+
}
|
|
65
|
+
|
|
52
66
|
if (!res.ok) {
|
|
53
|
-
const detail =
|
|
67
|
+
const detail =
|
|
68
|
+
(payload && (payload.error || payload.message)) || res.statusText;
|
|
54
69
|
console.error(
|
|
55
70
|
`[Worker] LemonSqueezy validation failed: ${res.status} ${res.statusText} ${detail}`
|
|
56
71
|
);
|
|
57
72
|
return {
|
|
58
73
|
ok: false,
|
|
59
|
-
status: res.status
|
|
74
|
+
status: res.status,
|
|
60
75
|
message:
|
|
61
76
|
res.status === 401
|
|
62
77
|
? "License validation is unauthorized. Check your LemonSqueezy API key."
|
|
63
|
-
: "Unable to validate license at this time.",
|
|
78
|
+
: detail || "Unable to validate license at this time.",
|
|
64
79
|
};
|
|
65
80
|
}
|
|
66
81
|
|
|
67
|
-
const data =
|
|
68
|
-
|
|
82
|
+
const data = payload;
|
|
83
|
+
const keyData = data?.license_key;
|
|
84
|
+
const meta = data?.meta;
|
|
85
|
+
const licenseStatus = keyData?.status;
|
|
86
|
+
const variantId = meta?.variant_id;
|
|
87
|
+
const deviceLimit = getDeviceLimitForVariant(variantId, env);
|
|
88
|
+
|
|
89
|
+
console.log("payload", payload);
|
|
90
|
+
console.log("data", data);
|
|
91
|
+
console.log("keyData", keyData);
|
|
92
|
+
console.log("meta", meta);
|
|
93
|
+
console.log("licenseStatus", licenseStatus);
|
|
94
|
+
console.log("variantId", variantId);
|
|
95
|
+
console.log("deviceLimit", deviceLimit);
|
|
96
|
+
if (!data?.valid) {
|
|
97
|
+
const detail = data?.error || data?.message || "";
|
|
98
|
+
const friendly = detail.includes("license_key not found")
|
|
99
|
+
? "License key not found. Double-check you pasted it exactly from your purchase email."
|
|
100
|
+
: detail || "License key is invalid.";
|
|
101
|
+
|
|
69
102
|
return {
|
|
70
103
|
ok: false,
|
|
71
104
|
status: 401,
|
|
72
|
-
message:
|
|
105
|
+
message: friendly,
|
|
73
106
|
};
|
|
74
107
|
}
|
|
75
108
|
|
|
76
|
-
const keyData = data.license_key;
|
|
77
|
-
const meta = data.meta;
|
|
78
|
-
|
|
79
109
|
if (meta.store_id !== storeId) {
|
|
80
110
|
return {
|
|
81
111
|
ok: false,
|
|
@@ -108,8 +138,6 @@ async function validateLicenseWithLemon(licenseKey, env) {
|
|
|
108
138
|
};
|
|
109
139
|
}
|
|
110
140
|
|
|
111
|
-
const deviceLimit = getDeviceLimitForVariant(meta.variant_id, env);
|
|
112
|
-
|
|
113
141
|
return {
|
|
114
142
|
ok: true,
|
|
115
143
|
meta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,eAAO,MAAM,UAAU,SAoWnB,CAAC"}
|
package/dist/commands/add.js
CHANGED
|
@@ -10,12 +10,14 @@ import { insertNavLinkNative, insertNavLinkWeb } from '../core/codemod.js';
|
|
|
10
10
|
import { join, resolve } from 'path';
|
|
11
11
|
import { ensureWithinBase } from '../core/pathGuard.js';
|
|
12
12
|
import { extractZipSafe } from '../core/archive.js';
|
|
13
|
+
import { hashFiles } from '../core/hash.js';
|
|
13
14
|
export const addCommand = new Command('add')
|
|
14
15
|
.description('Add a VibeFast feature to your project')
|
|
15
16
|
.argument('<feature>', 'Feature name to install')
|
|
16
17
|
.option('--target <target>', 'Target platform (native or web)', 'native')
|
|
17
18
|
.option('--dry-run', 'Preview changes without applying')
|
|
18
|
-
.option('--force', 'Overwrite existing files')
|
|
19
|
+
.option('--force', 'Overwrite existing files without asking')
|
|
20
|
+
.option('--yes', 'Answer yes to all prompts (for automation)')
|
|
19
21
|
.action(async (feature, options) => {
|
|
20
22
|
try {
|
|
21
23
|
const paths = getPaths();
|
|
@@ -50,10 +52,77 @@ export const addCommand = new Command('add')
|
|
|
50
52
|
starter: { name: config.name, version: config.version },
|
|
51
53
|
});
|
|
52
54
|
if (!response.ok || (!response.signedUrl && !response.zipData)) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
const error = response.error || 'Unknown error';
|
|
56
|
+
const message = response.message || '';
|
|
57
|
+
log.plain('');
|
|
58
|
+
log.error('Failed to fetch recipe');
|
|
59
|
+
log.plain('');
|
|
60
|
+
// User-friendly error messages
|
|
61
|
+
if (error.includes('Invalid') || error.includes('token') || error.includes('license')) {
|
|
62
|
+
log.plain('❌ Invalid or expired license key');
|
|
63
|
+
log.plain('');
|
|
64
|
+
log.info('Your license key may be:');
|
|
65
|
+
log.plain(' • Incorrect or mistyped');
|
|
66
|
+
log.plain(' • Expired');
|
|
67
|
+
log.plain(' • Revoked');
|
|
68
|
+
log.plain('');
|
|
69
|
+
log.info('To fix this:');
|
|
70
|
+
log.plain(' 1. Check your license key from your purchase receipt');
|
|
71
|
+
log.plain(' 2. Run: vf logout');
|
|
72
|
+
log.plain(' 3. Run: vf login --token YOUR_CORRECT_TOKEN');
|
|
73
|
+
log.plain('');
|
|
74
|
+
log.info('Need help? Contact support@vibefast.pro');
|
|
56
75
|
}
|
|
76
|
+
else if (error.includes('Device limit') || error.includes('device') || message.includes('device')) {
|
|
77
|
+
log.plain('❌ Device limit reached');
|
|
78
|
+
log.plain('');
|
|
79
|
+
log.info('You have reached the maximum number of devices for your license');
|
|
80
|
+
log.plain('');
|
|
81
|
+
log.info('To fix this:');
|
|
82
|
+
log.plain(' 1. Run: vf devices');
|
|
83
|
+
log.plain(' 2. Deactivate an unused device: vf devices --deactivate <device-id>');
|
|
84
|
+
log.plain(' 3. Try again: vf add ' + feature);
|
|
85
|
+
log.plain('');
|
|
86
|
+
if (message) {
|
|
87
|
+
log.plain(`Details: ${message}`);
|
|
88
|
+
log.plain('');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (error.includes('Network') || error.includes('connect')) {
|
|
92
|
+
log.plain('❌ Network error');
|
|
93
|
+
log.plain('');
|
|
94
|
+
log.info('Could not connect to VibeFast servers');
|
|
95
|
+
log.plain('');
|
|
96
|
+
log.info('Please check:');
|
|
97
|
+
log.plain(' • Your internet connection');
|
|
98
|
+
log.plain(' • Firewall settings');
|
|
99
|
+
log.plain(' • VPN configuration');
|
|
100
|
+
log.plain('');
|
|
101
|
+
if (message) {
|
|
102
|
+
log.plain(`Details: ${message}`);
|
|
103
|
+
log.plain('');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (error.includes('not found') || error.includes('404')) {
|
|
107
|
+
log.plain('❌ Feature not found');
|
|
108
|
+
log.plain('');
|
|
109
|
+
log.info(`The feature "${feature}" does not exist or is not available for ${target}`);
|
|
110
|
+
log.plain('');
|
|
111
|
+
log.info('To see available features:');
|
|
112
|
+
log.plain(' vf list');
|
|
113
|
+
log.plain('');
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// Generic error
|
|
117
|
+
log.plain(`❌ ${error}`);
|
|
118
|
+
if (message) {
|
|
119
|
+
log.plain('');
|
|
120
|
+
log.plain(`Details: ${message}`);
|
|
121
|
+
}
|
|
122
|
+
log.plain('');
|
|
123
|
+
log.info('If this problem persists, contact support@vibefast.pro');
|
|
124
|
+
}
|
|
125
|
+
log.plain('');
|
|
57
126
|
process.exit(1);
|
|
58
127
|
}
|
|
59
128
|
// Download and extract
|
|
@@ -73,17 +142,40 @@ export const addCommand = new Command('add')
|
|
|
73
142
|
throw new Error(`Recipe target mismatch: expected ${target}, got ${manifest.target}`);
|
|
74
143
|
}
|
|
75
144
|
log.info(`Installing ${manifest.name} v${manifest.version}...`);
|
|
76
|
-
// Copy files
|
|
145
|
+
// Copy files with interactive confirmation
|
|
77
146
|
const copiedFiles = [];
|
|
147
|
+
const allConflicts = [];
|
|
148
|
+
const allSkipped = [];
|
|
78
149
|
for (const copySpec of manifest.copy) {
|
|
79
150
|
const srcPath = ensureWithinBase(extractRoot, resolve(extractRoot, copySpec.from), `Recipe file ${copySpec.from}`);
|
|
80
151
|
const destPath = ensureWithinBase(repoRoot, resolve(repoRoot, copySpec.to), `Destination ${copySpec.to}`);
|
|
81
152
|
log.info(`Copying ${copySpec.from} → ${copySpec.to}`);
|
|
82
|
-
const
|
|
153
|
+
const result = await copyTree(srcPath, destPath, {
|
|
83
154
|
dryRun: options.dryRun,
|
|
84
155
|
force: options.force,
|
|
156
|
+
interactive: !options.force && !options.dryRun && !options.yes,
|
|
157
|
+
});
|
|
158
|
+
copiedFiles.push(...result.files);
|
|
159
|
+
allConflicts.push(...result.conflicts);
|
|
160
|
+
allSkipped.push(...result.skipped);
|
|
161
|
+
}
|
|
162
|
+
// Show conflict warnings in dry-run mode
|
|
163
|
+
if (options.dryRun && allConflicts.length > 0) {
|
|
164
|
+
log.plain('');
|
|
165
|
+
log.warn(`⚠ ${allConflicts.length} file(s) will be overwritten:`);
|
|
166
|
+
allConflicts.slice(0, 5).forEach(f => {
|
|
167
|
+
const relativePath = f.replace(paths.cwd + '/', '');
|
|
168
|
+
log.plain(` • ${relativePath}`);
|
|
85
169
|
});
|
|
86
|
-
|
|
170
|
+
if (allConflicts.length > 5) {
|
|
171
|
+
log.plain(` ... and ${allConflicts.length - 5} more`);
|
|
172
|
+
}
|
|
173
|
+
log.warn('⚠ Make sure you have committed your changes to Git!');
|
|
174
|
+
log.plain('');
|
|
175
|
+
}
|
|
176
|
+
// Show skipped files
|
|
177
|
+
if (allSkipped.length > 0) {
|
|
178
|
+
log.info(`ℹ Skipped ${allSkipped.length} file(s) (you chose not to overwrite)`);
|
|
87
179
|
}
|
|
88
180
|
// Add watermark if provided
|
|
89
181
|
if (response.watermark && !options.dryRun) {
|
|
@@ -114,29 +206,114 @@ export const addCommand = new Command('add')
|
|
|
114
206
|
log.info('Navigation link already exists');
|
|
115
207
|
}
|
|
116
208
|
}
|
|
117
|
-
//
|
|
209
|
+
// Hash files and update journal
|
|
118
210
|
if (!options.dryRun) {
|
|
211
|
+
log.info('Computing file hashes...');
|
|
212
|
+
const fileHashes = await hashFiles(copiedFiles, { showProgress: copiedFiles.length > 20 });
|
|
213
|
+
const fileEntries = Array.from(fileHashes.entries()).map(([path, hash]) => ({
|
|
214
|
+
path,
|
|
215
|
+
hash,
|
|
216
|
+
}));
|
|
119
217
|
await addEntry(paths.journalFile, {
|
|
120
218
|
feature: manifest.name,
|
|
121
219
|
target: manifest.target,
|
|
122
|
-
files:
|
|
220
|
+
files: fileEntries,
|
|
123
221
|
insertedNav: navInserted,
|
|
124
222
|
navHref,
|
|
125
223
|
navLabel,
|
|
126
224
|
ts: Date.now(),
|
|
225
|
+
manifest: {
|
|
226
|
+
version: manifest.version,
|
|
227
|
+
manualSteps: manifest.manualSteps,
|
|
228
|
+
env: manifest.env,
|
|
229
|
+
},
|
|
127
230
|
});
|
|
128
231
|
}
|
|
129
232
|
log.success(`${manifest.name} installed successfully!`);
|
|
130
233
|
log.info(`Files added: ${copiedFiles.length}`);
|
|
234
|
+
// Show required packages
|
|
235
|
+
if (manifest.dependencies) {
|
|
236
|
+
log.plain('');
|
|
237
|
+
log.warn('⚠ This feature requires additional packages');
|
|
238
|
+
log.plain('');
|
|
239
|
+
if (manifest.target === 'native' && manifest.dependencies.expo) {
|
|
240
|
+
const packages = manifest.dependencies.expo;
|
|
241
|
+
log.info('📦 Required packages:');
|
|
242
|
+
packages.forEach(pkg => {
|
|
243
|
+
log.plain(` • ${pkg}`);
|
|
244
|
+
});
|
|
245
|
+
log.plain('');
|
|
246
|
+
log.info('Install with:');
|
|
247
|
+
log.plain(` npx expo install ${packages.join(' ')}`);
|
|
248
|
+
log.plain('');
|
|
249
|
+
log.info('💡 Expo will automatically pick compatible versions');
|
|
250
|
+
}
|
|
251
|
+
else if (manifest.target === 'web' && manifest.dependencies.npm) {
|
|
252
|
+
const packages = manifest.dependencies.npm;
|
|
253
|
+
log.info('📦 Required packages:');
|
|
254
|
+
packages.forEach(pkg => {
|
|
255
|
+
log.plain(` • ${pkg}`);
|
|
256
|
+
});
|
|
257
|
+
log.plain('');
|
|
258
|
+
log.info('Install with:');
|
|
259
|
+
log.plain(` pnpm add ${packages.join(' ')}`);
|
|
260
|
+
log.plain(' OR');
|
|
261
|
+
log.plain(` yarn add ${packages.join(' ')}`);
|
|
262
|
+
log.plain(` OR`);
|
|
263
|
+
log.plain(` npm install ${packages.join(' ')}`);
|
|
264
|
+
}
|
|
265
|
+
log.plain('');
|
|
266
|
+
}
|
|
267
|
+
// Show manual steps
|
|
268
|
+
if (manifest.manualSteps && !options.dryRun) {
|
|
269
|
+
log.plain('');
|
|
270
|
+
log.warn('⚠ MANUAL STEPS REQUIRED:');
|
|
271
|
+
log.plain('');
|
|
272
|
+
log.plain('This feature requires some manual configuration:');
|
|
273
|
+
log.plain('');
|
|
274
|
+
manifest.manualSteps.forEach((step, index) => {
|
|
275
|
+
log.plain(`Step ${index + 1}: ${step.title}`);
|
|
276
|
+
log.plain(` ${step.description}`);
|
|
277
|
+
if (step.link) {
|
|
278
|
+
log.plain(` 🔗 ${step.link}`);
|
|
279
|
+
}
|
|
280
|
+
if (step.file) {
|
|
281
|
+
log.plain(` 📝 File: ${step.file}`);
|
|
282
|
+
}
|
|
283
|
+
if (step.content) {
|
|
284
|
+
log.plain(` Add: ${step.content}`);
|
|
285
|
+
}
|
|
286
|
+
log.plain('');
|
|
287
|
+
});
|
|
288
|
+
log.info(`💡 Run 'vf checklist ${manifest.name}' to see these steps again`);
|
|
289
|
+
log.plain('');
|
|
290
|
+
}
|
|
291
|
+
// Show environment variables
|
|
292
|
+
if (manifest.env && !options.dryRun) {
|
|
293
|
+
log.plain('');
|
|
294
|
+
log.warn('⚠ REQUIRED ENVIRONMENT VARIABLES:');
|
|
295
|
+
log.plain('');
|
|
296
|
+
manifest.env.forEach(envVar => {
|
|
297
|
+
log.plain(` ${envVar.key}`);
|
|
298
|
+
log.plain(` ${envVar.description}`);
|
|
299
|
+
log.plain(` Example: ${envVar.example}`);
|
|
300
|
+
if (envVar.link) {
|
|
301
|
+
log.plain(` Get it: ${envVar.link}`);
|
|
302
|
+
}
|
|
303
|
+
log.plain('');
|
|
304
|
+
});
|
|
305
|
+
log.info('Add these to your .env file');
|
|
306
|
+
log.plain('');
|
|
307
|
+
}
|
|
308
|
+
// Post-install message
|
|
309
|
+
if (manifest.postInstall?.message && !options.dryRun) {
|
|
310
|
+
log.plain('');
|
|
311
|
+
log.info(manifest.postInstall.message);
|
|
312
|
+
}
|
|
131
313
|
if (options.dryRun) {
|
|
314
|
+
log.plain('');
|
|
132
315
|
log.warn('This was a dry run. Run without --dry-run to apply changes.');
|
|
133
316
|
}
|
|
134
|
-
else {
|
|
135
|
-
log.info('Next steps:');
|
|
136
|
-
log.plain(` 1. Review the changes in your repo`);
|
|
137
|
-
log.plain(` 2. Run your dev server to test`);
|
|
138
|
-
log.plain(` 3. Navigate to the new feature`);
|
|
139
|
-
}
|
|
140
317
|
}
|
|
141
318
|
catch (error) {
|
|
142
319
|
log.error(`Installation failed: ${error.message}`);
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgC5C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,EAAE,QAAQ,CAAC;KACxE,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,yCAAyC,CAAC;KAC5D,MAAM,CAAC,OAAO,EAAE,4CAA4C,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAA0B,CAAC;QAElD,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,aAAa;QACb,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,6BAA6B,MAAM,EAAE,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,CAAC;QAED,eAAe;QACf,GAAG,CAAC,IAAI,CAAC,YAAY,OAAO,QAAQ,MAAM,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;YACjC,KAAK;YACL,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SACxD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,eAAe,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAEvC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEd,+BAA+B;YAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACvC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBACpE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACjC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC3D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAClC,GAAG,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBACnF,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;gBAC/C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oBACjC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC7B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAClD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACnC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACnC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;oBACjC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACjC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,4CAA4C,MAAM,EAAE,CAAC,CAAC;gBACtF,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACvC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACvB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBACxB,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACd,GAAG,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACrE,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,uBAAuB;QACvB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;YAC9B,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3C,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,SAAU,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1C,gBAAgB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAmB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,SAAS,QAAQ,CAAC,MAAM,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;QAEhE,2CAA2C;QAC3C,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,gBAAgB,CAC9B,WAAW,EACX,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EACnC,eAAe,QAAQ,CAAC,IAAI,EAAE,CAC/B,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,QAAQ,EACR,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAC9B,eAAe,QAAQ,CAAC,EAAE,EAAE,CAC7B,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;gBAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG;aAC/D,CAAC,CAAC;YAEH,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAClE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnC,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,aAAa,YAAY,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,qBAAqB;QACrB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,MAAM,uCAAuC,CAAC,CAAC;QAClF,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC7E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnG,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,WAAW,GAAG,wBAAwB,QAAQ,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC7E,MAAM,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,OAA2B,CAAC;QAChC,IAAI,QAA4B,CAAC;QACjC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC9E,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAE9B,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YAE3F,MAAM,WAAW,GAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvF,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC,CAAC;YAEJ,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;gBAChC,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,WAAW;gBACxB,OAAO;gBACP,QAAQ;gBACR,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,QAAQ,EAAE;oBACR,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/C,yBAAyB;QACzB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEd,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;gBAE5C,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEd,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAElE,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC;gBAE3C,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEd,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEd,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC3C,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;YAC5E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC9C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEd,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7B,GAAG,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvC,GAAG,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,GAAG,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../src/commands/checklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,gBAAgB,SAiEzB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { log } from '../core/log.js';
|
|
3
|
+
import { getPaths } from '../core/paths.js';
|
|
4
|
+
import { getEntry } from '../core/journal.js';
|
|
5
|
+
export const checklistCommand = new Command('checklist')
|
|
6
|
+
.description('Show manual setup steps for an installed feature')
|
|
7
|
+
.argument('<feature>', 'Feature name')
|
|
8
|
+
.option('--target <target>', 'Target platform (native or web)', 'native')
|
|
9
|
+
.action(async (feature, options) => {
|
|
10
|
+
try {
|
|
11
|
+
const paths = getPaths();
|
|
12
|
+
const target = options.target;
|
|
13
|
+
// Check if feature is installed
|
|
14
|
+
const entry = await getEntry(paths.journalFile, feature, target);
|
|
15
|
+
if (!entry) {
|
|
16
|
+
log.error(`${feature} is not installed for ${target}`);
|
|
17
|
+
log.info('Run "vf status" to see installed features');
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
// Check if feature has manual steps
|
|
21
|
+
if (!entry.manifest?.manualSteps || entry.manifest.manualSteps.length === 0) {
|
|
22
|
+
log.info(`${feature} has no manual setup steps`);
|
|
23
|
+
log.success('This feature is ready to use!');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
// Display manual steps
|
|
27
|
+
log.info(`Manual setup steps for ${feature}:`);
|
|
28
|
+
log.plain('');
|
|
29
|
+
entry.manifest.manualSteps.forEach((step, index) => {
|
|
30
|
+
log.plain(`Step ${index + 1}: ${step.title}`);
|
|
31
|
+
log.plain(` ${step.description}`);
|
|
32
|
+
if (step.link) {
|
|
33
|
+
log.plain(` 🔗 ${step.link}`);
|
|
34
|
+
}
|
|
35
|
+
if (step.file) {
|
|
36
|
+
log.plain(` 📝 File: ${step.file}`);
|
|
37
|
+
}
|
|
38
|
+
if (step.content) {
|
|
39
|
+
log.plain(` Add: ${step.content}`);
|
|
40
|
+
}
|
|
41
|
+
log.plain('');
|
|
42
|
+
});
|
|
43
|
+
// Display environment variables if any
|
|
44
|
+
if (entry.manifest.env && entry.manifest.env.length > 0) {
|
|
45
|
+
log.warn('⚠ REQUIRED ENVIRONMENT VARIABLES:');
|
|
46
|
+
log.plain('');
|
|
47
|
+
entry.manifest.env.forEach((envVar) => {
|
|
48
|
+
log.plain(` ${envVar.key}`);
|
|
49
|
+
log.plain(` ${envVar.description}`);
|
|
50
|
+
log.plain(` Example: ${envVar.example}`);
|
|
51
|
+
if (envVar.link) {
|
|
52
|
+
log.plain(` Get it: ${envVar.link}`);
|
|
53
|
+
}
|
|
54
|
+
log.plain('');
|
|
55
|
+
});
|
|
56
|
+
log.info('Add these to your .env file');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
log.error(`Failed to show checklist: ${error.message}`);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=checklist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../src/commands/checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,aAAa,SAyKtB,CAAC"}
|
package/dist/commands/remove.js
CHANGED
|
@@ -5,11 +5,15 @@ import { validateSignature, validateTarget } from '../core/validate.js';
|
|
|
5
5
|
import { getEntry, removeEntry } from '../core/journal.js';
|
|
6
6
|
import { deleteFile } from '../core/fsx.js';
|
|
7
7
|
import { removeNavLinkNative, removeNavLinkWeb } from '../core/codemod.js';
|
|
8
|
+
import { hashFile } from '../core/hash.js';
|
|
9
|
+
import { promptYesNo } from '../core/prompt.js';
|
|
8
10
|
export const removeCommand = new Command('remove')
|
|
9
11
|
.description('Remove a VibeFast feature from your project')
|
|
10
12
|
.argument('<feature>', 'Feature name to remove')
|
|
11
13
|
.option('--target <target>', 'Target platform (native or web)', 'native')
|
|
12
14
|
.option('--dry-run', 'Preview changes without applying')
|
|
15
|
+
.option('--force', 'Skip modification check')
|
|
16
|
+
.option('--yes', 'Answer yes to all prompts')
|
|
13
17
|
.action(async (feature, options) => {
|
|
14
18
|
try {
|
|
15
19
|
const paths = getPaths();
|
|
@@ -28,8 +32,82 @@ export const removeCommand = new Command('remove')
|
|
|
28
32
|
return;
|
|
29
33
|
}
|
|
30
34
|
log.info(`Removing ${feature} from ${target}...`);
|
|
35
|
+
// Check for modifications (unless --force)
|
|
36
|
+
if (!options.force && !options.dryRun) {
|
|
37
|
+
log.info('Checking for file modifications...');
|
|
38
|
+
const modifiedFiles = [];
|
|
39
|
+
// Get file paths from entry
|
|
40
|
+
const filePaths = Array.isArray(entry.files) && entry.files.length > 0
|
|
41
|
+
? typeof entry.files[0] === 'string'
|
|
42
|
+
? entry.files
|
|
43
|
+
: entry.files.map(f => f.path)
|
|
44
|
+
: [];
|
|
45
|
+
const fileHashes = Array.isArray(entry.files) && entry.files.length > 0 && typeof entry.files[0] !== 'string'
|
|
46
|
+
? new Map(entry.files.map(f => [f.path, f.hash]))
|
|
47
|
+
: new Map();
|
|
48
|
+
for (const filePath of filePaths) {
|
|
49
|
+
const originalHash = fileHashes.get(filePath);
|
|
50
|
+
// Skip if we don't have original hash (old journal format)
|
|
51
|
+
if (!originalHash)
|
|
52
|
+
continue;
|
|
53
|
+
const currentHash = await hashFile(filePath);
|
|
54
|
+
if (currentHash === '') {
|
|
55
|
+
// File was deleted by user
|
|
56
|
+
modifiedFiles.push({ path: filePath, status: 'deleted' });
|
|
57
|
+
}
|
|
58
|
+
else if (currentHash !== originalHash) {
|
|
59
|
+
// File was modified by user
|
|
60
|
+
modifiedFiles.push({ path: filePath, status: 'modified' });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Warn about modifications
|
|
64
|
+
if (modifiedFiles.length > 0) {
|
|
65
|
+
log.plain('');
|
|
66
|
+
log.warn('⚠ WARNING: The following files were changed:');
|
|
67
|
+
log.plain('');
|
|
68
|
+
const modified = modifiedFiles.filter(f => f.status === 'modified');
|
|
69
|
+
const deleted = modifiedFiles.filter(f => f.status === 'deleted');
|
|
70
|
+
if (modified.length > 0) {
|
|
71
|
+
log.plain(' Modified by you:');
|
|
72
|
+
modified.slice(0, 10).forEach(f => {
|
|
73
|
+
const relativePath = f.path.replace(paths.cwd + '/', '');
|
|
74
|
+
log.plain(` • ${relativePath}`);
|
|
75
|
+
});
|
|
76
|
+
if (modified.length > 10) {
|
|
77
|
+
log.plain(` ... and ${modified.length - 10} more`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (deleted.length > 0) {
|
|
81
|
+
log.plain('');
|
|
82
|
+
log.plain(' Already deleted:');
|
|
83
|
+
deleted.slice(0, 5).forEach(f => {
|
|
84
|
+
const relativePath = f.path.replace(paths.cwd + '/', '');
|
|
85
|
+
log.plain(` • ${relativePath}`);
|
|
86
|
+
});
|
|
87
|
+
if (deleted.length > 5) {
|
|
88
|
+
log.plain(` ... and ${deleted.length - 5} more`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
log.plain('');
|
|
92
|
+
log.warn('⚠ Your changes will be LOST if you continue!');
|
|
93
|
+
log.info('💡 Make sure you have committed to Git.');
|
|
94
|
+
log.plain('');
|
|
95
|
+
if (!options.yes) {
|
|
96
|
+
const shouldContinue = promptYesNo('Continue with removal? (y/N): ', false);
|
|
97
|
+
if (!shouldContinue) {
|
|
98
|
+
log.info('Removal cancelled');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
31
104
|
// Delete files
|
|
32
|
-
|
|
105
|
+
const filePaths = Array.isArray(entry.files) && entry.files.length > 0
|
|
106
|
+
? typeof entry.files[0] === 'string'
|
|
107
|
+
? entry.files
|
|
108
|
+
: entry.files.map(f => f.path)
|
|
109
|
+
: [];
|
|
110
|
+
for (const file of filePaths) {
|
|
33
111
|
log.info(`Deleting ${file}`);
|
|
34
112
|
if (!options.dryRun) {
|
|
35
113
|
await deleteFile(file);
|
|
@@ -54,7 +132,12 @@ export const removeCommand = new Command('remove')
|
|
|
54
132
|
await removeEntry(paths.journalFile, entry.feature, entry.target);
|
|
55
133
|
}
|
|
56
134
|
log.success(`${feature} removed successfully!`);
|
|
57
|
-
|
|
135
|
+
const fileCount = Array.isArray(entry.files) && entry.files.length > 0
|
|
136
|
+
? typeof entry.files[0] === 'string'
|
|
137
|
+
? entry.files.length
|
|
138
|
+
: entry.files.length
|
|
139
|
+
: 0;
|
|
140
|
+
log.info(`Files deleted: ${fileCount}`);
|
|
58
141
|
if (options.dryRun) {
|
|
59
142
|
log.warn('This was a dry run. Run without --dry-run to apply changes.');
|
|
60
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SAyCtB,CAAC"}
|