You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
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);
|
|
|