2
0
Эх сурвалжийг харах

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

Evan You 3 жил өмнө
parent
commit
0580ae2731
2 өөрчлөгдсөн 36 нэмэгдсэн , 3 устгасан
  1. 8 3
      package.json
  2. 28 0
      scripts/pre-dev-sfc.js

+ 8 - 3
package.json

@@ -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 - 0
scripts/pre-dev-sfc.js

@@ -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)
+}