-
Notifications
You must be signed in to change notification settings - Fork 3.5k
/
Copy pathpackage-update-script.js
43 lines (37 loc) · 1.17 KB
/
package-update-script.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
32
33
34
35
36
37
38
39
40
41
42
43
const glob = require('glob');
var path = require('path');
const childProcess = require('child_process');
const { program } = require('commander');
program.version('0.0.1');
program.option('-pr, --prerelease', 'whether version is prerelease');
program.option('-rg, --registry <registry>', 'target npm server registry');
program.parse(process.argv);
const packages = (process.argv[3] || 'abp').split(',').join('|');
const check = (pkgJsonPath) => {
try {
return childProcess
.execSync(
`ncu "/^@(${packages}).*$/" --packageFile ${pkgJsonPath} -u${
program.prerelease ? ' --target greatest' : ' --target patch'
}${program.registry ? ` --registry ${program.registry}` : ''}`
)
.toString();
} catch (error) {
console.log('exec error: ' + error.message);
process.exit(error.status);
}
};
const folder = process.argv[2] || '.';
glob(folder + '/**/package.json', {}, (er, files) => {
files.forEach((file) => {
if (
file.includes('node_modules') ||
file.includes('ng-packs/dist') ||
file.includes('wwwroot') ||
file.includes('bin/Debug')
) {
return;
}
console.log(check(file));
});
});