Pārlūkot izejas kodu

workflow: use workspace deps

Evan You 2 gadi atpakaļ
vecāks
revīzija
8fddb19c3a

+ 1 - 1
packages/compiler-core/package.json

@@ -33,7 +33,7 @@
   "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
   "dependencies": {
     "@babel/parser": "^7.23.3",
-    "@vue/shared": "3.3.8",
+    "@vue/shared": "workspace:*",
     "estree-walker": "^2.0.2",
     "source-map-js": "^1.0.2"
   },

+ 2 - 2
packages/compiler-dom/package.json

@@ -37,7 +37,7 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/compiler-core": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/compiler-core": "workspace:*"
   }
 }

+ 5 - 5
packages/compiler-sfc/package.json

@@ -33,11 +33,11 @@
   "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme",
   "dependencies": {
     "@babel/parser": "^7.23.3",
-    "@vue/compiler-core": "3.3.8",
-    "@vue/compiler-dom": "3.3.8",
-    "@vue/compiler-ssr": "3.3.8",
-    "@vue/reactivity-transform": "3.3.8",
-    "@vue/shared": "3.3.8",
+    "@vue/compiler-core": "workspace:*",
+    "@vue/compiler-dom": "workspace:*",
+    "@vue/compiler-ssr": "workspace:*",
+    "@vue/reactivity-transform": "workspace:*",
+    "@vue/shared": "workspace:*",
     "estree-walker": "^2.0.2",
     "magic-string": "^0.30.5",
     "postcss": "^8.4.31",

+ 2 - 2
packages/compiler-ssr/package.json

@@ -28,7 +28,7 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/compiler-dom": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/compiler-dom": "workspace:*"
   }
 }

+ 2 - 2
packages/reactivity-transform/package.json

@@ -29,8 +29,8 @@
   "homepage": "https://github.com/vuejs/core/tree/dev/packages/reactivity-transform#readme",
   "dependencies": {
     "@babel/parser": "^7.23.3",
-    "@vue/compiler-core": "3.3.8",
-    "@vue/shared": "3.3.8",
+    "@vue/compiler-core": "workspace:*",
+    "@vue/shared": "workspace:*",
     "estree-walker": "^2.0.2",
     "magic-string": "^0.30.5"
   },

+ 1 - 1
packages/reactivity/package.json

@@ -36,6 +36,6 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8"
+    "@vue/shared": "workspace:*"
   }
 }

+ 2 - 2
packages/runtime-core/package.json

@@ -32,7 +32,7 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/reactivity": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/reactivity": "workspace:*"
   }
 }

+ 2 - 2
packages/runtime-dom/package.json

@@ -35,8 +35,8 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/runtime-core": "3.3.8",
+    "@vue/shared": "workspace:*",
+    "@vue/runtime-core": "workspace:*",
     "csstype": "^3.1.2"
   }
 }

+ 2 - 2
packages/runtime-test/package.json

@@ -25,7 +25,7 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-test#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/runtime-core": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/runtime-core": "workspace:*"
   }
 }

+ 3 - 3
packages/server-renderer/package.json

@@ -32,10 +32,10 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme",
   "peerDependencies": {
-    "vue": "3.3.8"
+    "vue": "workspace:*"
   },
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/compiler-ssr": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/compiler-ssr": "workspace:*"
   }
 }

+ 1 - 1
packages/vue-compat/package.json

@@ -43,6 +43,6 @@
     "source-map-js": "^1.0.2"
   },
   "peerDependencies": {
-    "vue": "3.3.8"
+    "vue": "workspace:*"
   }
 }

+ 5 - 5
packages/vue/package.json

