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();