workflow: ensure dev-sfc script build necessary deps if not present

This commit is contained in:
Evan You 2022-11-14 10:14:12 +08:00
parent a52141a62b
commit 0580ae2731
2 changed files with 36 additions and 3 deletions

View File

@ -21,12 +21,17 @@
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
"dev-esm": "node scripts/dev.js -if esm-bundler-runtime",
"dev-compiler": "run-p \"dev template-explorer\" serve",
"dev-sfc": "run-p \"dev compiler-sfc -f esm-browser\" \"dev vue -if esm-bundler-runtime\" \"dev server-renderer -if esm-bundler\" serve-sfc-playground",
"dev-sfc-prepare": "node scripts/pre-dev-sfc.js || npm run build-compiler-cjs",
"dev-sfc-serve": "run-p \"dev compiler-sfc -f esm-browser\" \"dev vue -if esm-bundler-runtime\" \"dev server-renderer -if esm-bundler\" serve-sfc-playground",
"dev-sfc": "run-s \"dev-sfc-prepare\" \"dev-sfc-serve\"",
"serve-sfc-playground": "vite packages/sfc-playground --host",
"serve": "serve",
"open": "open http://localhost:5000/packages/template-explorer/local.html",
"prebuild-sfc-playground": "node scripts/build.js compiler reactivity-transform shared -af cjs && node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime && node scripts/build.js compiler-sfc server-renderer -f esm-browser",
"build-sfc-playground": "cd packages/sfc-playground && npm run build",
"build-compiler-cjs": "node scripts/build.js compiler reactivity-transform shared -af cjs",
"build-runtime-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime",
"build-ssr-esm": "node scripts/build.js compiler-sfc server-renderer -f esm-browser",
"build-sfc-playground-self": "cd packages/sfc-playground && npm run build",
"build-sfc-playground": "run-s \"build-compiler-cjs\" \"build-runtime-esm\" \"build-ssr-esm\" \"build-sfc-playground-self\"",
"preinstall": "node ./scripts/preinstall.js",
"postinstall": "simple-git-hooks"
},

28
scripts/pre-dev-sfc.js Normal file
View File

@ -0,0 +1,28 @@
const fs = require('fs')
const path = require('path')
const packagesToCheck = [
'compiler-sfc',
'compiler-core',
'compiler-dom',
'compiler-ssr',
'reactivity-transform',
'shared'
]
let allFilesPresent = true
for (const pkg of packagesToCheck) {
if (
!fs.existsSync(
path.resolve(__dirname, `../packages/${pkg}/dist/${pkg}.cjs.js`)
)
) {
allFilesPresent = false
break
}
}
if (!allFilesPresent) {
process.exit(1)
}