@norahe/remotion-workflow 0.1.2 → 0.1.3
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/package.json +1 -1
- package/src/cli.mjs +37 -6
package/package.json
CHANGED
package/src/cli.mjs
CHANGED
|
@@ -23,10 +23,32 @@ Behavior:
|
|
|
23
23
|
const args = process.argv.slice(2);
|
|
24
24
|
const command = args[0];
|
|
25
25
|
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
const parseInitOptions = (argv) => {
|
|
27
|
+
const rest = argv.slice(1);
|
|
28
|
+
let projectName = null;
|
|
29
|
+
|
|
30
|
+
for (let i = 0; i < rest.length; i++) {
|
|
31
|
+
const token = rest[i];
|
|
32
|
+
if (token === '--project-name') {
|
|
33
|
+
const value = rest[i + 1];
|
|
34
|
+
if (!value || value.startsWith('--')) {
|
|
35
|
+
console.error('[workflow] Missing value for --project-name');
|
|
36
|
+
console.log('Example: remotion-workflow init --project-name my-video');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
projectName = value;
|
|
40
|
+
i += 1;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
console.error(`[workflow] Unknown argument: ${token}`);
|
|
45
|
+
console.log('Only supported option: --project-name <name>');
|
|
46
|
+
console.log('If your name has spaces, wrap it in quotes.');
|
|
47
|
+
console.log('Example: remotion-workflow init --project-name "my video"');
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return {projectName};
|
|
30
52
|
};
|
|
31
53
|
|
|
32
54
|
const ensureDir = (target) => {
|
|
@@ -247,7 +269,16 @@ const createProjectIfNeeded = (cwd, projectName) => {
|
|
|
247
269
|
console.error('[workflow] Failed to create Remotion project via create-video.');
|
|
248
270
|
process.exit(result.status || 1);
|
|
249
271
|
}
|
|
250
|
-
|
|
272
|
+
const projectDir = path.join(cwd, safeName);
|
|
273
|
+
const packagePath = path.join(projectDir, 'package.json');
|
|
274
|
+
if (!fs.existsSync(packagePath)) {
|
|
275
|
+
console.error('[workflow] Project scaffold did not produce package.json.');
|
|
276
|
+
console.error(`[workflow] Expected project directory: ${projectDir}`);
|
|
277
|
+
console.error('[workflow] Please run again, or create the project manually with:');
|
|
278
|
+
console.error(` npx create-video@latest ${safeName}`);
|
|
279
|
+
process.exit(1);
|
|
280
|
+
}
|
|
281
|
+
return projectDir;
|
|
251
282
|
};
|
|
252
283
|
|
|
253
284
|
const buildGuide = (projectName) => {
|
|
@@ -308,7 +339,7 @@ if (command !== 'init') {
|
|
|
308
339
|
process.exit(1);
|
|
309
340
|
}
|
|
310
341
|
|
|
311
|
-
const projectName =
|
|
342
|
+
const {projectName} = parseInitOptions(args);
|
|
312
343
|
const cwd = process.cwd();
|
|
313
344
|
const projectDir = createProjectIfNeeded(cwd, projectName);
|
|
314
345
|
ensureStarterFiles(projectDir);
|