vue 2.7.6 → 2.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/vue.common.dev.js +139 -67
- package/dist/vue.common.prod.js +3 -3
- package/dist/vue.esm.browser.js +137 -66
- package/dist/vue.esm.browser.min.js +3 -3
- package/dist/vue.esm.js +138 -66
- package/dist/vue.js +140 -67
- package/dist/vue.min.js +3 -3
- package/dist/vue.runtime.common.dev.js +112 -58
- package/dist/vue.runtime.common.prod.js +3 -3
- package/dist/vue.runtime.esm.js +111 -57
- package/dist/vue.runtime.js +113 -58
- package/dist/vue.runtime.min.js +3 -3
- package/package.json +2 -2
- package/packages/compiler-sfc/dist/compiler-sfc.js +56 -26
- package/packages/compiler-sfc/package.json +2 -3
- package/packages/compiler-sfc/src/compileTemplate.ts +1 -2
- package/packages/compiler-sfc/src/rewriteDefault.ts +6 -1
- package/packages/compiler-sfc/src/templateCompilerModules/utils.ts +8 -3
- package/packages/compiler-sfc/test/rewriteDefault.spec.ts +245 -0
- package/src/compiler/codegen/index.ts +31 -10
- package/src/core/instance/init.ts +1 -0
- package/src/core/instance/inject.ts +10 -5
- package/src/core/instance/lifecycle.ts +18 -10
- package/src/core/instance/proxy.ts +2 -2
- package/src/core/instance/render.ts +8 -2
- package/src/core/instance/state.ts +1 -1
- package/src/core/observer/index.ts +1 -1
- package/src/core/observer/scheduler.ts +10 -1
- package/src/core/observer/watcher.ts +14 -5
- package/src/core/vdom/modules/directives.ts +9 -1
- package/src/core/vdom/vnode.ts +1 -0
- package/src/types/component.ts +1 -0
- package/src/v3/apiInject.ts +17 -12
- package/src/v3/apiLifecycle.ts +16 -1
- package/src/v3/apiSetup.ts +38 -17
- package/src/v3/apiWatch.ts +2 -5
- package/src/v3/index.ts +1 -1
- package/src/v3/reactivity/effectScope.ts +5 -1
- package/types/index.d.ts +2 -2
- package/types/options.d.ts +24 -9
- package/types/v3-component-options.d.ts +3 -0
- package/types/v3-component-public-instance.d.ts +2 -4
- package/types/v3-define-component.d.ts +34 -34
- package/types/v3-generated.d.ts +11 -2
- package/types/v3-manual-apis.d.ts +2 -2
- package/types/v3-setup-context.d.ts +4 -0
- package/types/vue.d.ts +108 -31
package/types/vue.d.ts
CHANGED
|
@@ -13,8 +13,15 @@ import {
|
|
|
13
13
|
import { VNode, VNodeData, VNodeChildren, NormalizedScopedSlot } from './vnode'
|
|
14
14
|
import { PluginFunction, PluginObject } from './plugin'
|
|
15
15
|
import { DefineComponent } from './v3-define-component'
|
|
16
|
-
import { nextTick } from './v3-generated'
|
|
17
|
-
import {
|
|
16
|
+
import { nextTick, UnwrapNestedRefs, ShallowUnwrapRef } from './v3-generated'
|
|
17
|
+
import {
|
|
18
|
+
UnwrapMixinsType,
|
|
19
|
+
IntersectionMixin
|
|
20
|
+
} from './v3-component-public-instance'
|
|
21
|
+
import {
|
|
22
|
+
ExtractComputedReturns,
|
|
23
|
+
ComponentOptionsMixin
|
|
24
|
+
} from './v3-component-options'
|
|
18
25
|
|
|
19
26
|
export interface CreateElement {
|
|
20
27
|
(
|
|
@@ -41,18 +48,16 @@ type NeverFallback<T, D> = [T] extends [never] ? D : T
|
|
|
41
48
|
export interface Vue<
|
|
42
49
|
Data = Record<string, any>,
|
|
43
50
|
Props = Record<string, any>,
|
|
44
|
-
|
|
45
|
-
Root = never,
|
|
46
|
-
Children = never,
|
|
51
|
+
Instance = never,
|
|
47
52
|
Options = never,
|
|
48
53
|
Emit = (event: string, ...args: any[]) => Vue
|
|
49
54
|
> {
|
|
50
55
|
// properties with different types in defineComponent()
|
|
51
56
|
readonly $data: Data
|
|
52
57
|
readonly $props: Props
|
|
53
|
-
readonly $parent: NeverFallback<
|
|
54
|
-
readonly $root: NeverFallback<
|
|
55
|
-
readonly $children: NeverFallback<
|
|
58
|
+
readonly $parent: NeverFallback<Instance, Vue> | null
|
|
59
|
+
readonly $root: NeverFallback<Instance, Vue>
|
|
60
|
+
readonly $children: NeverFallback<Instance, Vue>[]
|
|
56
61
|
readonly $options: NeverFallback<Options, ComponentOptions<Vue>>
|
|
57
62
|
$emit: Emit
|
|
58
63
|
|
|
@@ -60,10 +65,10 @@ export interface Vue<
|
|
|
60
65
|
readonly $el: Element
|
|
61
66
|
readonly $refs: {
|
|
62
67
|
[key: string]:
|
|
68
|
+
| NeverFallback<Instance, Vue>
|
|
63
69
|
| Vue
|
|
64
70
|
| Element
|
|
65
|
-
|
|
|
66
|
-
| (Vue | Element | ComponentPublicInstance)[]
|
|
71
|
+
| (NeverFallback<Instance, Vue> | Vue | Element)[]
|
|
67
72
|
| undefined
|
|
68
73
|
}
|
|
69
74
|
readonly $slots: { [key: string]: VNode[] | undefined }
|
|
@@ -103,12 +108,20 @@ export type CombinedVueInstance<
|
|
|
103
108
|
Methods,
|
|
104
109
|
Computed,
|
|
105
110
|
Props,
|
|
106
|
-
SetupBindings
|
|
107
|
-
|
|
111
|
+
SetupBindings = {},
|
|
112
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
113
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
114
|
+
PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>
|
|
115
|
+
> = UnwrapNestedRefs<UnwrapMixinsType<PublicMixin, 'D'>> &
|
|
116
|
+
Data &
|
|
117
|
+
UnwrapMixinsType<PublicMixin, 'M'> &
|
|
108
118
|
Methods &
|
|
119
|
+
ExtractComputedReturns<UnwrapMixinsType<PublicMixin, 'C'>> &
|
|
109
120
|
Computed &
|
|
121
|
+
UnwrapMixinsType<PublicMixin, 'P'> &
|
|
110
122
|
Props &
|
|
111
123
|
Instance &
|
|
124
|
+
ShallowUnwrapRef<UnwrapMixinsType<PublicMixin, 'B'>> &
|
|
112
125
|
(SetupBindings extends void ? {} : SetupBindings)
|
|
113
126
|
|
|
114
127
|
export type ExtendedVue<
|
|
@@ -117,9 +130,20 @@ export type ExtendedVue<
|
|
|
117
130
|
Methods,
|
|
118
131
|
Computed,
|
|
119
132
|
Props,
|
|
120
|
-
SetupBindings
|
|
133
|
+
SetupBindings = {},
|
|
134
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
135
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
121
136
|
> = VueConstructor<
|
|
122
|
-
CombinedVueInstance<
|
|
137
|
+
CombinedVueInstance<
|
|
138
|
+
Instance,
|
|
139
|
+
Data,
|
|
140
|
+
Methods,
|
|
141
|
+
Computed,
|
|
142
|
+
Props,
|
|
143
|
+
SetupBindings,
|
|
144
|
+
Mixin,
|
|
145
|
+
Extends
|
|
146
|
+
> &
|
|
123
147
|
Vue
|
|
124
148
|
>
|
|
125
149
|
|
|
@@ -145,7 +169,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
145
169
|
Methods = object,
|
|
146
170
|
Computed = object,
|
|
147
171
|
PropNames extends string = never,
|
|
148
|
-
SetupBindings = {}
|
|
172
|
+
SetupBindings = {},
|
|
173
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
174
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
149
175
|
>(
|
|
150
176
|
options?: ThisTypedComponentOptionsWithArrayProps<
|
|
151
177
|
V,
|
|
@@ -153,7 +179,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
153
179
|
Methods,
|
|
154
180
|
Computed,
|
|
155
181
|
PropNames,
|
|
156
|
-
SetupBindings
|
|
182
|
+
SetupBindings,
|
|
183
|
+
Mixin,
|
|
184
|
+
Extends
|
|
157
185
|
>
|
|
158
186
|
): CombinedVueInstance<
|
|
159
187
|
V,
|
|
@@ -161,7 +189,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
161
189
|
Methods,
|
|
162
190
|
Computed,
|
|
163
191
|
Record<PropNames, any>,
|
|
164
|
-
SetupBindings
|
|
192
|
+
SetupBindings,
|
|
193
|
+
Mixin,
|
|
194
|
+
Extends
|
|
165
195
|
>
|
|
166
196
|
|
|
167
197
|
/**
|
|
@@ -175,7 +205,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
175
205
|
Methods = object,
|
|
176
206
|
Computed = object,
|
|
177
207
|
Props = object,
|
|
178
|
-
SetupBindings = {}
|
|
208
|
+
SetupBindings = {},
|
|
209
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
210
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
179
211
|
>(
|
|
180
212
|
options?: ThisTypedComponentOptionsWithRecordProps<
|
|
181
213
|
V,
|
|
@@ -183,7 +215,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
183
215
|
Methods,
|
|
184
216
|
Computed,
|
|
185
217
|
Props,
|
|
186
|
-
SetupBindings
|
|
218
|
+
SetupBindings,
|
|
219
|
+
Mixin,
|
|
220
|
+
Extends
|
|
187
221
|
>
|
|
188
222
|
): CombinedVueInstance<
|
|
189
223
|
V,
|
|
@@ -191,7 +225,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
191
225
|
Methods,
|
|
192
226
|
Computed,
|
|
193
227
|
Record<keyof Props, any>,
|
|
194
|
-
SetupBindings
|
|
228
|
+
SetupBindings,
|
|
229
|
+
Mixin,
|
|
230
|
+
Extends
|
|
195
231
|
>
|
|
196
232
|
|
|
197
233
|
/**
|
|
@@ -214,7 +250,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
214
250
|
Methods,
|
|
215
251
|
Computed,
|
|
216
252
|
PropNames extends string = never,
|
|
217
|
-
SetupBindings = {}
|
|
253
|
+
SetupBindings = {},
|
|
254
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
255
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
218
256
|
>(
|
|
219
257
|
options?: ThisTypedComponentOptionsWithArrayProps<
|
|
220
258
|
V,
|
|
@@ -222,7 +260,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
222
260
|
Methods,
|
|
223
261
|
Computed,
|
|
224
262
|
PropNames,
|
|
225
|
-
SetupBindings
|
|
263
|
+
SetupBindings,
|
|
264
|
+
Mixin,
|
|
265
|
+
Extends
|
|
226
266
|
>
|
|
227
267
|
): ExtendedVue<
|
|
228
268
|
V,
|
|
@@ -230,22 +270,43 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
230
270
|
Methods,
|
|
231
271
|
Computed,
|
|
232
272
|
Record<PropNames, any>,
|
|
233
|
-
SetupBindings
|
|
273
|
+
SetupBindings,
|
|
274
|
+
Mixin,
|
|
275
|
+
Extends
|
|
234
276
|
>
|
|
235
277
|
|
|
236
278
|
/**
|
|
237
279
|
* extend with object props
|
|
238
280
|
*/
|
|
239
|
-
extend<
|
|
281
|
+
extend<
|
|
282
|
+
Data,
|
|
283
|
+
Methods,
|
|
284
|
+
Computed,
|
|
285
|
+
Props,
|
|
286
|
+
SetupBindings = {},
|
|
287
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
288
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
289
|
+
>(
|
|
240
290
|
options?: ThisTypedComponentOptionsWithRecordProps<
|
|
241
291
|
V,
|
|
242
292
|
Data,
|
|
243
293
|
Methods,
|
|
244
294
|
Computed,
|
|
245
295
|
Props,
|
|
246
|
-
SetupBindings
|
|
296
|
+
SetupBindings,
|
|
297
|
+
Mixin,
|
|
298
|
+
Extends
|
|
247
299
|
>
|
|
248
|
-
): ExtendedVue<
|
|
300
|
+
): ExtendedVue<
|
|
301
|
+
V,
|
|
302
|
+
Data,
|
|
303
|
+
Methods,
|
|
304
|
+
Computed,
|
|
305
|
+
Props,
|
|
306
|
+
SetupBindings,
|
|
307
|
+
Mixin,
|
|
308
|
+
Extends
|
|
309
|
+
>
|
|
249
310
|
|
|
250
311
|
/**
|
|
251
312
|
* extend with functional + array props
|
|
@@ -290,7 +351,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
290
351
|
Methods,
|
|
291
352
|
Computed,
|
|
292
353
|
PropNames extends string = never,
|
|
293
|
-
SetupBindings = {}
|
|
354
|
+
SetupBindings = {},
|
|
355
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
356
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
294
357
|
>(
|
|
295
358
|
id: string,
|
|
296
359
|
definition?: ThisTypedComponentOptionsWithArrayProps<
|
|
@@ -299,7 +362,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
299
362
|
Methods,
|
|
300
363
|
Computed,
|
|
301
364
|
PropNames,
|
|
302
|
-
SetupBindings
|
|
365
|
+
SetupBindings,
|
|
366
|
+
Mixin,
|
|
367
|
+
Extends
|
|
303
368
|
>
|
|
304
369
|
): ExtendedVue<
|
|
305
370
|
V,
|
|
@@ -307,9 +372,19 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
307
372
|
Methods,
|
|
308
373
|
Computed,
|
|
309
374
|
Record<PropNames, any>,
|
|
310
|
-
SetupBindings
|
|
375
|
+
SetupBindings,
|
|
376
|
+
Mixin,
|
|
377
|
+
Extends
|
|
311
378
|
>
|
|
312
|
-
component<
|
|
379
|
+
component<
|
|
380
|
+
Data,
|
|
381
|
+
Methods,
|
|
382
|
+
Computed,
|
|
383
|
+
Props,
|
|
384
|
+
SetupBindings,
|
|
385
|
+
Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,
|
|
386
|
+
Extends extends ComponentOptionsMixin = ComponentOptionsMixin
|
|
387
|
+
>(
|
|
313
388
|
id: string,
|
|
314
389
|
definition?: ThisTypedComponentOptionsWithRecordProps<
|
|
315
390
|
V,
|
|
@@ -317,7 +392,9 @@ export interface VueConstructor<V extends Vue = Vue> {
|
|
|
317
392
|
Methods,
|
|
318
393
|
Computed,
|
|
319
394
|
Props,
|
|
320
|
-
SetupBindings
|
|
395
|
+
SetupBindings,
|
|
396
|
+
Mixin,
|
|
397
|
+
Extends
|
|
321
398
|
>
|
|
322
399
|
): ExtendedVue<V, Data, Methods, Computed, Props, SetupBindings>
|
|
323
400
|
component<PropNames extends string>(
|