diff --git a/package-lock.json b/package-lock.json index 13ec860..487bbcc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bugscope", - "version": "0.15.1", + "version": "0.18.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bugscope", - "version": "0.15.1", + "version": "0.18.1", "dependencies": { "@tauri-apps/api": "^2", "apache-arrow": "^21.1.0", diff --git a/package.json b/package.json index 728877c..fd87675 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "bugscope", "private": true, - "version": "0.15.1", + "version": "0.18.1", "type": "module", "scripts": { "setup": "bash scripts/setup.sh", @@ -12,7 +12,8 @@ "dev:no-analytics": "cargo tauri dev", "build": "cargo tauri build", "lint": "eslint .", - "preview": "vite preview" + "preview": "vite preview", + "version:bump": "node scripts/bump-version.js" }, "dependencies": { "@tauri-apps/api": "^2", diff --git a/scripts/bump-version.js b/scripts/bump-version.js new file mode 100644 index 0000000..70da42c --- /dev/null +++ b/scripts/bump-version.js @@ -0,0 +1,61 @@ +#!/usr/bin/env node +// Usage: node scripts/bump-version.js +// Updates version in package.json and src-tauri/Cargo.toml + +import { readFileSync, writeFileSync } from "fs"; +import { resolve, dirname } from "path"; +import { fileURLToPath } from "url"; +import { execSync } from "child_process"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const root = resolve(__dirname, ".."); + +const newVersion = process.argv[2]; +if (!newVersion) { + console.error("Usage: node scripts/bump-version.js "); + process.exit(1); +} + +if (!/^\d+\.\d+\.\d+/.test(newVersion)) { + console.error(`Invalid version format: "${newVersion}". Expected semver (e.g. 1.2.3)`); + process.exit(1); +} + +// Update package.json +const pkgPath = resolve(root, "package.json"); +const pkg = JSON.parse(readFileSync(pkgPath, "utf8")); +const oldVersion = pkg.version; +pkg.version = newVersion; +writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n"); +console.log(`package.json: ${oldVersion} → ${newVersion}`); + +// Update src-tauri/Cargo.toml +const cargoPath = resolve(root, "src-tauri", "Cargo.toml"); +let cargo = readFileSync(cargoPath, "utf8"); +cargo = cargo.replace( + /^(version\s*=\s*)"[\d.]+"(\s*$)/m, + `$1"${newVersion}"$2` +); +writeFileSync(cargoPath, cargo); +console.log(`src-tauri/Cargo.toml: ${oldVersion} → ${newVersion}`); + +// Update package-lock.json +try { + execSync("npm install --package-lock-only --ignore-scripts", { cwd: root, stdio: "inherit" }); + console.log(`package-lock.json: updated`); +} catch { + console.warn("Warning: failed to update package-lock.json — run `npm install` manually"); +} + +// Update Cargo.lock +try { + execSync(`cargo update --precise ${newVersion} --manifest-path src-tauri/Cargo.toml bugscope`, { + cwd: root, + stdio: "inherit", + }); + console.log(`src-tauri/Cargo.lock: updated`); +} catch { + console.warn("Warning: failed to update Cargo.lock — run `cargo update` in src-tauri/ manually"); +} + +console.log(`\nVersion bumped to ${newVersion}`); diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index f051566..dacf7ed 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -461,7 +461,7 @@ dependencies = [ [[package]] name = "bugscope" -version = "0.15.1" +version = "0.18.1" dependencies = [ "arrow-array 56.2.1", "arrow-ipc", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index c98c608..9e27fad 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bugscope" -version = "0.15.1" +version = "0.18.1" edition = "2021" [lib] diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index d3d976c..f2a3c7e 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/nicegui/tauri-v2-schema/main/tauri.conf.json.schema", "productName": "Bugscope", - "version": "0.15.1", "identifier": "com.bugscope.desktop", "build": { "frontendDist": "../dist",