mirror of
https://github.com/excalidraw/excalidraw.git
synced 2024-11-10 11:35:52 +01:00
11a3380d83
* build: automate release step fully * exit process when error * Add npm scripts for release and prerelease * update docs with release setps
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
const fs = require("fs");
|
|
const { execSync } = require("child_process");
|
|
|
|
const excalidrawDir = `${__dirname}/../src/packages/excalidraw`;
|
|
const excalidrawPackage = `${excalidrawDir}/package.json`;
|
|
const pkg = require(excalidrawPackage);
|
|
|
|
const originalReadMe = fs.readFileSync(`${excalidrawDir}/README.md`, "utf8");
|
|
|
|
const updateReadme = () => {
|
|
const excalidrawIndex = originalReadMe.indexOf("### Excalidraw");
|
|
|
|
// remove note for stable readme
|
|
const data = originalReadMe.slice(excalidrawIndex);
|
|
|
|
// update readme
|
|
fs.writeFileSync(`${excalidrawDir}/README.md`, data, "utf8");
|
|
};
|
|
|
|
const publish = () => {
|
|
try {
|
|
execSync(`yarn --frozen-lockfile`);
|
|
execSync(`yarn --frozen-lockfile`, { cwd: excalidrawDir });
|
|
execSync(`yarn run build:umd`, { cwd: excalidrawDir });
|
|
execSync(`yarn --cwd ${excalidrawDir} publish`);
|
|
} catch (error) {
|
|
console.error(error);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
const release = () => {
|
|
updateReadme();
|
|
console.info("Note for stable readme removed");
|
|
|
|
publish();
|
|
console.info(`Published ${pkg.version}!`);
|
|
|
|
// revert readme after release
|
|
fs.writeFileSync(`${excalidrawDir}/README.md`, originalReadMe, "utf8");
|
|
console.info("Readme reverted");
|
|
};
|
|
|
|
release();
|