1 | import process from 'node:process';
|
2 | import fs, {promises as fsPromises} from 'node:fs';
|
3 | import path from 'node:path';
|
4 | import parseJson from 'parse-json';
|
5 | import normalizePackageData from 'normalize-package-data';
|
6 |
|
7 | export async function readPackage({cwd = process.cwd(), normalize = true} = {}) {
|
8 | const filePath = path.resolve(cwd, 'package.json');
|
9 | const json = parseJson(await fsPromises.readFile(filePath, 'utf8'));
|
10 |
|
11 | if (normalize) {
|
12 | normalizePackageData(json);
|
13 | }
|
14 |
|
15 | return json;
|
16 | }
|
17 |
|
18 | export function readPackageSync({cwd = process.cwd(), normalize = true} = {}) {
|
19 | const filePath = path.resolve(cwd, 'package.json');
|
20 | const json = parseJson(fs.readFileSync(filePath, 'utf8'));
|
21 |
|
22 | if (normalize) {
|
23 | normalizePackageData(json);
|
24 | }
|
25 |
|
26 | return json;
|
27 | }
|