diff --git a/index.html b/index.html index efeeb6f..5b2b55a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@
- diff --git a/package.json b/package.json index b1bce7f..3fe0e00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "immersive", "private": true, - "version": "0.0.7", + "version": "0.0.8-8", "type": "module", "engines": { "node": ">=18.0.0" @@ -9,7 +9,7 @@ "scripts": { "dev": "vite", "test": "vitest", - "build": "vite build", + "build": "node versionBump.js && vite build", "preview": "vite preview", "serve": "node server.js", "serverBuild": "cd server && tsc", @@ -55,4 +55,4 @@ "vite-plugin-cp": "^1.0.0", "vitest": "^1.4.0" } -} +} \ No newline at end of file diff --git a/versionBump.js b/versionBump.js new file mode 100644 index 0000000..af6005d --- /dev/null +++ b/versionBump.js @@ -0,0 +1,29 @@ +import fs from 'fs/promises'; + +const getGitId = async () => { + const gitId = await fs.readFile('.git/HEAD', 'utf8'); + if (gitId.indexOf(':') === -1) { + return gitId; + } + const refPath = '.git/' + gitId.substring(5).trim(); + return await fs.readFile(refPath, 'utf8'); +}; +const getPackageJson = async () => { + const packageJson = await fs.readFile('package.json', 'utf8'); + const json = JSON.parse(packageJson); + let version = 0; + if (json.version.indexOf('-') != -1) { + version = (parseInt(json.version.split('-')[1]) + 1); + } + const newVersion = json.version.split('-')[0] + '-' + version; + json.version = newVersion; + await fs.writeFile('package.json', JSON.stringify(json, null, 2)); + let indexHtml = await fs.readFile('index.html', 'utf8'); + console.log(indexHtml); + indexHtml = indexHtml.replace('@@VERSION', newVersion); + indexHtml = indexHtml.replace('@@DATE', new Date().toISOString()); + const gitId = await getGitId(); + indexHtml = indexHtml.replace('@@GIT', gitId); + await fs.writeFile('index.html', indexHtml); +} +await getPackageJson();