release (1249B)
1 #!/usr/bin/env node 2 3 var fs = require("fs"), child = require("child_process"); 4 5 var number, bumpOnly; 6 7 for (var i = 2; i < process.argv.length; i++) { 8 if (process.argv[i] == "-bump") bumpOnly = true; 9 else if (/^\d+\.\d+\.\d+$/.test(process.argv[i])) number = process.argv[i]; 10 else { console.log("Bogus command line arg: " + process.argv[i]); process.exit(1); } 11 } 12 13 if (!number) { console.log("Must give a version"); process.exit(1); } 14 15 function rewrite(file, f) { 16 fs.writeFileSync(file, f(fs.readFileSync(file, "utf8")), "utf8"); 17 } 18 19 rewrite("src/edit/main.js", function(lib) { 20 return lib.replace(/CodeMirror\.version = "\d+\.\d+\.\d+"/, 21 "CodeMirror.version = \"" + number + "\""); 22 }); 23 function rewriteJSON(pack) { 24 return pack.replace(/"version":\s*"\d+\.\d+\.\d+"/, "\"version\": \"" + number + "\""); 25 } 26 rewrite("package.json", rewriteJSON); 27 rewrite("doc/manual.html", function(manual) { 28 return manual.replace(/>version \d+\.\d+\.\d+<\/span>/, ">version " + number + "</span>"); 29 }); 30 31 if (bumpOnly) process.exit(0); 32 33 child.exec("bash bin/authors.sh", function(){}); 34 35 rewrite("index.html", function(index) { 36 return index.replace(/\.zip">\d+\.\d+\.\d+<\/a>/, 37 ".zip\">" + number + "</a>"); 38 });