diff --git a/package.json b/package.json index f4e47ce..a904a46 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dev": "cross-env VP_MODE=development vitepress dev", "prebuild": "pnpm -F @opentiny/genui-sdk-core build && pnpm -F @opentiny/genui-sdk-angular build:element && pnpm build:playground", "build": "cross-env VP_MODE=production NODE_OPTIONS=\"--max-old-space-size=8192\" vitepress build", - "build:playground": "cross-env PLAYGROUND_BASE=\"/tiny-robot/playground\" VITE_PLAYGROUND_SHARE_PATH=\"/tiny-robot/playground/\" pnpm -F robot-root build:playground", + "build:playground": "node scripts/build-playground.js", "postbuild": "node scripts/copy-playground.js tiny-robot/packages/playground/dist dist/tiny-robot/playground", "preview": "vitepress preview", "postinstall": "pnpm -F robot-root build" diff --git a/scripts/build-playground.js b/scripts/build-playground.js new file mode 100644 index 0000000..c723d98 --- /dev/null +++ b/scripts/build-playground.js @@ -0,0 +1,19 @@ +import { spawn } from 'node:child_process' + +const vitepressBase = process.env.VITEPRESS_BASE || '/' +const playgroundBase = process.env.TINY_ROBOT_PLAYGROUND_BASE || `${vitepressBase}tiny-robot/playground` + +const child = spawn('pnpm', ['-F', 'robot-root', 'build:playground'], { + stdio: 'inherit', + shell: true, + env: { + PLAYGROUND_BASE: playgroundBase, + VITE_PLAYGROUND_SHARE_PATH: process.env.VITE_PLAYGROUND_SHARE_PATH || `${playgroundBase}/` + } +}) + +child.on('error', () => process.exit(1)) +child.on('close', (code, signal) => { + if (signal) process.exit(1) + process.exit(code ?? 1) +})