aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/prerelease.js
diff options
context:
space:
mode:
authorkj_sh6042026-03-15 16:19:36 -0400
committerkj_sh6042026-03-15 16:19:36 -0400
commit72ece7c00b091011617fccf719df7f602cf4f7c7 (patch)
tree75a085594679b4282faac3b3646d589bf5a67ea5 /scripts/prerelease.js
parentc142734224f6263180e4cbe6fabec591a27972a1 (diff)
refactor: scripts/
Diffstat (limited to 'scripts/prerelease.js')
-rw-r--r--scripts/prerelease.js37
1 files changed, 37 insertions, 0 deletions
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);