diff --git a/package.json b/package.json index 677a97b2..ac9d4135 100644 --- a/package.json +++ b/package.json @@ -76,9 +76,9 @@ "extensions-ci-pr": "node ./node_modules/gulp/bin/gulp.js extensions-ci-pr", "perf": "node scripts/code-perf.js", "update-build-ts-version": "npm install typescript@next && tsc -p ./build/tsconfig.build.json", - "void-version-patch": "node -e \"const p=require('./product.json');p.voidVersion=require('semver').inc(p.voidVersion,'patch');require('fs').writeFileSync('./product.json',JSON.stringify(p,null,2))\" && git add product.json && git commit -m \"Bump: voidVersion\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags", - "void-version-minor": "node -e \"const p=require('./product.json');p.voidVersion=require('semver').inc(p.voidVersion,'minor');require('fs').writeFileSync('./product.json',JSON.stringify(p,null,2))\" && git add product.json && git commit -m \"Bump: voidVersion minor\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags", - "void-version-major": "node -e \"const p=require('./product.json');p.voidVersion=require('semver').inc(p.voidVersion,'major');require('fs').writeFileSync('./product.json',JSON.stringify(p,null,2))\" && git add product.json && git commit -m \"Bump: voidVersion major\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags" + "void-version-patch": "node scripts/update-version.js patch && git add product.json && git commit -m \"Bump: voidVersion\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags", + "void-version-minor": "node scripts/update-version.js minor && git add product.json && git commit -m \"Bump: voidVersion minor\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags", + "void-version-major": "node scripts/update-version.js major && git add product.json && git commit -m \"Bump: voidVersion major\" && git tag v$(node -e \"console.log(require('./product.json').voidVersion)\") && git push && git push --tags" }, "dependencies": { "@anthropic-ai/sdk": "^0.32.1", diff --git a/scripts/update-version.js b/scripts/update-version.js new file mode 100644 index 00000000..a8542ad3 --- /dev/null +++ b/scripts/update-version.js @@ -0,0 +1,27 @@ +const fs = require('fs'); +const { execSync } = require('child_process'); +const semver = require('semver'); + +function updateProductJson(type = 'patch') { + // Read product.json + const productJsonPath = './product.json'; + const product = require('../' + productJsonPath); + + // Update the version + product.voidVersion = semver.inc(product.voidVersion, type); + + // Update the commit hash + product.commit = execSync('git rev-parse HEAD').toString().trim(); + + // Update the date + product.date = new Date().toISOString().split('T')[0]; + + // Write the modifications + fs.writeFileSync(productJsonPath, JSON.stringify(product, null, 2)); + + return product.voidVersion; +} + +// Execute the update +const newVersion = updateProductJson(process.argv[2] || 'patch'); +console.log(`Updated version: ${newVersion}`);