Commit Graph

739 Commits

Author SHA1 Message Date
Evan You
06051c4bf2 feat(experimental): support ref transform for sfc normal <script> 2021-08-23 16:00:46 -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
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
ceace3a8cc release: v3.2.4 2021-08-17 12:26:50 -04:00
Evan You
03abc2573c release: v3.2.3 2021-08-16 18:25:32 -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
a6c1db2728 fix(compiler-core): fix hoisting logic for elements with cached handlers + other bindings
fix #4327
2021-08-16 15:57:10 -04:00
Evan You
7ffa225aa3 release: v3.2.2 2021-08-11 11:40:25 -04:00
Evan You
2749c15170 release: v3.2.1 2021-08-09 16:29:53 -04:00
Evan You
5a7a43cc3d release: v3.2.0 2021-08-09 15:51:53 -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
Evan You
b357009a82 release: v3.2.0-beta.7 2021-07-29 13:21:30 -04:00
Evan You
204e194d2b release: v3.2.0-beta.6 2021-07-27 18:56:02 -04:00
Evan You
4b595a3ea1 release: v3.2.0-beta.5 2021-07-23 16:10:22 -04:00
Evan You
fe58bae412 release: v3.2.0-beta.4 2021-07-21 17:40:25 -04:00
webfansplz
9c931d8154
chore(types): remove unnecessary non-null assertion (#4169) 2021-07-21 15:50:08 -04:00
Evan You
9d5dd2da8c release: v3.2.0-beta.3 2021-07-20 17:47:03 -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
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
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
df0ce21836
chore(types): improve of type assertion (#4141) 2021-07-19 10:32:07 -04:00
Evan You
d4c67dd253 release: v3.2.0-beta.1 2021-07-16 14:44:06 -04:00
Evan You
317654b34f chore: fix codegen error due to scopeId deprecation change 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
29732c2c86 fix: ignore .prop/.attr modifiers in ssr 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
3b64508e3b feat: v-memo 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
02339b67d8 perf: hoist dynamic props lists 2021-07-16 14:30:49 -04:00
Evan You
63a51ffcab chore: fix test failing types 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
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
963085d18c fix(v-on): properly detect member expressions with optional chaining
fix #4107
2021-07-15 12:23:07 -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
Evan You
348c3b01e5 release: v3.1.4 2021-07-02 08:37:50 -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
Evan You
fc7b640041 release: v3.1.3 2021-07-01 19:28:06 -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
d35e0b1468 feat(sfc): change <script setup> directive resolution to require v prefix
close #3543
2021-06-28 17:35:31 -04:00
Evan You
6b6d566861 release: v3.1.2 2021-06-22 14:24:50 -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
bc100c5c48 fix(compiler-core): improve member expression check
fix #3910
2021-06-09 11:57:48 -04:00
Evan You
ade9bd9daa release: v3.1.1 2021-06-07 16:26:54 -04:00
Evan You
ac15df46c5 release: v3.1.0 2021-06-07 12:38:42 -04:00
Evan You
71f7c25fbe release: v3.1.0-beta.7 2021-06-02 16:12:54 -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
9b2e894017
fix(compiler-core): improve the isMemberExpression function (#3675) 2021-05-27 21:07:26 -04:00
Evan You
f0eb1978b2 release: v3.1.0-beta.5 2021-05-26 16:06:51 -04:00
Evan You
f1f52300e6 release: v3.1.0-beta.4 2021-05-24 19:16:44 -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
HcySunYang
47da92146c
fix(compiler-core): fix whitespace management for slots with whitespace: 'preserve' (#3767)
fix #3766
2021-05-13 18:24:43 -04:00
Evan You
b663aa8a81 release: v3.1.0-beta.3 2021-05-12 17:37:04 -04:00
HcySunYang
a56ab148fd
fix(compiler-core): bail out to array children when the element has custom directives + only one text child node (#3757) 2021-05-12 16:12:32 -04:00
Evan You
99a5ccf6b2 release: v3.1.0-beta.2 2021-05-08 16:59:12 -04:00
Evan You
ed6c5fe903 release: v3.1.0-beta.1 2021-05-08 16:24:34 -04:00
Evan You
61edb700d7 wip: only generate non-scope slot flag when compatConfig is present 2021-05-05 16:36:16 -04:00
Evan You
7a8cee8688 wip: remove v-if key warning as there are legit use cases 2021-05-05 16:35:44 -04:00
Evan You
7f93c76b96 wip: exclude legacy slots from $scopedSlots 2021-05-05 11:06:15 -04:00
Evan You
ae0fb14305 wip: fix native template compat 2021-05-04 18:26:28 -04:00
Evan You
bd3cc4d2c7 wip: tests for compiler compat 2021-04-30 15:50:32 -04:00
Evan You
b4c92ccf6b wip: move compat test cases + filter tests 2021-04-29 16:58:14 -04:00
Evan You
e486254431 fix(compiler-core): preserve comment content in production when comments option is enabled 2021-04-28 11:22:16 -04:00
Evan You
86703c23a6 wip: ref v-for compat 2021-04-26 17:35:41 -04:00
Evan You
b047a0864c refactor(compiler): improve whitespace: 'preserve' behavior from #1600
- discard leading/ending whitespace inside an element
- condense preserved whitesapce into single space
2021-04-26 11:46:17 -04:00
CodeDaraW
dee3d6ab8b feat(compiler-core): whitespace handling strategy 2021-04-26 09:44:27 -04:00
Evan You
7dc681c196 wip: filters compat 2021-04-19 12:29:55 -04:00
Evan You
3ea68691e2 wip: inline-template compat 2021-04-17 23:19:40 -04:00
Evan You
1390ece04f wip: refactor 2021-04-17 22:50:16 -04:00
Evan You
505269405e wip: plain template tag compat 2021-04-17 22:16:48 -04:00
Evan You
048ac299f3 perf(compiler): skip unncessary checks when parsing end tag 2021-04-17 22:05:18 -04:00
Evan You
2c31227e7c wip: warn v-bind object ordering 2021-04-17 20:53:55 -04:00
Evan You
bf41354abd wip: remove unncessary deprecation messages 2021-04-17 16:13:57 -04:00
Evan You
c5c304af14 wip: compiler should default to v3 behavior 2021-04-17 15:55:14 -04:00
Evan You
3528ced0b4 wip: warn key usage of v-if branches 2021-04-17 15:35:44 -04:00
Evan You
ab21468982 wip: warn v-if/v-for co-usage 2021-04-17 14:38:30 -04:00
Evan You
7ceb873783 wip: v-bind.sync compat 2021-04-16 17:11:44 -04:00
Evan You
ad97bbab85 wip: invert compiler compat behavior default during tests 2021-04-16 12:26:17 -04:00
Evan You
bbf708dbe9 wip: support configuring compiler deprecations at runtime + warn invalid deprecation configs 2021-04-16 12:19:12 -04:00
Evan You
79cbf21c3e wip: generate codeframe for compiler deprecations 2021-04-16 11:51:47 -04:00
Evan You
d974adb327 wip: is usage compat 2021-04-16 11:43:05 -04:00
Evan You
e130c7db23 wip: compiler deprecation config 2021-04-12 19:43:53 -04:00
Evan You
af9e6999e1 feat: support casting plain element to component via is="vue:xxx"
In Vue 3's custom elements interop, we no longer process `is` usage on
known native elements as component casting. (ref:
https://v3.vuejs.org/guide/migration/custom-elements-interop.html)
This introduced the need for `v-is`. However, since it is a directive,
its value is considered a JavaScript expression. This makes it awkward
to use (e.g. `v-is="'foo'"`) when majority of casting is non-dynamic,
and also hinders static analysis when casting to built-in Vue
components, e.g. transition-group.

This commit adds the ability to cast a native element to a Vue component
by simply adding a `vue:` prefix:

```html
<button is="vue:my-button"></button>
<ul is="vue:transition-group" tag="ul"></ul>
```
2021-04-12 13:08:07 -04:00
Evan You
422b13e798 wip: testing compiler deprecation warnings 2021-04-12 09:09:00 -04:00
Evan You
f0cf14bcc5 release: v3.0.11 2021-04-01 19:52:45 -04:00