Add .gitignore to exclude all node packages and lock files

This commit is contained in:
Adolfo Reyna
2026-02-23 21:56:04 -05:00
parent faae96c9ed
commit dcc5c6c044
9747 changed files with 1555105 additions and 2 deletions
+167
View File
@@ -0,0 +1,167 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.addCommand = void 0;
const renderer_1 = require("@remotion/renderer");
const studio_server_1 = require("@remotion/studio-server");
const node_child_process_1 = require("node:child_process");
const node_fs_1 = __importDefault(require("node:fs"));
const chalk_1 = require("./chalk");
const extra_packages_1 = require("./extra-packages");
const list_of_remotion_packages_1 = require("./list-of-remotion-packages");
const log_1 = require("./log");
const resolve_from_1 = require("./resolve-from");
const getInstalledVersion = (remotionRoot, pkg) => {
try {
const pkgJsonPath = (0, resolve_from_1.resolveFrom)(remotionRoot, `${pkg}/package.json`);
const file = node_fs_1.default.readFileSync(pkgJsonPath, 'utf-8');
const packageJson = JSON.parse(file);
return packageJson.version;
}
catch (_a) {
return null;
}
};
const addCommand = async ({ remotionRoot, packageManager, packageNames, logLevel, args, }) => {
// Validate that all package names are Remotion packages
const invalidPackages = packageNames.filter((pkg) => !list_of_remotion_packages_1.listOfRemotionPackages.includes(pkg) && !extra_packages_1.EXTRA_PACKAGES[pkg]);
if (invalidPackages.length > 0) {
throw new Error(`The following packages are not Remotion packages: ${invalidPackages.join(', ')}. Must be one of the Remotion packages or one of the supported extra packages: ${Object.keys(extra_packages_1.EXTRA_PACKAGES).join(', ')}.`);
}
const { dependencies, devDependencies, optionalDependencies, peerDependencies, } = studio_server_1.StudioServerInternals.getInstalledDependencies(remotionRoot);
// Check if packages are already installed
const allDeps = [
...dependencies,
...devDependencies,
...optionalDependencies,
...peerDependencies,
];
const alreadyInstalled = [];
const toInstall = [];
const toUpgrade = [];
for (const pkg of packageNames) {
const isInstalled = allDeps.includes(pkg);
const requiredVersion = extra_packages_1.EXTRA_PACKAGES[pkg];
if (!isInstalled) {
toInstall.push(pkg);
}
else if (requiredVersion) {
// For extra packages, check if the version is correct
const installedVersion = getInstalledVersion(remotionRoot, pkg);
if (installedVersion !== requiredVersion) {
toUpgrade.push({
pkg,
from: installedVersion !== null && installedVersion !== void 0 ? installedVersion : 'unknown',
to: requiredVersion,
});
toInstall.push(pkg);
}
else {
alreadyInstalled.push(pkg);
}
}
else {
alreadyInstalled.push(pkg);
}
}
// Log already installed packages
for (const pkg of alreadyInstalled) {
log_1.Log.info({ indent: false, logLevel }, `${pkg} ${chalk_1.chalk.gray('(already installed)')}`);
}
// Log packages that will be upgraded
for (const { pkg, from, to } of toUpgrade) {
log_1.Log.info({ indent: false, logLevel }, `${pkg} ${chalk_1.chalk.yellow(`${from}${to}`)}`);
}
// If nothing to install, return early
if (toInstall.length === 0) {
return;
}
const installedRemotionPackages = list_of_remotion_packages_1.listOfRemotionPackages.filter((pkg) => allDeps.includes(pkg));
// Get the version from the first installed Remotion package
const packageJsonPath = `${remotionRoot}/node_modules/${installedRemotionPackages[0]}/package.json`;
let targetVersion = null;
if (installedRemotionPackages.length > 0) {
try {
const packageJson = require(packageJsonPath);
targetVersion = packageJson.version;
const packageList = toInstall.length === 1
? toInstall[0]
: `${toInstall.length} packages (${toInstall.join(', ')})`;
log_1.Log.info({ indent: false, logLevel }, `Installing ${packageList}`);
}
catch (err) {
throw new Error(`Could not determine version of installed Remotion packages: ${err.message}`);
}
}
else {
// If no Remotion packages are installed, we can only install extra packages
const notExtraPackages = toInstall.filter((pkg) => !extra_packages_1.EXTRA_PACKAGES[pkg]);
if (notExtraPackages.length > 0) {
throw new Error('No Remotion packages found in your project. Install Remotion first.');
}
}
const manager = studio_server_1.StudioServerInternals.getPackageManager({
remotionRoot,
packageManager,
dirUp: 0,
logLevel,
});
if (manager === 'unknown') {
throw new Error(`No lockfile was found in your project (one of ${studio_server_1.StudioServerInternals.lockFilePaths
.map((p) => p.path)
.join(', ')}). Install dependencies using your favorite manager!`);
}
const packagesWithVersions = toInstall.map((pkg) => {
if (extra_packages_1.EXTRA_PACKAGES[pkg]) {
return `${pkg}@${extra_packages_1.EXTRA_PACKAGES[pkg]}`;
}
return `${pkg}@${targetVersion}`;
});
const command = studio_server_1.StudioServerInternals.getInstallCommand({
manager: manager.manager,
packages: packagesWithVersions,
version: '',
additionalArgs: args,
});
log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.gray(`$ ${manager.manager} ${command.join(' ')}`));
const task = (0, node_child_process_1.spawn)(manager.manager, command, {
env: {
...process.env,
ADBLOCK: '1',
DISABLE_OPENCOLLECTIVE: '1',
npm_config_loglevel: 'error',
},
stdio: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')
? 'inherit'
: 'ignore',
});
await new Promise((resolve) => {
task.on('close', (code) => {
if (code === 0) {
resolve();
}
else if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')) {
throw new Error(`Failed to install packages, see logs above`);
}
else {
throw new Error(`Failed to install packages, run with --log=info to see logs`);
}
});
});
const upgradedPkgs = new Set(toUpgrade.map((u) => u.pkg));
for (const pkg of toInstall) {
if (upgradedPkgs.has(pkg)) {
// Already logged as upgrade
continue;
}
if (extra_packages_1.EXTRA_PACKAGES[pkg]) {
log_1.Log.info({ indent: false, logLevel }, `+ ${pkg}@${extra_packages_1.EXTRA_PACKAGES[pkg]}`);
}
else {
log_1.Log.info({ indent: false, logLevel }, `+ ${pkg}@${targetVersion}`);
}
}
};
exports.addCommand = addCommand;