Commit Graph

2960 Commits

Author SHA1 Message Date
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