@darkobits/saffron
Version:
Yargs + Cosmiconfig for robust, configurable CLIs.
32 lines (31 loc) • 975 B
JavaScript
import path from "path";
import { readPackageUpSync } from "read-pkg-up";
import log from "./log.js";
const packageCache = /* @__PURE__ */ new Map();
function getPackageInfo({ cwd }) {
if (!packageCache.has(cwd)) {
const packageResult = readPackageUpSync({ cwd });
if (!packageResult)
throw new Error(`${log.chalk.green("getPackageInfo")} Unable to get package metadata from: ${log.chalk.green(cwd)}`);
packageCache.set(cwd, {
json: packageResult.packageJson,
root: path.dirname(packageResult.path)
});
}
return packageCache.get(cwd);
}
function parsePackageName(packageName) {
if (typeof packageName !== "string") {
return { scope: void 0, name: void 0 };
}
if (packageName.includes("/")) {
const [scope, name] = packageName.replace("@", "").split("/");
return { scope, name };
}
return { scope: void 0, name: packageName };
}
export {
getPackageInfo,
parsePackageName
};
//# sourceMappingURL=package.js.map