@httpc/cli
Version:
httpc cli for building function-based API with minimal code and end-to-end type safety
31 lines (30 loc) • 1.2 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.patch = exports.read = void 0;
const promises_1 = __importDefault(require("fs/promises"));
const path_1 = __importDefault(require("path"));
const _1 = require(".");
async function read(cwd) {
cwd = path_1.default.resolve(cwd || ".");
const packageFile = path_1.default.resolve(cwd, "package.json");
if (!_1.fsUtils.exists(packageFile)) {
throw new Error("package.json not found in the current path");
}
return JSON.parse(await promises_1.default.readFile(packageFile, "utf-8"));
}
exports.read = read;
async function patch(dir, patch) {
const packageContent = await read(dir);
if (typeof patch === "function") {
patch = patch(packageContent);
}
if (patch) {
Object.assign(packageContent, patch);
}
await promises_1.default.writeFile(path_1.default.resolve(dir, "package.json"), JSON.stringify(packageContent, null, 2), "utf-8");
return packageContent;
}
exports.patch = patch;
;