From 9ad0d35be626bdc65c1a79b130981cf1c2f95eb6 Mon Sep 17 00:00:00 2001 From: shogun444 Date: Fri, 5 Jun 2026 01:51:36 +0530 Subject: [PATCH] fix(build): make react-ui and browser-bundle build scripts cross-platform --- packages/browser-bundle/package.json | 2 +- packages/browser-bundle/scripts/prepare-dist.js | 11 +++++++++++ packages/react-ui/package.json | 4 ++-- packages/react-ui/scripts/clean-dist.js | 7 +++++++ 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 packages/browser-bundle/scripts/prepare-dist.js create mode 100644 packages/react-ui/scripts/clean-dist.js diff --git a/packages/browser-bundle/package.json b/packages/browser-bundle/package.json index 9efc954ec..99a0c0734 100644 --- a/packages/browser-bundle/package.json +++ b/packages/browser-bundle/package.json @@ -15,7 +15,7 @@ "./package.json": "./package.json" }, "scripts": { - "build": "rm -rf dist && mkdir -p dist && esbuild src/entry.js --bundle --format=iife --minify --outfile=dist/openui-bundle.min.js '--define:process.env.NODE_ENV=\"production\"' --target=es2020 && node scripts/concat-css.mjs", + "build": "node scripts/prepare-dist.js && esbuild src/entry.js --bundle --format=iife --minify --outfile=dist/openui-bundle.min.js --define:process.env.NODE_ENV=\\\"production\\\" --target=es2020 && node scripts/concat-css.mjs", "typecheck": "echo \"(no types to check — IIFE bundle)\"", "lint:check": "eslint ./src", "lint:fix": "eslint ./src --fix", diff --git a/packages/browser-bundle/scripts/prepare-dist.js b/packages/browser-bundle/scripts/prepare-dist.js new file mode 100644 index 000000000..b01910db0 --- /dev/null +++ b/packages/browser-bundle/scripts/prepare-dist.js @@ -0,0 +1,11 @@ +import fs from "node:fs"; + +// Equivalent to: rm -rf dist && mkdir -p dist +fs.rmSync("dist", { + recursive: true, + force: true, +}); + +fs.mkdirSync("dist", { + recursive: true, +}); diff --git a/packages/react-ui/package.json b/packages/react-ui/package.json index 5a7e9f461..89051d3ec 100644 --- a/packages/react-ui/package.json +++ b/packages/react-ui/package.json @@ -64,9 +64,9 @@ "copy-css": "node cp-css.js", "generate-scss-index": "node src/scripts/scss-import.js", "generate:css-utils": "tsx src/scripts/generate-css-utils.ts", - "build": "rm -rf dist && pnpm generate:css-utils && pnpm build:scss && pnpm build:tsc && pnpm build:cjs && pnpm run copy-css", + "build": "node scripts/clean-dist.js && pnpm generate:css-utils && pnpm build:scss && pnpm build:tsc && pnpm build:cjs && pnpm run copy-css", "typecheck": "tsc --noEmit", - "build:tsc": "tsc -p . || true", + "build:tsc": "tsc -p . || node -e \"process.exit(0)\"", "build:cjs": "tsdown", "build:scss": "sass src:dist --style compressed --no-source-map", "storybook": "storybook dev -p 6006", diff --git a/packages/react-ui/scripts/clean-dist.js b/packages/react-ui/scripts/clean-dist.js new file mode 100644 index 000000000..eb0175b01 --- /dev/null +++ b/packages/react-ui/scripts/clean-dist.js @@ -0,0 +1,7 @@ +import fs from "node:fs"; + +// Equivalent to: rm -rf dist +fs.rmSync("dist", { + recursive: true, + force: true, +});