Переглянути джерело

build: set compiler-sfc peerDep on vue

Evan You 6 роки тому
батько
коміт
c1959fa64d
2 змінених файлів з 17 додано та 10 видалено
  1. 3 0
      packages/compiler-sfc/package.json
  2. 14 10
      scripts/release.js

+ 3 - 0
packages/compiler-sfc/package.json

@@ -26,6 +26,9 @@
     "url": "https://github.com/vuejs/vue/issues"
   },
   "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
+  "peerDependencies": {
+    "vue": "3.0.0-alpha.0"
+  },
   "dependencies": {
     "@vue/compiler-core": "3.0.0-alpha.0",
     "@vue/compiler-dom": "3.0.0-alpha.0",

+ 14 - 10
scripts/release.js

@@ -119,19 +119,23 @@ function updateVersions(version) {
 function updatePackage(pkgRoot, version) {
   const pkg = readPkg(pkgRoot)
   pkg.version = version
-  if (pkg.dependencies) {
-    Object.keys(pkg.dependencies).forEach(dep => {
-      if (
-        dep.startsWith('@vue') &&
-        packages.includes(dep.replace(/^@vue\//, ''))
-      ) {
-        pkg.dependencies[dep] = version
-      }
-    })
-  }
+  updateDeps(pkg.dependencies)
+  updateDeps(pkg.peerDependencies)
   fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n')
 }
 
+function updateDeps(deps, version) {
+  if (!deps) return
+  Object.keys(deps).forEach(dep => {
+    if (
+      dep === 'vue' ||
+      (dep.startsWith('@vue') && packages.includes(dep.replace(/^@vue\//, '')))
+    ) {
+      deps[dep] = version
+    }
+  })
+}
+
 function readPkg(pkgRoot) {
   const pkgPath = path.resolve(pkgRoot, 'package.json')
   return JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))