Commit Graph

3337 Commits

Author SHA1 Message Date
ShroXd
6f555cf98c
refactor(runtime-core): improve the type of defineAsyncComponent (#4441) 2021-09-01 16:41:08 -04:00
Cédric Exbrayat
b49f446ad0
chore(deps): update jest to v27 (#4472)
Updates jest and ts-jest to v27, as jest v27.1.0 includes a necessary fix to unblock further work on spying issues.

See https://github.com/facebook/jest/pull/11721
2021-09-01 16:39:46 -04:00
Evan You
b89ff9291e fix(compiler-sfc): ensure script setup lang=ts output is tree-shakable 2021-09-01 12:40:36 -04:00
Evan You
935b4e2210 fix(compiler-core): remove no longer necessary withScopeId import in generated code 2021-09-01 11:30:34 -04:00
Evan You
72d2b26e96 release: v3.2.6 2021-08-24 12:54:30 -04:00
Evan You
4c468eb30a fix(build): avoid imports to @babel/types in client build of compiler-core 2021-08-24 12:39:38 -04:00
Evan You
a137d73e91 release: v3.2.5 2021-08-24 11:54:22 -04:00
shadowings-zy
32827506ff
fix(compiler-core): fix duplicated component identifier for names with non-ascii chars (#4429)
fix #4422
2021-08-24 11:48:08 -04:00
Evan You
586ec51c49 chore: warnings for ref transform 2021-08-24 10:26:38 -04:00
Evan You
8f1101c498 refactor(ref-transform): use shallowRef to align with types 2021-08-24 09:20:32 -04:00
Evan You
b40845153c feat(experimental): expose ref macro types using separate d.ts file 2021-08-23 20:35:12 -04:00
Carlos Rodrigues
afd49b3e88
types(PropType): Allow undefined function to be used on PropType (#4405) 2021-08-23 19:04:03 -04:00
klwf
98263821f8
fix(compiler-sfc): fix <script> and <script setup> co-usage ordering edge case (#4419)
Fix: #4395
Fix: #4376
2021-08-23 19:02:54 -04:00
阿崔cxr
a46b0a9a96
chore(test): make unnecessarily async test case sync (#4421) 2021-08-23 18:52:11 -04:00
lidlanca
4792ebd687
fix(compiler-sfc): fix 'export default' rewrite with extra whitespaces (#4375) 2021-08-23 18:40:16 -04:00
zhangenming
9043d0dca7
refactor(reactivity): use explicit assignments. (#4401) 2021-08-23 18:32:58 -04:00
HcySunYang
ebd0baca98
fix(types): improve the type of createElementBlock (#4406)
fix #4391
2021-08-23 18:28:52 -04:00
Evan You
f1fa30adc3 refactor(ref-transform): improve algorithm into one pass 2021-08-23 18:22:21 -04:00
Evan You
06051c4bf2 feat(experimental): support ref transform for sfc normal <script> 2021-08-23 16:00:46 -04:00
Evan You
f173cf0026 chore(sfc-playground): improve version dropdown 2021-08-23 14:23:46 -04:00
Evan You
40994e967c chore: fix sfc playground ci build 2021-08-23 14:10:11 -04:00
Evan You
80ed275073 chore(sfc-playground): enable ref transform 2021-08-23 12:21:17 -04:00
Evan You
6453359852 feat(ref-transform): auto infer parser plugins 2021-08-23 12:20:53 -04:00
Evan You
0805abe573 refactor(compiler-sfc): refSugar -> refTransform, export shouldTransformRef 2021-08-23 12:19:41 -04:00
Evan You
986681568f chore: export extractIdentifiers 2021-08-23 12:18:43 -04:00
Evan You
e565831c98 feat(experimental): shouldTransform for ref-transform 2021-08-23 10:45:58 -04:00
Evan You
0c2ea1c134 refactor(compiler-sfc): remove parseOnly mode 2021-08-22 22:28:47 -04:00
Evan You
db8dc753c0 feat(experimental): standalone ref transform 2021-08-22 22:21:42 -04:00
Evan You
84b24a71f0 chore: bump deps 2021-08-22 15:33:21 -04:00
Evan You
73f8cae465 refactor(compiler): further extract babel ast utilities 2021-08-22 14:51:16 -04:00
Evan You
62f752552a refactor(compiler): extract shared ast transform utils
Also improve referenced identifier check using isReferenced from  @babel/types
2021-08-22 13:24:16 -04:00
Evan You
6be6c268e8 test(compiler-core): include test case for expression prefixing in assignments 2021-08-22 12:33:00 -04:00
Evan You
4adc5042f9 types: improve ref sugar $computed typing 2021-08-20 00:07:16 -04:00
Evan You
872b3f7ec5 fix(compiler-sfc): should also expose regular script block bindings when <script setup> is used
close #4369
2021-08-17 15:52:48 -04:00
Evan You
e22d7cdb08 chore(sfc-playground): update code style and syntax 2021-08-17 15:42:18 -04:00
Evan You
ceace3a8cc release: v3.2.4 2021-08-17 12:26:50 -04:00
Evan You
951fbb197b Revert "chore: add missing space in warning message (#4359) [ci skip]"
This reverts commit c68cba82ea.
2021-08-17 12:18:54 -04:00
似水微寒
c51fb74599
refactor(compiler-sfc): remove duplicate judgment conditions (#4368) 2021-08-17 12:12:18 -04:00
zhangenming
d8da4214fc
refactor(reactivity): reduce variable access (#4366) 2021-08-17 12:11:52 -04:00
okbug
c68cba82ea
chore: add missing space in warning message (#4359) [ci skip] 2021-08-17 11:28:33 -04:00
Evan You
644971ec06 fix(runtime-core): ensure consistent arguments for tempalte and render funtion slot usage
fix #4367
2021-08-17 11:15:53 -04:00
Evan You
c1f564e1dc fix(runtime-core): fix child component double update on props change
fix #4365
2021-08-17 10:57:28 -04:00
Evan You
57f10812cc fix(compiler-sfc): fix import usage check for lowercase imported components
fix #4358
2021-08-17 10:10:26 -04:00
Evan You
03abc2573c release: v3.2.3 2021-08-16 18:25:32 -04:00
webfansplz
0627765b36
chore(types): remove unnecessary type assertions (#4336) 2021-08-16 18:19:44 -04:00
Haoqun Jiang
7c4e4514d1
chore: rename onDispose to onScopeDispose in warnings and tests (#4355) 2021-08-16 18:19:06 -04:00
skirtle
620a69b871
fix(runtime-dom): consistently remove boolean attributes for falsy values (#4348) 2021-08-16 18:18:36 -04:00
Evan You
f855ccb2c1 fix(compiler-sfc): fix import usage check in template strings in expressions
fix #4340
2021-08-16 18:03:09 -04:00
webfansplz
ad66295cb3
fix(defineProps): defineProps generates unnecessary array of same types (#4353)
fix #4352
2021-08-16 17:40:00 -04:00
Evan You
77223df2d2 types(runtime-dom): fix jsx type for IDE v-model inference
fix #4321
2021-08-16 17:13:37 -04:00
Amour1688
516d464830
types(runtime-dom): export type StyleValue (#3718) 2021-08-16 16:52:34 -04:00
zdw
84d4357f6f
fix(types): fix tsx ref component instance type (#2486) 2021-08-16 16:51:41 -04:00
fishDog
092bdcdf58
fix(compiler-core): fix style binding edge case (#4319)
where static `style` attribute and `:style` with constant binding are used together

fix #4317
2021-08-16 16:37:31 -04:00
Evan You
aae3725e57 fix(compiler-sfc): bail on import usage check when template has custom lang
fix #4312
2021-08-16 16:08:52 -04:00
Evan You
a6c1db2728 fix(compiler-core): fix hoisting logic for elements with cached handlers + other bindings
fix #4327
2021-08-16 15:57:10 -04:00
5b3f1e8424
fix(runtime-core): patchChildren first in patchElement (#4313) 2021-08-16 15:46:27 -04:00
HcySunYang
cd2d98499e
fix(runtime-core): vnode hooks should not be called on async wrapper (#4349)
fix #4346
2021-08-16 15:35:50 -04:00
lidlanca
3201224ecb
test(shared): improve test case for toDisplayString (#4337) 2021-08-16 15:34:59 -04:00
edison
42a334e12e
fix(shared): fix toDisplayString on object with null prototype (#4335)
fix #4334
2021-08-16 15:28:34 -04:00
Hazlank
6db15a27cf
refactor: merge bitwise flag checks (#4324) 2021-08-16 15:13:04 -04:00
Evan You
7ffa225aa3 release: v3.2.2 2021-08-11 11:40:25 -04:00
edison
e7b0a9d3cf
fix(runtime-dom): patch textContent on svg properly (#4301)
fix #4296
2021-08-11 10:53:54 -04:00
webfansplz
1ce34e25d5
fix(types): fix tsx emit-mapped handler return type (#4290)
fix #4288
2021-08-11 10:52:36 -04:00
edison
380608bd44
fix(types): fix forceUpdate type (#4302) 2021-08-11 10:46:18 -04:00
Shinigami
6e5801f8a8
fix(types): allow symbol in JSX ReservedProps.key (#4306) 2021-08-11 10:42:46 -04:00
Evan You
00b76d3dc1 feat(sfc): support $shallowRef ref sugar 2021-08-11 10:19:58 -04:00
Evan You
e42d7794cb chore(compiler-sfc): emit compiler error against incorrect ref sugar usage 2021-08-10 14:57:47 -04:00
Evan You
2224610b0b fix(server-renderer): pipeToWebWritable CF worker compat
fix #4287
2021-08-10 14:03:51 -04:00
webfansplz
e04680b0aa
test(reactivity): add test case for effectScope (#4239) 2021-08-10 13:59:58 -04:00
Jordan Pittman
c46af8fe26
chore: remove left over debugger line (#4286) [ci skip] 2021-08-10 13:57:27 -04:00
Evan You
2749c15170 release: v3.2.1 2021-08-09 16:29:53 -04:00
Evan You
1e1682f060 fix(compiler-sfc): fix import usage check for last expression 2021-08-09 16:22:20 -04:00
Evan You
c9c7030041 chore: update sfc playground download dep versions 2021-08-09 16:08:53 -04:00
Evan You
5a7a43cc3d release: v3.2.0 2021-08-09 15:51:53 -04:00
lidlanca
6779bff537
feat(runtime-core): support dynamic / external array in v-memo (#4255) 2021-08-09 15:39:22 -04:00
Evan You
2641422aa7 fix(compiler-dom): stringify eligible svg content
fix #4282
2021-08-09 14:39:50 -04:00
WoodyJang
f258f5d2c2
chore: delete useless props type (#4271) 2021-08-09 12:36:34 -04:00
Evan You
88a4504e82 fix(compiler-sfc): fix import usage detection for names containing $
fix #4274
2021-08-09 12:17:22 -04:00
Evan You
4781965cc2 release: v3.2.0-beta.8 2021-08-06 23:12:27 -04:00
fishDog
abb3a81e87
fix(compiler-core): detected forwarded slots in nested components (#4268)
fix #4244
2021-08-06 22:37:55 -04:00
edison
a211e271ee
fix(v-memo): ensure track block when returning cached vnode (#4270)
fix #4253
2021-08-06 21:44:45 -04:00
edison
3b60358d0e
fix(v-memo): should work on v-for with constant expression (#4272)
fix #4246
2021-08-06 21:37:09 -04:00
Evan You
c421fb91b2 feat(runtime-dom): support async component in defineCustomElement
close #4261
2021-08-06 19:15:55 -04:00
Evan You
1994f1200d test: improve test case for 865b84bf 2021-08-06 13:01:39 -04:00
Eugene Kopich
fdc9a4d301
chore: update link in comments for new ref sugar (#4265) [ci skip] 2021-08-06 12:58:40 -04:00
Evan You
865b84bfe8 fix(compiler-sfc): fix ref sugar rewrite for identifiers in ts casting expressions
fix #4254
2021-08-06 12:55:48 -04:00
Evan You
86d78d10e3 refactor(server-renderer): adjust streaming API
- add `pipeToNodeWritable`
- add `pipeToWebWritable`
2021-08-06 12:41:40 -04:00
James Ross
17cc4e15a7
docs(server-renderer): fix typo in renderToWebStream error, and remove Cloudflare Worker reference (#4249) [ci skip] 2021-08-06 11:23:12 -04:00
AlexandraCaragata
d045055b47
fix(core): typing of key in VNodeProps (#4242)
close #4240
2021-08-06 11:11:26 -04:00
Evan You
9bee5ccea4 chore: update new ref sugar warning link 2021-08-04 17:06:23 -04:00
Evan You
bf2589b1f0 refactor(compiler-sfc): use shallowRef for ref sugar destructure 2021-08-04 15:39:32 -04:00
hfutsora
bc7dd93f92
fix(runtime-dom): fix shadowRoot instanceof check in unsupported browsers (#4238) 2021-08-02 09:41:41 -04:00
Amour1688
d3d5ad204d
fix(types): remove explicit return type annotation requirement for this inference in computed options (#4221) 2021-08-02 09:18:35 -04:00
Evan You
f9f9bad53f chore(server-renderer): readme [ci skip] 2021-07-29 17:20:07 -04:00
Evan You
6aa871e565 fix(runtime-core): component effect scopes should be detached 2021-07-29 17:15:56 -04:00
Evan You
b357009a82 release: v3.2.0-beta.7 2021-07-29 13:21:30 -04:00
Evan You
08672222c6 feat(server-renderer): decouple esm build from Node + improve stream API
- deprecate `renderToSTream`
- added `renderToNodeStream`
- added `renderToWebStream`
- added `renderToSimpleStream`

close #3467
close #3111
close #3460
2021-07-29 13:14:02 -04:00
Roan Kattouw
9d5fd33d6d
fix(shared): support custom .toString() in text interpolation again (#4210)
fix #3944
2021-07-29 10:51:03 -04:00
Bartek Igielski
1e3d468ca1
build(server-renderer): Add ESM as a build target (#4209) 2021-07-29 10:48:15 -04:00
Evan You
13c69469f2 refactor: simplify for size 2021-07-29 10:45:05 -04:00
Bas van Meurs
91f29540fe
refactor(reactivity): optimize child effect scope dereferencing (#4184) 2021-07-29 10:26:24 -04:00
Evan You
3b38c9ae9b feat(sfc): remove experimental status for sfc style v-bind 2021-07-28 18:31:48 -04:00
Evan You
51ee84fc6a fix(suspense): fix dynamicChildren tracking when suspense root is a block itself
e.g. `<slot>` inside suspense

fix #4183, fix #4198
2021-07-28 16:49:34 -04:00
Evan You
1867591e7c fix(reactivity): dereference nested effect scopes on manual stop 2021-07-28 12:08:01 -04:00
Pick
da6c055b19
types(reactivity): simplify UnwrapNestedRefs (#4194) 2021-07-28 11:15:08 -04:00
Pick
b79e4ca717
types(reactivity): Simplify the SymbolExtract (#4162) 2021-07-28 11:12:46 -04:00
Roan Kattouw
d2585e13e9
chore: Add LICENSE file for vue-compat (#4200) [ci skip] 2021-07-28 11:07:47 -04:00
edison
771635b72a
fix(sfc/style-vars): improve ignore style variable bindings in comments (#4202) 2021-07-28 10:51:25 -04:00
Evan You
204e194d2b release: v3.2.0-beta.6 2021-07-27 18:56:02 -04:00
Evan You
f994b974c0 feat: unwrap refs in toDisplayString 2021-07-27 18:42:30 -04:00
Evan You
ee4cbaeec9 fix(runtime-core): expose ssrUtils in esm-bundler build
this is necessary for worker environments where Vue needs to be
bundled (instead of using cjs build via Node.js require)

fix #4199
2021-07-27 17:59:13 -04:00
Evan You
561e210157 fix(inject): should auto unwrap injected refs
fix #4196
2021-07-27 17:52:37 -04:00
Evan You
8681c12c0c chore: rename method to make it more explicit it is dev only 2021-07-27 17:52:37 -04:00
edison
3a75d5d694
fix(sfc/style-vars): should ignore style variable bindings in comments (#4188)
fix #4185
2021-07-26 11:19:56 -04:00
Evan You
4b595a3ea1 release: v3.2.0-beta.5 2021-07-23 16:10:22 -04:00
Evan You
ac74e1dd33 fix(v-model): avoid resetting value of in-focus & lazy input
fix #4182
2021-07-23 15:44:56 -04:00
Evan You
2581cfb707 fix(types): fix types for readonly ref
fix #4180
2021-07-23 15:24:58 -04:00
Evan You
231dafd55a refactor: adjust custom element hmr, fix tests 2021-07-22 23:18:15 -04:00
Evan You
bff4ea74c5 fix(hmr): fix custom elements hmr edge cases 2021-07-22 18:54:26 -04:00
Evan You
5b76843b69 feat(runtime-dom): support passing initial props to custom element constructor 2021-07-22 18:19:58 -04:00
Evan You
7a7e1d8e9f feat(runtime-dom): hmr for custom elements 2021-07-22 17:48:15 -04:00
Evan You
a7fa4ac28a feat(runtime-dom): support specifying shadow dom styles in defineCustomElement 2021-07-22 16:33:32 -04:00
Evan You
f0ca233d8b refactor(compiler-sfc): improve script setup import expose heuristics 2021-07-22 12:53:08 -04:00
Evan You
5a3ccfd914 feat(compiler-sfc): avoid exposing imports not used in template
close #3183
2021-07-22 12:04:46 -04:00
Evan You
db3f57a392 fix(hmr): fix hmr when global mixins are used
fix #4174
2021-07-22 10:53:59 -04:00
Evan You
fe58bae412 release: v3.2.0-beta.4 2021-07-21 17:40:25 -04:00
Evan You
8560005601 fix(runtime-core): ensure setupContext.attrs reactivity when used in child slots
fix #4161
2021-07-21 17:31:00 -04:00
Evan You
ff0c810300 fix(runtime-dom): defer setting value
fix #2325, fix #4024
2021-07-21 16:38:01 -04:00
王嘉欣
36ae23d27e
chore(types): remove unnecessary assertions (#4168) 2021-07-21 15:55:31 -04:00
webfansplz
9c931d8154
chore(types): remove unnecessary non-null assertion (#4169) 2021-07-21 15:50:08 -04:00
Evan You
d13774b881 perf: skip patch on same vnode 2021-07-21 14:04:02 -04:00
Evan You
dd1439e711 build: reduce runtime build size 2021-07-21 11:11:40 -04:00
Evan You
9d5dd2da8c release: v3.2.0-beta.3 2021-07-20 17:47:03 -04:00
Evan You
14ca881a1b feat(reactivity): deferredComputed
Note: this is not exposed as part of Vue API, only as
a lower-level API specific to @vue/reactivity
2021-07-20 17:39:19 -04:00
Evan You
d87d059ac1 feat(runtime-core): watchSyncEffect 2021-07-20 16:49:54 -04:00
Evan You
33c2fbfdc8 fix(reactivity): revert computed scheduler change
fix #4157
2021-07-20 16:45:29 -04:00
Evan You
bc7f9767f5 fix(watch): ensure watchers respect detached scope
fix #4158
2021-07-20 14:32:17 -04:00
Evan You
2bdee50a59 fix(runtime-core): fix v-bind class/style merging regression
fix #4155
2021-07-20 13:58:43 -04:00
webfansplz
acb2a4d285
fix(sfc-playground): Transform named default exports without altering scope (#4154)
Co-authored-by: webfansplz <>
2021-07-20 10:28:02 -04:00
webfansplz
457c9aed1f
chore(type): remove unnecessary type assertion (#4150) 2021-07-20 09:31:40 -04:00
Evan You
3ff94faca1 build: fix default build script (ignore sfc-playground)
close #4153
2021-07-20 09:29:45 -04:00
Evan You
1034546a4c release: v3.2.0-beta.2 2021-07-19 19:36:55 -04:00
Evan You
a21ca3dccc fix(compiler-core): fix self-closing tags with v-pre 2021-07-19 19:29:28 -04:00
Evan You
7e75b4105a refactor: better fix for ec6abe8d 2021-07-19 19:23:44 -04:00
Evan You
bb7b130b0b chore: remove peer dep for compiler-sfc 2021-07-19 19:06:17 -04:00
Evan You
8dbecfcbb3 feat(compiler-sfc): add ignoreEmpty option for sfc parse method 2021-07-19 19:02:46 -04:00
Evan You
ec6abe8d5e fix(compiler-sfc): fix whitespace preservation when block contains single self-closing tag 2021-07-19 18:54:35 -04:00
Evan You
47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Amour1688
69344ff1ae
feat(types): map declared emits to onXXX props in inferred prop types (#3926) 2021-07-19 18:22:19 -04:00
Pick
35cc7b0d31
chore(reactivity): correct the description of the test case (#4135) 2021-07-19 17:59:30 -04:00
Evan You
3056e9b3dc fix(v-model): properly detect input type=number
fix #3813
2021-07-19 17:46:04 -04:00
Evan You
93a950d60d fix(compiler-sfc): support const enum 2021-07-19 17:31:13 -04:00
Cédric Exbrayat
b771fdbef9
perf(compiler-sfc): ignore empty blocks (#3520) 2021-07-19 17:24:40 -04:00
Homyee King
65f82ce94f
chore(shared): remove extra NaN logic (#3837) 2021-07-19 17:22:21 -04:00
ioslh
20b6619793
fix(ssr): update initial old value to watch callback in ssr usage (#4103) 2021-07-19 17:13:37 -04:00
Evan You
b274b08f5f fix(compiler-sfc): expose correct range for empty blocks 2021-07-19 17:05:37 -04:00
Evan You
d810a1a569 fix(scheduler): fix insertion for id-less job
fix #4148
2021-07-19 13:37:38 -04:00
Evan You
6eb47f000a fix(reactivity): computed should not trigger scheduler if stopped
fix #4149
2021-07-19 13:37:03 -04:00
Austin Keener
dd0f9d1ce6
feat(compiler): allow 'comments' option to affect comment inclusion in dev (#4115)
Close: #3392
Replace: #3395
2021-07-19 11:40:37 -04:00
webfansplz
d868d5ffa7
chore(shared): remove deprecated html tags (#4130) 2021-07-19 11:30:43 -04:00
Evan You
bbf6ca9bca fix(runtime-core): fix null type in required + multi-type prop declarations
fix #4146 (in combination with #4147)
2021-07-19 11:20:28 -04:00
Evan You
cac6ab5bdb chore: fix type issue 2021-07-19 11:11:17 -04:00
edison
f7607d3a15
fix(compiler-sfc): defineProps infer TSParenthesizedType (#4147) 2021-07-19 11:09:24 -04:00
Evan You
47ba33e27b refactor: improve the fix for #4138 2021-07-19 10:43:14 -04:00
Evan You
a8c3a8ad61 fix(shared): normalizeStyle should handle strings
fix #4138
2021-07-19 10:37:12 -04:00
leno
84f6791e89
chore(runtime-core): use bit operations instead (#4142) 2021-07-19 10:32:14 -04:00
webfansplz
df0ce21836
chore(types): improve of type assertion (#4141) 2021-07-19 10:32:07 -04:00
Cédric Exbrayat
1e5e004d7c
chore(sfc-playground): remove compiler macro imports (#4134)
Importing `defineEmits` and `defineProps` is no longer needed since v3.1.3
2021-07-19 10:08:51 -04:00
Evan You
327c8983fb types: typing for ref macros 2021-07-16 17:35:04 -04:00
Evan You
1bab53e717 chore: remove deprecated defineEmit & useContext APIs 2021-07-16 16:56:51 -04:00
Evan You
d4c67dd253 release: v3.2.0-beta.1 2021-07-16 14:44:06 -04:00
Evan You
49dc2dd1e4 fix(sfc/style-vars): properly re-apply style vars on component root elements change
Now uses MutationObserver to ensure it works even for HOCs

fix #3894
2021-07-16 14:30:49 -04:00
Evan You
317654b34f chore: fix codegen error due to scopeId deprecation change 2021-07-16 14:30:49 -04:00
Evan You
fcc6a54ee7 chore: expose watchPostEffect 2021-07-16 14:30:49 -04:00
Evan You
de32cfa43e fix: ensure customElements API ssr compatibility
fix #4129
2021-07-16 14:30:49 -04:00
fishDog
eca4d7891a chore(compiler-core): reduce unnecessary cache inside v-once (#4112) 2021-07-16 14:30:49 -04:00
Evan You
e5a4412764 feat(sfc): support namespaced component tags when using <script setup> 2021-07-16 14:30:49 -04:00
Evan You
a8edf2bdff refactor: remove outdated slot ctx wrapper codegen 2021-07-16 14:30:49 -04:00
Evan You
2a310df753 fix(runtime-core): fix default shapeFlag for fragments 2021-07-16 14:30:49 -04:00
Evan You
29732c2c86 fix: ignore .prop/.attr modifiers in ssr 2021-07-16 14:30:49 -04:00
Evan You
e66a493da1 refactor: remove deprecated defineEmit() support 2021-07-16 14:30:49 -04:00
Evan You
562bddb3ce feat(sfc): (experimental) new ref sugar 2021-07-16 14:30:49 -04:00
Evan You
27104eaaf0 feat: remove experimental status of <script setup> 2021-07-16 14:30:49 -04:00
Evan You
f596e008ef refactor: remove deprecated scopeId codegen
BREAKING CHANGE: Output of SFC using `<style scoped>` generated by 3.2+
will be incompatible w/ runtime <3.2.
2021-07-16 14:30:49 -04:00
Evan You
1c7d737cc8 feat: support v-bind .prop & .attr modifiers
Also allows render function usage like the following:

```js
h({
  '.prop': 1, // force set as property
  '^attr': 'foo' // force set as attribute
})
```
2021-07-16 14:30:49 -04:00
Evan You
00f0b3c465 feat: custom element reflection, casting and edge cases 2021-07-16 14:30:49 -04:00
Evan You
bf4893c17c types: fix dts tests 2021-07-16 14:30:49 -04:00
Evan You
4e5897d2df test: fix renderSlot tests 2021-07-16 14:30:49 -04:00
Evan You
8610e1c9e2 feat(runtime-dom): defineCustomElement 2021-07-16 14:30:49 -04:00
Evan You
42ace9577d feat: watchPostEffect 2021-07-16 14:30:49 -04:00
Evan You
3b64508e3b feat: v-memo 2021-07-16 14:30:49 -04:00
Evan You
5cea9a1d4e feat(reactivity): support onTrack/onTrigger debug options for computed 2021-07-16 14:30:49 -04:00
Evan You
b7ea7c1485 perf: also hoist all-static children array 2021-07-16 14:30:49 -04:00
Evan You
2dd4739089 test: more test cases for computed w/ scheduler 2021-07-16 14:30:49 -04:00
Evan You
1fe2239270 refactor: sync value access for chained computed w/ scheduler 2021-07-16 14:30:49 -04:00
Evan You
02339b67d8 perf: hoist dynamic props lists 2021-07-16 14:30:49 -04:00
Evan You
979a841946 chore: use consistent file naming 2021-07-16 14:30:49 -04:00
Evan You
eae7c247af refactor: reduce bundle size 2021-07-16 14:30:49 -04:00
Bas van Meurs
6cf2377cd4 perf(reactivity): use bitwise dep markers to optimize re-tracking (#4017) 2021-07-16 14:30:49 -04:00
Evan You
cc09772d55 chore: remove unncessary property on ComputedRef interface 2021-07-16 14:30:49 -04:00
Evan You
bde855e017 test: test for computed optimization 2021-07-16 14:30:49 -04:00
Evan You
ebaac9a56d perf(reactivity): avoid triggering re-render if computed value did not change 2021-07-16 14:30:49 -04:00
Anthony Fu
f5617fc3bb feat(reactivity): new effectScope API (#2195) 2021-07-16 14:30:49 -04:00
Evan You
87f69fd0bb perf(reactivity): improve reactive effect memory usage (#4001)
Based on #2345 , but with smaller API change

- Use class implementation for `ReactiveEffect`
- Switch internal creation of effects to use the class constructor
- Avoid options object allocation
- Avoid creating bound effect runner function (used in schedulers) when not necessary.
- Consumes ~17% less memory compared to last commit
- Introduces a very minor breaking change: the `scheduler` option passed to `effect` no longer receives the runner function.
2021-07-16 14:30:49 -04:00
Evan You
63a51ffcab chore: fix test failing types 2021-07-16 14:30:49 -04:00
Evan You
b2554aefba refactor: small bundle size / readability optimization 2021-07-16 14:30:49 -04:00
Bas van Meurs
64310405ac perf(reactivity): ref-specific track/trigger and miscellaneous optimizations (#3995) 2021-07-16 14:30:49 -04:00
HcySunYang
ceff89905b perf: improve VNode creation performance with compiler hints (#3334) 2021-07-16 14:30:49 -04:00
Evan You
31abdc8ada release: v3.1.5 2021-07-16 12:38:01 -04:00
Evan You
b6cc8640c5 test: test for compat mode v3 render fn detection 2021-07-16 10:23:25 -04:00
Evan You
8dbad83e7f fix(compat): fix v3 compiled fn detection in production 2021-07-16 10:17:38 -04:00
Evan You
68365b9b2b fix(runtime-core): enter optimized mode for component as root
fix #3943
2021-07-15 18:51:59 -04:00
TheDro
1cfe290352
fix(reactivity): call array subclass methods (#3624)
fix #2314, close #2315
2021-07-15 17:17:13 -04:00
Evan You
299f7c08c7 chore: fix snapshot from merge 2021-07-15 16:57:30 -04:00
patak
29010501cc
fix(compiler-sfc): duplicated injected css var with repeated vars in style (#2802) 2021-07-15 16:45:37 -04:00
b31712ecc5
test(teleport): fix meaningless test case (#2872) 2021-07-15 16:36:36 -04:00
HcySunYang
3756270272
fix(runtime-dom): capture errors when setting value for IDL (#3578)
fix #3576
2021-07-15 16:32:25 -04:00
Carlos Rodrigues
18911abb91
fix(type): infer parent as this on nextTick function (#3608)
fix #3599
2021-07-15 16:28:20 -04:00
Yang Mingshan
08f504c1b7
fix(ref): should not trigger when setting value to same proxy (#3658) 2021-07-15 16:28:01 -04:00
Carlos Rodrigues
f6a5f09a3a
types(defineComponent): fix unwrap when returning Ref<T>|undefined from setup (#4100) 2021-07-15 15:58:20 -04:00
Tan Zhen Yong
e508ee08e9
chore: fix typo in inherit-attrs warning (#4094) 2021-07-15 15:45:23 -04:00
Austin Keener
e00aa56658
fix(compiler): Addressed infinite loop in compiler (#3992)
close #3987
2021-07-15 14:57:47 -04:00
Evan You
7013e8f578 fix(runtime-dom): remove class attribute on nullish values
close #3173
2021-07-15 13:45:43 -04:00
Evan You
5af718ba41 fix(v-model): support calling methods in v-model expression
close #3993
2021-07-15 13:34:42 -04:00
Evan You
395572b593 fix(v-on): proper member exp detection for bracket assignment
fix #4097
2021-07-15 13:26:09 -04:00
Evan You
c0db807844 refactor: simplify static content insertion 2021-07-15 13:16:19 -04:00
Evan You
5df7dfcd71 fix(sfc): only enable jsx parser plugin when explicitly using tsx
fix #4106
2021-07-15 13:12:06 -04:00
Evan You
963085d18c fix(v-on): properly detect member expressions with optional chaining
fix #4107
2021-07-15 12:23:07 -04:00
Evan You
2937530bef fix(v-model): handle mutations of v-model bound array/sets
fix #4096
2021-07-15 12:14:19 -04:00
edison
c23153d82e
fix(compiler-core): fix forwarded slots detection on template slots (#4124)
fix #4123
2021-07-15 11:37:11 -04:00
edison
6a0c7cd905
fix(sfc): fix style variables injection on static vnode (#3847)
fix #3841
2021-07-14 18:08:12 -04:00
Evan You
03e26845e2 fix(sfc): fix <script setup> async context preservation logic
fix #4050
2021-07-06 14:31:53 -04:00
Evan You
d12206db8e test: add test case for proper effect teardown w/ withAsyncContext 2021-07-06 11:39:27 -04:00
Evan You
6fad2093a4 fix(compiler-sfc): should not rewrite ref sugar identifiers in types
fix #4062
2021-07-05 14:41:53 -04:00
Austin Keener
f3e15f633e
fix(compat): fix props check for v-model compat warning (#4056) 2021-07-04 18:32:44 -04:00
Evan You
348c3b01e5 release: v3.1.4 2021-07-02 08:37:50 -04:00
Evan You
253ca2729d fix(compiler-sfc): fix parse-only mode when there is no script setup block 2021-07-02 08:24:24 -04:00
Evan You
438754a0d1 fix(build): avoid using async/await syntax 2021-07-02 08:06:25 -04:00
Evan You
a44d528af1 fix(codegen): ensure valid types in genreated code when using global directives
fix #4054
2021-07-02 07:59:47 -04:00
Austin Keener
12cf9f4ea1
fix(runtime-core): fix instance accessed via $parent chain when using expose() (#4048) 2021-07-02 07:51:54 -04:00
wonderl17
735ada1507
fix(runtime-core): add useAttrs and useSlots export (#4053) 2021-07-02 07:51:09 -04:00
Evan You
fc7b640041 release: v3.1.3 2021-07-01 19:28:06 -04:00
Evan You
ba89ca9eca fix(runtime-dom): fix static node content caching edge cases
reverts fded1e8

fix #4023, #4031, #4037
2021-07-01 19:19:53 -04:00
Guillaume
347d90173b types: export CreateComponentPublicInstance 2021-07-02 00:10:07 +02:00
Evan You
33708e8bf4 fix(ssr): ensure behavior consistency between prod/dev when mounting SSR app to empty containers
close #4034
2021-07-01 17:22:03 -04:00
Evan You
34d4991dd5 fix(ssr): properly hydrate non-string value bindings
fix #4006
2021-07-01 17:11:23 -04:00
Evan You
fded1e8dfa fix(runtime-core): fix mouting of detached static vnode
fix #4023
2021-07-01 16:11:50 -04:00
Evan You
d2df28dca4 fix(compiler-core): properly exit self-closing pre tag
fix #4030
2021-07-01 15:34:12 -04:00
Evan You
127ed1b969 fix(types): improve type of unref()
fix #3954
2021-07-01 15:20:49 -04:00
Bas van Meurs
69b74a806f
chore(puppeteer): upgrade puppeteer (#4019)
* chore(puppeteer): upgrade puppeteer

* fix(tests): fix typescript error with puppeteer 5.X types

Co-authored-by: bas <bas@planning.nl>
2021-07-01 13:56:38 -04:00
Johnson Chu
8ed3ed6c27
feat(types/ide): support find definition for jsx tags, events (#3570) 2021-07-01 13:49:16 -04:00
Johnson Chu
81e69b29ec
feat(types): support IDE renaming for props (#3656) 2021-07-01 13:48:23 -04:00
Evan You
1ffd48a2f5 fix(compiler-sfc): support TS runtime enum in <script setup> 2021-06-30 12:03:42 -04:00
Evan You
f8a6b57ddd refactor(reactivity): improve tree-shaking annotations 2021-06-30 11:39:31 -04:00
Evan You
601a290caa feat(compiler-sfc): compileScript parseOnly mode
This is an internal feature meant for IDE support
2021-06-29 17:56:49 -04:00
Evan You
96cc335aa7 feat(sfc): make ref sugar disabled by default 2021-06-29 15:22:26 -04:00
Evan You
9ee41e14d2 fix: prevent withAsyncContext currentInstance leak in edge cases 2021-06-29 14:22:18 -04:00
Evan You
0240e82a38 feat(sfc): auto restore current instance after await statements in async setup() 2021-06-29 09:24:12 -04:00
Evan You
fd7fa6f694 test: fix script setup directive test 2021-06-28 18:55:27 -04:00
Evan You
211793d376 fix(compiler-sfc): avoid script setup marker showing up in devtools 2021-06-28 18:48:38 -04:00
Evan You
2e10261b38 chore: warn script setup compiler macro imports 2021-06-28 17:57:58 -04:00
Evan You
d35e0b1468 feat(sfc): change <script setup> directive resolution to require v prefix
close #3543
2021-06-28 17:35:31 -04:00
Evan You
0245c98640 chore(sfc-playground): handle ssr-only compile errors 2021-06-28 17:34:52 -04:00
Evan You
62c1b2f7dc fix(compiler-sfc): fix defineProps/defineEmits usage in multi-variable declarations
fix #3739
2021-06-28 16:31:55 -04:00
Evan You
2973b6c30a feat(sfc): support referenced types for defineEmits 2021-06-28 16:03:27 -04:00
Evan You
afdd2f2835 fix(compiler-sfc): support method signature in defineProps
fix #2983
2021-06-28 15:39:04 -04:00
Evan You
2f91db30cd feat(sfc): support using declared interface or type alias with defineProps() 2021-06-28 15:30:28 -04:00
LordTerabyte
d069796b8f
fix(runtime-core): add missing serverPrefetch hook error string (#4014) 2021-06-28 15:30:20 -04:00
Evan You
ef5c41523f types: fix global helpers dts generation 2021-06-26 21:47:18 -04:00
Evan You
fddef8bb74 chore: remove unnecessary casting 2021-06-26 21:35:25 -04:00
Evan You
004bd18cf7 feat(sfc/types): make <script setup> helper types available globally 2021-06-26 21:12:26 -04:00
Evan You
4c5844a9ca feat(sfc): withDefaults helper 2021-06-26 21:11:57 -04:00
Evan You
3ffc7be864 chore(sfc-playground): ignore duplicate logs 2021-06-25 19:31:47 -04:00
Evan You
1675b6d723 fix: defineExpose type definition and runtime warning 2021-06-25 16:18:21 -04:00
Evan You
be0f614ac0 feat(sfc-playground): support lang=ts 2021-06-25 15:56:51 -04:00
Evan You
691d354af9 fix(compiler-sfc): fix defineProps() call on imported identifier 2021-06-25 14:05:59 -04:00
Evan You
be2b1d3c2f feat(sfc): defineExpose 2021-06-25 13:14:49 -04:00
Evan You
b0203a3092 feat(expose): always expose $ instance properties on child refs 2021-06-24 21:28:09 -04:00
Evan You
a5a66c5196 fix(compiler-sfc): fix script setup hidden flag codegen 2021-06-24 10:11:30 -04:00
Evan You
ac853ff4ab test: fix script setup helpers tests 2021-06-23 10:31:32 -04:00
Evan You
075889ebfc chore: comments 2021-06-23 10:21:33 -04:00
Evan You
0b8b576428 fix(sfc): allow variables that start with _ or $ in <script setup> 2021-06-23 10:13:23 -04:00
Evan You
63e9e2e9aa feat(sfc): useAttrs + useSlots
Deprecate useContext
2021-06-22 21:07:42 -04:00
Evan You
6f6f0cf5dc feat(sfc): remove <template inherit-attrs> support 2021-06-22 21:06:51 -04:00
Evan You
65f8c823aa chore: add missing snapshot 2021-06-22 17:56:45 -04:00
Eduardo San Martin Morote
a137da8a9f
feat(sfc): add defineEmits and deprecate defineEmit (#3725) 2021-06-22 15:02:56 -04:00
Evan You
6b6d566861 release: v3.1.2 2021-06-22 14:24:50 -04:00
Evan You
9f6f8b35c1 fix(compiler-ssr): fix attr fallthrough for transition/keep-alive as template root
fix #3981
2021-06-22 14:19:14 -04:00
Evan You
9b607fe409 fix(watch): fix watch option merging from mixins
fix #3966
2021-06-22 13:54:43 -04:00
Eduardo San Martin Morote
ab6e927041
fix(Suspense): emit initial fallback and pending events (#3965)
Fix #3964
2021-06-21 17:03:07 -04:00
edison
43e2a72900
fix(Suspense): fallback should work with transition (#3968)
fix #3963
2021-06-21 16:58:43 -04:00
Evan You
08e93220f1 fix(compiler-core/compat): fix is prop usage on components
also fix v-bind:is usage on plain element in compat mode

fix #3934
2021-06-21 16:16:49 -04:00
Evan You
4de5d24aa7 perf: improve static content insertion perf
Especially on multiple insertions of the same static node.

fix #3090
2021-06-21 14:38:29 -04:00
Evan You
de954f4560 chore: include estree types in compiler-sfc deps 2021-06-14 15:43:27 -04:00
Evan You
056ef2a7d2 refactor: use markRaw instead of internal flag check 2021-06-11 18:46:31 -04:00
ygj6
b228abb72f
fix(compiler-sfc): rewriteDefault support multiline (#3917) 2021-06-09 15:07:48 -04:00
Eunjae Lee
db1dc1c630
fix(runtime-core): bind default function of inject to instance (#3925)
fix #3923
2021-06-09 12:02:05 -04:00
Evan You
bc100c5c48 fix(compiler-core): improve member expression check
fix #3910
2021-06-09 11:57:48 -04:00
Herrington Darkholme
9a5bdb15df
chore(playground): support unicode in sfc playground (#3662)
atob/btoa only supports ASCII string which makes playground fails
to save unicode source. This patch add unicode support by combining
escape/encodeURIComponent. `escape` is chosen for backward
compatibility.
2021-06-08 10:12:15 -04:00
zhangenming
960ef1691f
chore(reactivity): remove unnecessary RefImpl _shallow default value (#3895) 2021-06-08 09:58:02 -04:00
LYlanfeng
011dee8644
fix(runtime-core): fix multiple .once event handlers on same component (#3904)
fix #3902
2021-06-08 09:52:45 -04:00
Guillaume
2b52d5d7c5 fix(devtools): expose root instance
related to https://github.com/vuejs/vue-devtools/issues/1376
2021-06-07 23:23:45 +02:00
Evan You
ade9bd9daa release: v3.1.1 2021-06-07 16:26:54 -04:00
Daniel Roe
434ea30505
fix(compat): update cjs dist file names (#3893) 2021-06-07 16:22:42 -04:00
Evan You
ac15df46c5 release: v3.1.0 2021-06-07 12:38:42 -04:00
Evan You
78380efa65 chore: update compat build readme [ci skip] 2021-06-07 12:34:08 -04:00
Evan You
ad844cf1e7 fix(compat): revert private properties on $options in comapt mode
fix #3883
2021-06-07 11:04:41 -04:00
Evan You
5bce2ae723 fix(runtime-core): fix fragment update inside de-opt slots
fix #3881
2021-06-04 18:03:40 -04:00
Evan You
71f7c25fbe release: v3.1.0-beta.7 2021-06-02 16:12:54 -04:00
Evan You
2b5a559055 chore: avoid compat disabled error for built-in components 2021-06-02 16:06:09 -04:00
Evan You
9acc9a1fa8 fix(watch): avoid traversing objects that are marked non-reactive
e.g. Vue public instances
2021-06-02 15:51:27 -04:00
Evan You
51d2be2038 perf: avoid deopt for props/emits normalization when global mixins are used 2021-06-02 15:22:52 -04:00
Evan You
e2ca67b59a fix(runtime-core): align option merge behavior with Vue 2
fix #3566, #2791
2021-06-02 15:19:56 -04:00
Evan You
1e35a860b9 refactor: adjust component options merge cache strategy
BREAKING CHANGE: optionMergeStrategies functions no longer receive
the component instance as the 3rd argument. The argument was technically
internal in Vue 2 and only used for generating warnings, and should not
be needed in userland code. This removal enables much more efficient
caching of option merging.
2021-06-02 10:42:52 -04:00
Evan You
44996d1a0a fix(suspense): fix suspense regression for errored template component
fix #3857
2021-05-31 17:19:03 -04:00
Evan You
c7efb967ca fix(compat): fix deep data merge with extended constructor
fix #3852
2021-05-31 16:48:18 -04:00
HcySunYang
ecd97ee6e4
fix(runtime-dom/v-model): only set selectedIndex when the value changes (#3845) 2021-05-29 20:42:13 -04:00
Evan You
8b94464a3b fix(compiler-sfc): fix style injection when using normal script + setup
fix #3688
2021-05-28 18:40:45 -04:00
edison
2c7bd42801
fix(compiler-sfc): fix template expression assignment codegen for script setup let refs (#3626)
fix #3625
2021-05-28 17:58:46 -04:00
Evan You
aa96a0e88a release: v3.1.0-beta.6 2021-05-28 16:58:54 -04:00
HcySunYang
6bfb50aff9
fix(compiler-sfc): correctly remove parens used for wrapping (#3582)
fix #3581
2021-05-28 16:02:31 -04:00
Evan You
6fbf0dd315 chore: use variable instead of literal 2021-05-28 15:56:07 -04:00
GU Yiling
e3f5dcb99b
fix(runtime-dom): should remove attribute when binding null to value (#3564) 2021-05-28 15:48:22 -04:00
Evan You
071986a2c6 fix(transition): fix higher order transition components with merged listeners
fix #3227
2021-05-28 15:42:08 -04:00
edison
d6607c9864
fix(runtime-core): fix resolving inheritAttrs from mixins (#3742)
fix #3741
2021-05-27 21:53:41 -04:00
HcySunYang
9b2e894017
fix(compiler-core): improve the isMemberExpression function (#3675) 2021-05-27 21:07:26 -04:00
Evan You
1ff06376ff chore: type fix 2021-05-27 20:58:27 -04:00
Evan You
03a7a73148 fix(reactivity): ensure computed always expose value
fix #3099

Also changes the original fix for #910 by moving the fix from
reactivity to the scheduler
2021-05-27 20:53:21 -04:00
Evan You
32e21333dd fix(runtime-core): stricter compat root mount check 2021-05-27 20:47:46 -04:00
Evan You
669037277b fix(compiler-dom): fix in-browser attribute value decoding w/ html tags
fix #3001
2021-05-27 17:25:34 -04:00
HcySunYang
a641eb201f
fix(runtime-core): fix cases of reused children arrays in render functions (#3670)
fix #3666
2021-05-27 17:06:55 -04:00
HcySunYang
ff50e8d78c
fix(runtime-core): should disable tracking inside directive lifecycle hooks (#3699) 2021-05-27 16:53:19 -04:00
Evan You
9f24195d2c fix(suspense): fix suspense patching in optimized mode
fix #3828
2021-05-27 16:32:31 -04:00
Evan You
f0eb1978b2 release: v3.1.0-beta.5 2021-05-26 16:06:51 -04:00
Evan You
b46a4dccf6 fix(ssr): handle hydrated async component unmounted before resolve
fix #3787
2021-05-26 15:26:18 -04:00
Evan You
b57e995edd fix(scheduler): handle preFlush cb queued inside postFlush cb
fix #3806
2021-05-26 14:21:49 -04:00
HcySunYang
e8ddf86080
fix(runtime-core): properly check forwarded slots type (#3781)
fix #3779
2021-05-26 11:52:03 -04:00
edison
4e3f82f683
fix(runtime-core/teleport): ensure the nested teleport can be unmounted correctly (#3629)
fix #3623
2021-05-26 10:51:55 -04:00
HcySunYang
201060717d
fix(runtime-core): should not track dynamic children when the user calls a compiled slot inside template expression (#3554)
fix #3548, partial fix for #3569
2021-05-25 13:33:41 -04:00
Evan You
1526f94edf fix(watch): should not leak this context to setup watch getters
ref #3603
2021-05-25 11:10:11 -04:00
HcySunYang
9e3708ca75
fix(keep-alive): include/exclude should work with async component (#3531)
fix #3529
2021-05-25 10:50:00 -04:00
Evan You
f1f52300e6 release: v3.1.0-beta.4 2021-05-24 19:16:44 -04:00
Evan You
b76c453507 refactor: adjust absent prop casting logic 2021-05-24 19:09:18 -04:00
Evan You
0255be2f4b fix(runtime-core): avoid double-setting props when casting
fix #3371, close #3384
2021-05-24 18:48:33 -04:00
HcySunYang
4ce0df6ef1
fix(runtime-core): avoid the proxy object polluting the slots of the internal instance (#3698)
fix #3695
2021-05-24 18:17:37 -04:00
HcySunYang
7c74feb3dc
fix(compiler-dom): comments in the v-if branchs should be ignored when used in Transition (#3622)
fix #3619
2021-05-24 17:10:29 -04:00
Evan You
3ef1fcc859 fix(compiler-ssr): disable hoisting in compiler-ssr
fix #3536
2021-05-24 16:48:31 -04:00
Lo Leon
90aa835812
fix(types/reactivity): error TS4058 caused by RefSymbol (#2548) 2021-05-24 16:36:08 -04:00
Carlos Rodrigues
a0c57936f8
types(jsx): improve type for number attributes (#3776)
fix #3788
2021-05-24 12:15:45 -04:00
Jason
01e8ba8f87
fix(compiler-sfc): support tsx in setup script (#3825)
close #3808
2021-05-24 12:13:37 -04:00