diff --git a/package.json b/package.json index cd5e22d2..4e1588e5 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "size-limit": "size-limit", "sort:api-table": "antd-tools run sort-api-table", "sort:package-json": "npx sort-package-json", - "dev": "if [\"$npm_execpath\"=\"$(which pnpm)\"];then pnpm run prestart && pnpm start; else npm start; fi", + "dev": "tsx ./scripts/dev-manager.ts", "prestart": "npm run version && npm run token:statistic && npm run token:meta && npm run lint:changelog", "start": "tsx ./scripts/set-node-options.ts cross-env PORT=8001 dumi dev", "pretest": "npm run version", diff --git a/scripts/dev-manager.ts b/scripts/dev-manager.ts new file mode 100644 index 00000000..8d7f3271 --- /dev/null +++ b/scripts/dev-manager.ts @@ -0,0 +1,13 @@ +import { execSync } from 'child_process'; + +try { + const isPnpm = process.env.npm_execpath?.includes('pnpm'); + + if (isPnpm) { + execSync('pnpm run prestart && pnpm start', { stdio: 'inherit' }); + } else { + execSync('npm start', { stdio: 'inherit' }); + } +} catch (error) { + process.exit(1); +}