Added smart versioning

This commit is contained in:
Michael Mainguy 2024-06-11 16:46:42 -05:00
parent 648876c06b
commit 1d94143b21
3 changed files with 33 additions and 4 deletions

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport"/> <meta content="width=device-width, initial-scale=1" name="viewport"/>
<meta content="An immersive vr diagramming experience based using webxr version 0.10 (2024-06-06)" <meta content="An immersive vr diagramming experience based using webxr version @@VERSION (@@DATE) @@GIT"
name="description"> name="description">
<meta content="width=device-width, initial-scale=1, height=device-height" name="viewport"> <meta content="width=device-width, initial-scale=1, height=device-height" name="viewport">
<link href="/styles.css" rel="stylesheet"> <link href="/styles.css" rel="stylesheet">

View File

@ -1,7 +1,7 @@
{ {
"name": "immersive", "name": "immersive",
"private": true, "private": true,
"version": "0.0.7", "version": "0.0.8-8",
"type": "module", "type": "module",
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0"
@ -9,7 +9,7 @@
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"test": "vitest", "test": "vitest",
"build": "vite build", "build": "node versionBump.js && vite build",
"preview": "vite preview", "preview": "vite preview",
"serve": "node server.js", "serve": "node server.js",
"serverBuild": "cd server && tsc", "serverBuild": "cd server && tsc",

29
versionBump.js Normal file
View File

@ -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();