UNPKG

@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
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 }); };