From acc3d8f76b75dd8a80e97a5c28713eb9110ae989 Mon Sep 17 00:00:00 2001 From: antelle Date: Mon, 7 Jan 2019 18:39:40 +0100 Subject: [PATCH] fixed set-version script --- util/set-version.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/util/set-version.js b/util/set-version.js index df763152..51898704 100644 --- a/util/set-version.js +++ b/util/set-version.js @@ -12,23 +12,21 @@ if (!/^\d+\.\d+\.\d+$/.test(version)) { console.log('Change version to ' + version); // processFile('README.md', /\/download\/v[^\/]+/g); -processFile('package.json', /"version": "\d+\.\d+\.\d+"+/g); -processFile('package-lock.json', /"version": "\d+\.\d+\.\d+"+/); -processFile('desktop/package.json', /"version": "\d+\.\d+\.\d+"+/g); +processFile('package.json'); +processFile('package-lock.json'); +processFile('desktop/package.json'); console.log('Done'); function processFile(name, regex) { console.log('Replace: ' + name); name = path.join(__dirname, '..', name); - let content = fs.readFileSync(name, 'utf8'); - let replCount = 0; - content = content.replace(regex, match => { - replCount++; - return match.replace(/\d+\.\d+\.\d+/, version); - }); - if (!replCount) { - throw 'No match found!'; + const content = fs.readFileSync(name, 'utf8'); + const data = JSON.parse(content); + if (!/\d+\.\d+\.\d+/.test(data.version)) { + throw new Error('No match found!'); } - fs.writeFileSync(name, content, 'utf8'); + data.version = version; + const newContent = JSON.stringify(data, null, 2) + '\n'; + fs.writeFileSync(name, newContent, 'utf8'); }