@@ -96,11 +96,11 @@
   },
   "homepage": "https://github.com/vuejs/core/tree/main/packages/vue#readme",
   "dependencies": {
-    "@vue/shared": "3.3.8",
-    "@vue/compiler-dom": "3.3.8",
-    "@vue/runtime-dom": "3.3.8",
-    "@vue/compiler-sfc": "3.3.8",
-    "@vue/server-renderer": "3.3.8"
+    "@vue/shared": "workspace:*",
+    "@vue/compiler-dom": "workspace:*",
+    "@vue/runtime-dom": "workspace:*",
+    "@vue/compiler-sfc": "workspace:*",
+    "@vue/server-renderer": "workspace:*"
   },
   "peerDependencies": {
     "typescript": "*"

+ 28 - 28
pnpm-lock.yaml

@@ -162,7 +162,7 @@ importers:
         specifier: ^7.23.3
         version: 7.23.3
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       estree-walker:
         specifier: ^2.0.2
@@ -178,10 +178,10 @@ importers:
   packages/compiler-dom:
     dependencies:
       '@vue/compiler-core':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-core
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
 
   packages/compiler-sfc:
@@ -190,19 +190,19 @@ importers:
         specifier: ^7.23.3
         version: 7.23.3
       '@vue/compiler-core':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-core
       '@vue/compiler-dom':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-dom
       '@vue/compiler-ssr':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-ssr
       '@vue/reactivity-transform':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../reactivity-transform
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       estree-walker:
         specifier: ^2.0.2
@@ -251,10 +251,10 @@ importers:
   packages/compiler-ssr:
     dependencies:
       '@vue/compiler-dom':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-dom
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
 
   packages/dts-built-test:
@@ -281,7 +281,7 @@ importers:
   packages/reactivity:
     dependencies:
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
 
   packages/reactivity-transform:
@@ -290,10 +290,10 @@ importers:
         specifier: ^7.23.3
         version: 7.23.3
       '@vue/compiler-core':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-core
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       estree-walker:
         specifier: ^2.0.2
@@ -312,19 +312,19 @@ importers:
   packages/runtime-core:
     dependencies:
       '@vue/reactivity':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../reactivity
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
 
   packages/runtime-dom:
     dependencies:
       '@vue/runtime-core':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../runtime-core
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       csstype:
         specifier: ^3.1.2
@@ -333,22 +333,22 @@ importers:
   packages/runtime-test:
     dependencies:
       '@vue/runtime-core':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../runtime-core
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
 
   packages/server-renderer:
     dependencies:
       '@vue/compiler-ssr':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-ssr
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       vue:
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../vue
 
   packages/sfc-playground:
@@ -387,19 +387,19 @@ importers:
   packages/vue:
     dependencies:
       '@vue/compiler-dom':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-dom
       '@vue/compiler-sfc':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../compiler-sfc
       '@vue/runtime-dom':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../runtime-dom
       '@vue/server-renderer':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../server-renderer
       '@vue/shared':
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../shared
       typescript:
         specifier: '*'
@@ -417,7 +417,7 @@ importers:
         specifier: ^1.0.2
         version: 1.0.2
       vue:
-        specifier: 3.3.8
+        specifier: workspace:*
         version: link:../vue
 
 packages:

+ 20 - 7
scripts/release.js

@@ -325,10 +325,22 @@ async function isInSyncWithRemote() {
       `https://api.github.com/repos/vuejs/core/commits/${branch}?per_page=1`
     )
     const data = await res.json()
-    return data.sha === sha
+    if (data.sha === sha) {
+      return true
+    } else {
+      // @ts-ignore
+      const { yes } = await prompt({
+        type: 'confirm',
+        name: 'yes',
+        message: pico.red(
+          `Local HEAD is not up-to-date with remote. Are you sure you want to continue?`
+        )
+      })
+      return yes
+    }
   } catch (e) {
     console.error(
-      'Failed to check whether local HEAD is up-to-date with remote.'
+      pico.red('Failed to check whether local HEAD is up-to-date with remote.')
     )
     return false
   }
@@ -348,8 +360,10 @@ function updatePackage(pkgRoot, version, getNewPackageName) {
   const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))
   pkg.name = getNewPackageName(pkg.name)
   pkg.version = version
-  updateDeps(pkg, 'dependencies', version, getNewPackageName)
-  updateDeps(pkg, 'peerDependencies', version, getNewPackageName)
+  if (isCanary) {
+    updateDeps(pkg, 'dependencies', version, getNewPackageName)
+    updateDeps(pkg, 'peerDependencies', version, getNewPackageName)
+  }
   fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n')
 }
 
@@ -357,9 +371,6 @@ function updateDeps(pkg, depType, version, getNewPackageName) {
   const deps = pkg[depType]
   if (!deps) return
   Object.keys(deps).forEach(dep => {
-    if (deps[dep] === 'workspace:*') {
-      return
-    }
     if (isCorePackage(dep)) {
       const newName = getNewPackageName(dep)
       const newVersion = newName === dep ? version : `npm:${newName}@${version}`
@@ -395,6 +406,8 @@ async function publishPackage(pkgName, version) {
 
   step(`Publishing ${pkgName}...`)
   try {
+    // Don't change the package manager here as we rely on pnpm to handle
+    // workspace:* deps
     await run(
       'pnpm',
       [