ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
38 lines (34 loc) • 1.2 kB
JavaScript
// node scripts/publish/sync-scaffold-version.js
// node scripts/publish/sync-scaffold-version.js theme
const fs = require('fs-extra');
const path = require('path');
const nextJson = fs.readJSONSync(path.join(__dirname, '../../package.json'));
const nextVersion = nextJson.version;
const nextVersions = {
...nextJson.dependencies,
...nextJson.devDependencies,
};
const name = (process.argv.length >= 2 ? process.argv[2] : '') || 'ohayojp';
const packagePath = path.resolve(__dirname, `../../../${name}/package.json`);
const json = fs.readJSONSync(packagePath);
// Update third party
['dependencies', 'devDependencies'].forEach(type => {
Object.keys(json[type])
.filter(key => !!nextVersions[key])
.forEach(key => {
json[type][key] = nextVersions[key];
});
});
// Update ohayojp libs
if (name === 'ohayojp') {
json.version = nextVersion;
}
['components', 'acl', 'auth', 'chart', 'cache', 'mock', 'form', 'theme', 'util'].forEach(v => {
json.dependencies[`@ohayo/${v}`] = `^${nextVersion}`;
});
json.devDependencies[`@ohayo/testing`] = `^${nextVersion}`;
json.devDependencies[`ohayojp`] = `^${nextVersion}`;
// Save
fs.writeJSONSync(packagePath, json, {
spaces: 2,
});