UNPKG

@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
"use strict"; 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;