@reliverse/rse-sdk
Version:
@reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
34 lines (33 loc) • 1.09 kB
JavaScript
import fs from "@reliverse/relifso";
import path from "node:path";
import {
dependencyVersionMap
} from "../constants.js";
export const addPackageDependency = async (opts) => {
const { dependencies = [], devDependencies = [], projectDir } = opts;
const pkgJsonPath = path.join(projectDir, "package.json");
const pkgJson = await fs.readJson(pkgJsonPath);
if (!pkgJson.dependencies) pkgJson.dependencies = {};
if (!pkgJson.devDependencies) pkgJson.devDependencies = {};
for (const pkgName of dependencies) {
const version = dependencyVersionMap[pkgName];
if (version) {
pkgJson.dependencies[pkgName] = version;
} else {
console.warn(`Warning: Dependency ${pkgName} not found in version map.`);
}
}
for (const pkgName of devDependencies) {
const version = dependencyVersionMap[pkgName];
if (version) {
pkgJson.devDependencies[pkgName] = version;
} else {
console.warn(
`Warning: Dev dependency ${pkgName} not found in version map.`
);
}
}
await fs.writeJson(pkgJsonPath, pkgJson, {
spaces: 2
});
};