generated from cheqd/.github
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtidy-dependencies.js
31 lines (24 loc) · 1.34 KB
/
tidy-dependencies.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const fs = require('fs');
const path = require('path');
const rootPackageJsonPath = path.resolve(__dirname, 'package.json');
const esmPackageJsonPath = path.resolve(__dirname, 'esm', 'package.json');
const cjsPackageJsonPath = path.resolve(__dirname, 'cjs', 'package.json');
function addSuffixedDependencies(packageJsonPath, suffix = '') {
const rootPackageJson = JSON.parse(fs.readFileSync(rootPackageJsonPath, 'utf-8'));
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
const dependencies = packageJson.dependencies || {};
const devDependencies = packageJson.devDependencies || {};
rootPackageJson.dependencies = rootPackageJson.dependencies || {};
rootPackageJson.devDependencies = rootPackageJson.devDependencies || {};
for (const [dep, version] of Object.entries(dependencies)) {
const suffixedDep = suffix ? `${dep}${suffix}` : dep;
rootPackageJson.dependencies[suffixedDep] = suffix ? `npm:${dep}@${version}` : version;
}
for (const [dep, version] of Object.entries(devDependencies)) {
const suffixedDep = suffix ? `${dep}${suffix}` : dep;
rootPackageJson.devDependencies[suffixedDep] = suffix ? `npm:${dep}@${version}` : version;
}
fs.writeFileSync(rootPackageJsonPath, JSON.stringify(rootPackageJson, null, 4));
}
addSuffixedDependencies(esmPackageJsonPath);
addSuffixedDependencies(cjsPackageJsonPath, '-cjs');