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.
44 lines
1.2 KiB
44 lines
1.2 KiB
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();
|
|
|