mirror of
				https://github.com/excalidraw/excalidraw.git
				synced 2025-11-04 12:54:23 +01:00 
			
		
		
		
	* 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();
 |