From 72ece7c00b091011617fccf719df7f602cf4f7c7 Mon Sep 17 00:00:00 2001 From: kj_sh604 Date: Sun, 15 Mar 2026 16:19:36 -0400 Subject: refactor: scripts/ --- scripts/prerelease.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 scripts/prerelease.js (limited to 'scripts/prerelease.js') diff --git a/scripts/prerelease.js b/scripts/prerelease.js new file mode 100644 index 0000000..3b8080d --- /dev/null +++ b/scripts/prerelease.js @@ -0,0 +1,37 @@ +const fs = require("fs"); +const util = require("util"); +const exec = util.promisify(require("child_process").exec); +const updateChangelog = require("./updateChangelog"); + +const excalidrawDir = `${__dirname}/../packages/excalidraw/`; +const excalidrawPackage = `${excalidrawDir}/package.json`; + +const updatePackageVersion = (nextVersion) => { + const pkg = require(excalidrawPackage); + pkg.version = nextVersion; + const content = `${JSON.stringify(pkg, null, 2)}\n`; + fs.writeFileSync(excalidrawPackage, content, "utf-8"); +}; + +const prerelease = async (nextVersion) => { + try { + await updateChangelog(nextVersion); + updatePackageVersion(nextVersion); + await exec(`git add -u`); + await exec( + `git commit -m "docs: release @excalidraw/excalidraw@${nextVersion} 🎉"`, + ); + + console.info("Done!"); + } catch (error) { + console.error(error); + process.exit(1); + } +}; + +const nextVersion = process.argv.slice(2)[0]; +if (!nextVersion) { + console.error("Pass the next version to release!"); + process.exit(1); +} +prerelease(nextVersion); -- cgit v1.2.3