UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

23 lines (22 loc) 1.06 kB
import { join } from "node:path"; import * as process from "node:process"; import { packageJsonSchema, } from "../../domain/package-json.js"; import { readFileAndDecode } from "./fs/file-reader.js"; export const makePackageJsonReader = () => ({ getDependencies: (cwd = process.cwd(), type) => { const packageJsonPath = join(cwd, "package.json"); return readFileAndDecode(packageJsonPath, packageJsonSchema).map((packageJson) => { const key = type === "dev" ? "devDependencies" : "dependencies"; return packageJson[key]; }); }, getRootRequiredScripts: () => new Map().set("code-review", "eslint ."), getScripts: (cwd = process.cwd()) => { const packageJsonPath = join(cwd, "package.json"); return readFileAndDecode(packageJsonPath, packageJsonSchema).map(({ scripts }) => scripts); }, readPackageJson: (cwd = process.cwd()) => { const packageJsonPath = join(cwd, "package.json"); return readFileAndDecode(packageJsonPath, packageJsonSchema); }, });