-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathbumpVersion.js
49 lines (39 loc) · 1.27 KB
/
bumpVersion.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
44
45
46
47
48
49
const fs = require('fs');
const NEW_VERSION = '1.0.23';
function getPackageJson (filePath) {
return { json: JSON.parse(fs.readFileSync(filePath, 'utf8')), filePath: filePath };
}
function setPackageJson (filePath, json) {
fs.writeFileSync(filePath, JSON.stringify(json, null, 2));
}
const packageNames = [
'extension',
'extension-base',
'extension-chains',
'extension-compat-metamask',
'extension-dapp',
'extension-inject',
'extension-ui'
];
function getPackageJsonPaths (pkgNames) {
const packages = pkgNames.map((name) => `./packages/${name}/package.json`);
return ['package.json', ...packages];
}
function updateVersions (json, pkgNames, ver) {
console.log('IN PACKAGE=', json.name);
json.version = ver;
pkgNames.forEach((name) => {
const depName = `@reef-defi/${name}`;
const toVersion = `^${ver}`;
const dependency = json.dependencies && json.dependencies[depName];
if (dependency)console.log('bumping=', depName, ' to ', toVersion);
if (dependency) {
json.dependencies[depName] = toVersion;
}
});
return json;
}
getPackageJsonPaths(packageNames).map(getPackageJson).forEach((jsonFileObj) => {
updateVersions(jsonFileObj.json, packageNames, NEW_VERSION);
setPackageJson(jsonFileObj.filePath, jsonFileObj.json);
});