手作業でやるのが面倒になってきたので書きました。
事前にnpm install minimist
が必要です。
// update-manifest-version.js var fs = require("fs"); var args = require("minimist")(process.argv.slice(2)); var update_version = function(version, target){ var parts = version.split("."); var map = {major:0, minor:1, build:2, revision:3}; var index = map[target] || 2; parts[index] = parseInt(parts[index]) + 1; return parts.join("."); }; var file = args.f || "./manifest.json"; var target = args.t || "build"; var encoding = args.e || "utf8"; var json = JSON.parse(fs.readFileSync(file, encoding)); json.version = update_version(json.version, target); fs.writeFileSync(file, JSON.stringify(json, null, 2), "utf8");
使い方
例えば今のバージョンが1.2.5(major=1, minor=2, build=5)で、buildバージョンだけ1つ上げたい場合
node update-manifest-version.js -f /path/to/manifest.json -t build -e utf8
とやります。