@remotion/cli 4.0.367 → 4.0.369
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/dist/add.d.ts +8 -0
- package/dist/add.js +96 -0
- package/package.json +14 -14
package/dist/add.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type LogLevel } from '@remotion/renderer';
|
|
2
|
+
export declare const addCommand: ({ remotionRoot, packageManager, packageNames, logLevel, args, }: {
|
|
3
|
+
remotionRoot: string;
|
|
4
|
+
packageManager: string | undefined;
|
|
5
|
+
packageNames: string[];
|
|
6
|
+
logLevel: LogLevel;
|
|
7
|
+
args: string[];
|
|
8
|
+
}) => Promise<void>;
|
package/dist/add.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addCommand = void 0;
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
5
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
const chalk_1 = require("./chalk");
|
|
8
|
+
const list_of_remotion_packages_1 = require("./list-of-remotion-packages");
|
|
9
|
+
const log_1 = require("./log");
|
|
10
|
+
const addCommand = async ({ remotionRoot, packageManager, packageNames, logLevel, args, }) => {
|
|
11
|
+
// Validate that all package names are Remotion packages
|
|
12
|
+
const invalidPackages = packageNames.filter((pkg) => !list_of_remotion_packages_1.listOfRemotionPackages.includes(pkg));
|
|
13
|
+
if (invalidPackages.length > 0) {
|
|
14
|
+
throw new Error(`The following packages are not Remotion packages: ${invalidPackages.join(', ')}. Must be one of the Remotion packages.`);
|
|
15
|
+
}
|
|
16
|
+
const { dependencies, devDependencies, optionalDependencies, peerDependencies, } = studio_server_1.StudioServerInternals.getInstalledDependencies(remotionRoot);
|
|
17
|
+
// Check if packages are already installed
|
|
18
|
+
const allDeps = [
|
|
19
|
+
...dependencies,
|
|
20
|
+
...devDependencies,
|
|
21
|
+
...optionalDependencies,
|
|
22
|
+
...peerDependencies,
|
|
23
|
+
];
|
|
24
|
+
const alreadyInstalled = packageNames.filter((pkg) => allDeps.includes(pkg));
|
|
25
|
+
const toInstall = packageNames.filter((pkg) => !allDeps.includes(pkg));
|
|
26
|
+
// Log already installed packages
|
|
27
|
+
for (const pkg of alreadyInstalled) {
|
|
28
|
+
log_1.Log.info({ indent: false, logLevel }, `○ ${pkg} ${chalk_1.chalk.gray('(already installed)')}`);
|
|
29
|
+
}
|
|
30
|
+
// If nothing to install, return early
|
|
31
|
+
if (toInstall.length === 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Find the version of installed Remotion packages
|
|
35
|
+
const installedRemotionPackages = list_of_remotion_packages_1.listOfRemotionPackages.filter((pkg) => allDeps.includes(pkg));
|
|
36
|
+
if (installedRemotionPackages.length === 0) {
|
|
37
|
+
throw new Error('No Remotion packages found in your project. Install Remotion first.');
|
|
38
|
+
}
|
|
39
|
+
// Get the version from the first installed Remotion package
|
|
40
|
+
const packageJsonPath = `${remotionRoot}/node_modules/${installedRemotionPackages[0]}/package.json`;
|
|
41
|
+
let targetVersion;
|
|
42
|
+
try {
|
|
43
|
+
const packageJson = require(packageJsonPath);
|
|
44
|
+
targetVersion = packageJson.version;
|
|
45
|
+
const packageList = toInstall.length === 1
|
|
46
|
+
? toInstall[0]
|
|
47
|
+
: `${toInstall.length} packages (${toInstall.join(', ')})`;
|
|
48
|
+
log_1.Log.info({ indent: false, logLevel }, `Installing ${packageList}@${targetVersion} to match your other Remotion packages`);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
throw new Error(`Could not determine version of installed Remotion packages: ${err.message}`);
|
|
52
|
+
}
|
|
53
|
+
const manager = studio_server_1.StudioServerInternals.getPackageManager(remotionRoot, packageManager, 0);
|
|
54
|
+
if (manager === 'unknown') {
|
|
55
|
+
throw new Error(`No lockfile was found in your project (one of ${studio_server_1.StudioServerInternals.lockFilePaths
|
|
56
|
+
.map((p) => p.path)
|
|
57
|
+
.join(', ')}). Install dependencies using your favorite manager!`);
|
|
58
|
+
}
|
|
59
|
+
const command = studio_server_1.StudioServerInternals.getInstallCommand({
|
|
60
|
+
manager: manager.manager,
|
|
61
|
+
packages: toInstall,
|
|
62
|
+
version: targetVersion,
|
|
63
|
+
additionalArgs: args,
|
|
64
|
+
});
|
|
65
|
+
log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.gray(`$ ${manager.manager} ${command.join(' ')}`));
|
|
66
|
+
const task = (0, node_child_process_1.spawn)(manager.manager, command, {
|
|
67
|
+
env: {
|
|
68
|
+
...process.env,
|
|
69
|
+
ADBLOCK: '1',
|
|
70
|
+
DISABLE_OPENCOLLECTIVE: '1',
|
|
71
|
+
},
|
|
72
|
+
stdio: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')
|
|
73
|
+
? 'inherit'
|
|
74
|
+
: 'ignore',
|
|
75
|
+
});
|
|
76
|
+
await new Promise((resolve) => {
|
|
77
|
+
task.on('close', (code) => {
|
|
78
|
+
if (code === 0) {
|
|
79
|
+
resolve();
|
|
80
|
+
}
|
|
81
|
+
else if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')) {
|
|
82
|
+
throw new Error(`Failed to install packages, see logs above`);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
throw new Error(`Failed to install packages, run with --log=info to see logs`);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
for (const pkg of alreadyInstalled) {
|
|
90
|
+
log_1.Log.info({ indent: false, logLevel }, `○ ${pkg}@${targetVersion} ${chalk_1.chalk.gray('(already installed)')}`);
|
|
91
|
+
}
|
|
92
|
+
for (const pkg of toInstall) {
|
|
93
|
+
log_1.Log.info({ indent: false, logLevel }, `+ ${pkg}@${targetVersion}`);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
exports.addCommand = addCommand;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/cli",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.369",
|
|
7
7
|
"description": "Control Remotion features using the `npx remotion` command",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"author": "Jonny Burger <jonny@remotion.dev>",
|
|
37
37
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@remotion/bundler": "4.0.
|
|
40
|
-
"@remotion/media-utils": "4.0.
|
|
41
|
-
"@remotion/player": "4.0.
|
|
42
|
-
"@remotion/renderer": "4.0.
|
|
43
|
-
"@remotion/studio-shared": "4.0.
|
|
44
|
-
"@remotion/studio-server": "4.0.
|
|
45
|
-
"@remotion/studio": "4.0.
|
|
39
|
+
"@remotion/bundler": "4.0.369",
|
|
40
|
+
"@remotion/media-utils": "4.0.369",
|
|
41
|
+
"@remotion/player": "4.0.369",
|
|
42
|
+
"@remotion/renderer": "4.0.369",
|
|
43
|
+
"@remotion/studio-shared": "4.0.369",
|
|
44
|
+
"@remotion/studio-server": "4.0.369",
|
|
45
|
+
"@remotion/studio": "4.0.369",
|
|
46
46
|
"dotenv": "9.0.2",
|
|
47
47
|
"minimist": "1.2.6",
|
|
48
48
|
"prompts": "2.4.2",
|
|
49
|
-
"remotion": "4.0.
|
|
49
|
+
"remotion": "4.0.369"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": ">=16.8.0",
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"@types/prompts": "^2.4.1",
|
|
58
58
|
"@types/prettier": "^2.7.2",
|
|
59
59
|
"@types/node": "20.12.14",
|
|
60
|
-
"@remotion/zod-types": "4.0.
|
|
61
|
-
"@remotion/tailwind-v4": "4.0.
|
|
62
|
-
"@remotion/enable-scss": "4.0.
|
|
63
|
-
"@remotion/skia": "4.0.
|
|
60
|
+
"@remotion/zod-types": "4.0.369",
|
|
61
|
+
"@remotion/tailwind-v4": "4.0.369",
|
|
62
|
+
"@remotion/enable-scss": "4.0.369",
|
|
63
|
+
"@remotion/skia": "4.0.369",
|
|
64
64
|
"react": "19.0.0",
|
|
65
65
|
"react-dom": "19.0.0",
|
|
66
66
|
"zod": "3.22.3",
|
|
67
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
67
|
+
"@remotion/eslint-config-internal": "4.0.369",
|
|
68
68
|
"eslint": "9.19.0"
|
|
69
69
|
},
|
|
70
70
|
"keywords": [
|