Skip to content

Commit a6eca0e

Browse files
authored
Merge branch 'main' into main
2 parents 694007a + 8dcb6c7 commit a6eca0e

File tree

10 files changed

+99
-52
lines changed

10 files changed

+99
-52
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
"todomvc-app-css": "^2.3.0",
9494
"ts-jest": "^27.0.5",
9595
"tslib": "^2.4.0",
96-
"typescript": "^4.6.4",
96+
"typescript": "^4.7.4",
9797
"vite": "^2.9.8",
9898
"vue": "workspace:*",
9999
"yorkie": "^2.0.0"

packages/compiler-sfc/__tests__/compileScript.spec.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,19 @@ defineExpose({ foo: 123 })
461461
expect(content).toMatch(`return { a, b, Baz }`)
462462
assertCode(content)
463463
})
464+
465+
// vuejs/vue#12591
466+
test('v-on inline statement', () => {
467+
// should not error
468+
compile(`
469+
<script setup lang="ts">
470+
import { foo } from './foo'
471+
</script>
472+
<template>
473+
<div @click="$emit('update:a');"></div>
474+
</tempalte>
475+
`)
476+
})
464477
})
465478

466479
describe('inlineTemplate mode', () => {

packages/compiler-sfc/src/compileScript.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2134,6 +2134,8 @@ function processExp(exp: string, dir?: string): string {
21342134
if (/ as\s+\w|<.*>|:/.test(exp)) {
21352135
if (dir === 'slot') {
21362136
exp = `(${exp})=>{}`
2137+
} else if (dir === 'on') {
2138+
exp = `()=>{${exp}}`
21372139
} else if (dir === 'for') {
21382140
const inMatch = exp.match(forAliasRE)
21392141
if (inMatch) {

packages/reactivity/src/computed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class ComputedRefImpl<T> {
3030
public readonly effect: ReactiveEffect<T>
3131

3232
public readonly __v_isRef = true
33-
public readonly [ReactiveFlags.IS_READONLY]: boolean
33+
public readonly [ReactiveFlags.IS_READONLY]: boolean = false
3434

3535
public _dirty = true
3636
public _cacheable: boolean

packages/runtime-core/src/apiDefineComponent.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export function defineComponent<
103103
M extends MethodOptions = {},
104104
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
105105
Extends extends ComponentOptionsMixin = ComponentOptionsMixin,
106-
E extends EmitsOptions = EmitsOptions,
106+
E extends EmitsOptions = {},
107107
EE extends string = string
108108
>(
109109
options: ComponentOptionsWithoutProps<
@@ -130,7 +130,7 @@ export function defineComponent<
130130
M extends MethodOptions = {},
131131
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
132132
Extends extends ComponentOptionsMixin = ComponentOptionsMixin,
133-
E extends EmitsOptions = Record<string, any>,
133+
E extends EmitsOptions = {},
134134
EE extends string = string
135135
>(
136136
options: ComponentOptionsWithArrayProps<
@@ -168,7 +168,7 @@ export function defineComponent<
168168
M extends MethodOptions = {},
169169
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
170170
Extends extends ComponentOptionsMixin = ComponentOptionsMixin,
171-
E extends EmitsOptions = Record<string, any>,
171+
E extends EmitsOptions = {},
172172
EE extends string = string
173173
>(
174174
options: ComponentOptionsWithObjectProps<

packages/runtime-core/src/component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,7 @@ export function finishComponentSetup(
814814
// pass runtime compat config into the compiler
815815
finalCompilerOptions.compatConfig = Object.create(globalCompatConfig)
816816
if (Component.compatConfig) {
817+
// @ts-expect-error types are not compatible
817818
extend(finalCompilerOptions.compatConfig, Component.compatConfig)
818819
}
819820
}

packages/server-renderer/__tests__/render.spec.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,14 @@ function testRender(type: string, render: typeof renderToString) {
128128
await render(
129129
createApp(
130130
defineComponent({
131-
extends: {
131+
extends: defineComponent({
132132
data() {
133133
return { msg: 'hello' }
134134
},
135-
render(this: any) {
135+
render() {
136136
return h('div', this.msg)
137137
}
138-
}
138+
})
139139
})
140140
)
141141
)
@@ -148,14 +148,14 @@ function testRender(type: string, render: typeof renderToString) {
148148
createApp(
149149
defineComponent({
150150
mixins: [
151-
{
151+
defineComponent({
152152
data() {
153153
return { msg: 'hello' }
154154
},
155-
render(this: any) {
155+
render() {
156156
return h('div', this.msg)
157157
}
158-
}
158+
})
159159
]
160160
})
161161
)
@@ -675,9 +675,7 @@ function testRender(type: string, render: typeof renderToString) {
675675
const MyComp = {
676676
render: () => h('p', 'hello')
677677
}
678-
expect(await render(h(KeepAlive, () => h(MyComp)))).toBe(
679-
`<p>hello</p>`
680-
)
678+
expect(await render(h(KeepAlive, () => h(MyComp)))).toBe(`<p>hello</p>`)
681679
})
682680

683681
test('Transition', async () => {

packages/server-renderer/src/renderToString.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export async function resolveTeleports(context: SSRContext) {
7777
// note: it's OK to await sequentially here because the Promises were
7878
// created eagerly in parallel.
7979
context.teleports[key] = await unrollBuffer(
80-
(await Promise.all(context.__teleportBuffers[key])) as SSRBuffer
80+
await Promise.all([context.__teleportBuffers[key]])
8181
)
8282
}
8383
}

0 commit comments

Comments
 (0)