@reliverse/rse-sdk
Version:
@reliverse/rse-sdk without cli. @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).
20 lines (19 loc) • 798 B
JavaScript
import path from "@reliverse/pathkit";
import { readPackageJSON } from "pkg-types";
export async function checkMissingDependencies(cwd, requiredContent, optionalContent) {
const hasFilePackageJson = !!requiredContent.filePackageJson;
const hasNodeModules = !!optionalContent.dirNodeModules;
const hasMissingDeps = !hasNodeModules && hasFilePackageJson;
let hasAnyDeps = false;
if (hasFilePackageJson) {
try {
const pkgJson = await readPackageJSON(path.join(cwd, "package.json"));
const depCount = Object.keys(pkgJson.dependencies || {}).length + Object.keys(pkgJson.devDependencies || {}).length;
hasAnyDeps = depCount > 0;
} catch {
hasAnyDeps = false;
}
}
const depsMissing = hasMissingDeps && hasAnyDeps;
return { depsMissing, hasAnyDeps };
}