This commit is contained in:
2022-09-13 11:03:40 +08:00
23 changed files with 150 additions and 140 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-core",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/compiler-core",
"main": "index.js",
"module": "dist/compiler-core.esm-bundler.js",
@@ -32,7 +32,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/shared": "3.2.39",
"@babel/parser": "^7.16.4",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-dom",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/compiler-dom",
"main": "index.js",
"module": "dist/compiler-dom.esm-bundler.js",
@@ -37,7 +37,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/compiler-core": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/compiler-core": "3.2.39"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-sfc",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/compiler-sfc",
"main": "dist/compiler-sfc.cjs.js",
"module": "dist/compiler-sfc.esm-browser.js",
@@ -33,11 +33,11 @@
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-ssr": "3.2.38",
"@vue/reactivity-transform": "3.2.38",
"@vue/shared": "3.2.38",
"@vue/compiler-core": "3.2.39",
"@vue/compiler-dom": "3.2.39",
"@vue/compiler-ssr": "3.2.39",
"@vue/reactivity-transform": "3.2.39",
"@vue/shared": "3.2.39",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"source-map": "^0.6.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/compiler-ssr",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/compiler-ssr",
"main": "dist/compiler-ssr.cjs.js",
"types": "dist/compiler-ssr.d.ts",
@@ -28,7 +28,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/compiler-dom": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/compiler-dom": "3.2.39"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/reactivity-transform",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/reactivity-transform",
"main": "dist/reactivity-transform.cjs.js",
"files": [
@@ -29,8 +29,8 @@
"homepage": "https://github.com/vuejs/core/tree/dev/packages/reactivity-transform#readme",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38",
"@vue/compiler-core": "3.2.39",
"@vue/shared": "3.2.39",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/reactivity",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/reactivity",
"main": "index.js",
"module": "dist/reactivity.esm-bundler.js",
@@ -36,6 +36,6 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme",
"dependencies": {
"@vue/shared": "3.2.38"
"@vue/shared": "3.2.39"
}
}

View File

@@ -534,4 +534,16 @@ describe('scheduler', () => {
// should not be called
expect(spy).toHaveBeenCalledTimes(0)
})
it('flushPreFlushCbs inside a pre job', async () => {
const spy = jest.fn()
const job = () => {
spy()
flushPreFlushCbs()
}
job.pre = true
queueJob(job)
await nextTick()
expect(spy).toHaveBeenCalledTimes(1)
})
})

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/runtime-core",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/runtime-core",
"main": "index.js",
"module": "dist/runtime-core.esm-bundler.js",
@@ -32,7 +32,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/reactivity": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/reactivity": "3.2.39"
}
}

View File

@@ -133,7 +133,11 @@ export function queuePostFlushCb(cb: SchedulerJobs) {
queueFlush()
}
export function flushPreFlushCbs(seen?: CountMap, i = flushIndex) {
export function flushPreFlushCbs(
seen?: CountMap,
// if currently flushing, skip the current job itself
i = isFlushing ? flushIndex + 1 : 0
) {
if (__DEV__) {
seen = seen || new Map()
}

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/runtime-dom",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/runtime-dom",
"main": "index.js",
"module": "dist/runtime-dom.esm-bundler.js",
@@ -35,8 +35,8 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/runtime-core": "3.2.38",
"@vue/shared": "3.2.39",
"@vue/runtime-core": "3.2.39",
"csstype": "^2.6.8"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/runtime-test",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/runtime-test",
"private": true,
"main": "index.js",
@@ -25,7 +25,7 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-test#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/runtime-core": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/runtime-core": "3.2.39"
}
}

View File

