UNPKG

create-cen-app

Version:
34 lines (28 loc) 977 B
import fs from "fs-extra"; import path from "path"; import sortPackageJson from "sort-package-json"; import { type PackageJson } from "type-fest"; import { dependencyVersionMap, type AvailableDependencies, } from "~/installers/dependencyVersionMap.js"; export const addPackageDependency = (opts: { dependencies: AvailableDependencies[]; devMode: boolean; frontendDir: string; }) => { const { dependencies, devMode, frontendDir } = opts; const pkgJson = fs.readJSONSync(path.join(frontendDir, "package.json")) as PackageJson; dependencies.forEach((pkgName) => { const version = dependencyVersionMap[pkgName]; if (devMode && pkgJson.devDependencies) { pkgJson.devDependencies[pkgName] = version; } else if (pkgJson.dependencies) { pkgJson.dependencies[pkgName] = version; } }); const sortedPkgJson = sortPackageJson(pkgJson); fs.writeJSONSync(path.join(frontendDir, "package.json"), sortedPkgJson, { spaces: 2, }); };