diff --git a/package.json b/package.json index a423bd4a..bf6b5234 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "build:mac-x64": "npm run build:mac-x64 --workspace @neuralnomads/codenomad-electron-app", "build:binaries": "npm run build:binaries --workspace @neuralnomads/codenomad-electron-app", "typecheck": "npm run typecheck --workspace @codenomad/ui && npm run typecheck --workspace @neuralnomads/codenomad-electron-app", - "bumpVersion": "npm version --workspaces --include-workspace-root --no-git-tag-version && npm run sync:version --workspace @codenomad/tauri-app" + "bumpVersion": "node ./scripts/bump-version.js" }, "dependencies": { "7zip-bin": "^5.2.0", diff --git a/scripts/bump-version.js b/scripts/bump-version.js new file mode 100644 index 00000000..27ddc2c2 --- /dev/null +++ b/scripts/bump-version.js @@ -0,0 +1,40 @@ +#!/usr/bin/env node + +const { spawnSync } = require("child_process") + +const versionArgs = process.argv.slice(2) + +if (versionArgs.length === 0) { + console.error("[bumpVersion] missing version argument (example: npm run bumpVersion -- patch)") + process.exit(1) +} + +const npmCommand = process.platform === "win32" ? "npm.cmd" : "npm" + +function runStep(args, label) { + const result = spawnSync(npmCommand, args, { + stdio: "inherit", + }) + + if (result.error) { + console.error(`[bumpVersion] failed during ${label}: ${result.error.message}`) + process.exit(1) + } + + if (result.status !== 0) { + process.exit(result.status ?? 1) + } +} + +runStep( + [ + "version", + ...versionArgs, + "--workspaces", + "--include-workspace-root", + "--no-git-tag-version", + ], + "npm version" +) + +runStep(["run", "sync:version", "--workspace", "@codenomad/tauri-app"], "tauri version sync")