@@ -20,7 +20,8 @@ import {
resolveDynamicComponent,
renderSlot,
onErrorCaptured,
onServerPrefetch
onServerPrefetch,
getCurrentInstance
} from 'vue'
import { escapeHtml } from '@vue/shared'
import { renderToString } from '../src/renderToString'
@@ -779,6 +780,23 @@ function testRender(type: string, render: typeof renderToString) {
).toHaveBeenWarned()
expect(`Element is missing end tag`).toHaveBeenWarned()
})
// #6110
test('reset current instance after rendering error', async () => {
const prev = getCurrentInstance()
expect(prev).toBe(null)
try {
await render(
createApp({
data() {
return { msg: null }
},
template: `<div>{{ msg.text }}</div>`
})
)
} catch {}
expect(getCurrentInstance()).toBe(prev)
})
})
test('serverPrefetch', async () => {

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/server-renderer",
"version": "3.2.38",
"version": "3.2.39",
"description": "@vue/server-renderer",
"main": "index.js",
"module": "dist/server-renderer.esm-bundler.js",
@@ -32,10 +32,10 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme",
"peerDependencies": {
"vue": "3.2.38"
"vue": "3.2.39"
},
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/compiler-ssr": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/compiler-ssr": "3.2.39"
}
}

View File

@@ -174,18 +174,21 @@ function renderComponentSubTree(
// set current rendering instance for asset resolution
const prev = setCurrentRenderingInstance(instance)
ssrRender(
instance.proxy,
push,
instance,
attrs,
// compiler-optimized bindings
instance.props,
instance.setupState,
instance.data,
instance.ctx
)
setCurrentRenderingInstance(prev)
try {
ssrRender(
instance.proxy,
push,
instance,
attrs,
// compiler-optimized bindings
instance.props,
instance.setupState,
instance.data,
instance.ctx
)
} finally {
setCurrentRenderingInstance(prev)
}
} else if (instance.render && instance.render !== NOOP) {
renderVNode(
push,

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/sfc-playground",
"version": "3.2.38",
"version": "3.2.39",
"private": true,
"scripts": {
"dev": "vite",
@@ -8,11 +8,11 @@
"serve": "vite preview"
},
"devDependencies": {
"@vitejs/plugin-vue": "^1.10.2",
"vite": "^2.9.8"
"@vitejs/plugin-vue": "^3.0.0",
"vite": "^3.0.0"
},
"dependencies": {
"vue": "3.2.38",
"vue": "3.2.39",
"@vue/repl": "^1.3.0",
"file-saver": "^2.0.5",
"jszip": "^3.6.0"

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/shared",
"version": "3.2.38",
"version": "3.2.39",
"description": "internal utils shared across @vue packages",
"main": "index.js",
"module": "dist/shared.esm-bundler.js",

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/size-check",
"version": "3.2.38",
"version": "3.2.39",
"private": true,
"scripts": {
"build": "vite build"

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/template-explorer",
"version": "3.2.38",
"version": "3.2.39",
"private": true,
"buildOptions": {
"formats": [

View File

@@ -1,6 +1,6 @@
{
"name": "@vue/compat",
"version": "3.2.38",
"version": "3.2.39",
"description": "Vue 3 compatibility build for Vue 2",
"main": "index.js",
"module": "dist/vue.runtime.esm-bundler.js",
@@ -38,6 +38,6 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/vue-compat#readme",
"peerDependencies": {
"vue": "3.2.38"
"vue": "3.2.39"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "vue",
"version": "3.2.38",
"version": "3.2.39",
"description": "The progressive JavaScript framework for building modern web UI.",
"main": "index.js",
"module": "dist/vue.runtime.esm-bundler.js",
@@ -68,10 +68,10 @@
},
"homepage": "https://github.com/vuejs/core/tree/main/packages/vue#readme",
"dependencies": {
"@vue/shared": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/runtime-dom": "3.2.38",
"@vue/compiler-sfc": "3.2.38",
"@vue/server-renderer": "3.2.38"
"@vue/shared": "3.2.39",
"@vue/compiler-dom": "3.2.39",
"@vue/runtime-dom": "3.2.39",
"@vue/compiler-sfc": "3.2.39",
"@vue/server-renderer": "3.2.39"
}
}