Commit Graph

3530 Commits

Author SHA1 Message Date
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
kiyon
7a8bac73e1
chore: fix typo in test case description 2021-04-16 10:43:56 +08:00
Evan You
e130c7db23 wip: compiler deprecation config 2021-04-12 19:43:53 -04:00
Evan You
115372dd5b wip: refactor deprecations into a single file 2021-04-12 18:47:50 -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
edison
7db8c9c19a
chore: use isArray to keep the code consistency 2021-04-12 18:31:11 +08:00
Evan You
24bab94a72 wip: staticStyle and staticClass 2021-04-11 22:21:10 -04:00
Evan You
62bfdae043 wip: Vue.util compat 2021-04-11 16:53:43 -04:00
Evan You
c55f3ed0e8 wip: fix render fn compat detection 2021-04-11 11:15:40 -04:00
Evan You
a2f441dc0e wip: refactor compat check utils 2021-04-09 23:51:50 -04:00
Evan You
7a25cbb7a7 wip: fix compat utils usage 2021-04-09 23:21:54 -04:00
Evan You
183f9b0013 wip: component v-model compat 2021-04-09 23:10:29 -04:00
Evan You
f05d6dfd98 wip: render function compat 2021-04-09 18:56:31 -04:00
Evan You
457a56e331 wip: compat for legacy functional component 2021-04-09 15:14:14 -04:00
Evan You
d71c488540 chore: fix dts 2021-04-08 17:15:02 -04:00
Evan You
3db29eb773 wip: support per-component compatConfig 2021-04-08 17:11:05 -04:00
Evan You
f8e2361d83 wip: make tests pass again 2021-04-08 16:33:53 -04:00
Evan You
18cf63ff05 wip: async component compat 2021-04-08 16:11:28 -04:00
Evan You
d7957a7440 wip: tweak warning dedupe logic 2021-04-08 11:09:40 -04:00
Evan You
d4af747a50 wip: $attrs class/style warning 2021-04-08 10:41:25 -04:00
Evan You
c9a93a5c4c wip: $scopedSlots compat 2021-04-08 10:21:14 -04:00
Evan You
960e9deaed wip: vm.$listeners compat 2021-04-08 10:06:12 -04:00
Evan You
c1e5cfe7d6 wip: attr coersion compat 2021-04-07 17:42:03 -04:00
Evan You
cf6bcdf895 wip: transition group root compat 2021-04-07 16:19:25 -04:00
Evan You
1c2c77eb9f wip: apply compat enabled flags to currently implemented features 2021-04-07 16:19:25 -04:00
Evan You
208bef5d97 wip: watch array compat 2021-04-07 16:19:25 -04:00
Evan You
69fafb437a chore: log runtime build file size 2021-04-07 16:19:25 -04:00
Evan You
e2fc84c773 wip: compat configuration 2021-04-07 16:19:24 -04:00
Evan You
068d93b9e5 wip: keyCode compat 2021-04-07 16:19:24 -04:00
Evan You
2784d6615d wip: $children compat 2021-04-07 16:19:24 -04:00
Evan You
db09805688 wip: instance event emitter api compat 2021-04-07 16:19:24 -04:00
Evan You
9828ef0845 wip: transition class compat 2021-04-07 16:19:24 -04:00
Evan You
926e12862b wip: fix root data option compat 2021-04-07 16:19:24 -04:00
Evan You
3d810eb422 wip: basic compat test 2021-04-07 16:19:24 -04:00
Evan You
47b765d63a wip: custom directive compat 2021-04-07 16:19:24 -04:00
Evan You
d619a770a8 wip: props default this compat 2021-04-07 16:19:24 -04:00
Evan You
65cc649559 wip: beforeDestroy & destroyed compat 2021-04-07 16:19:24 -04:00
Evan You
960e0943f7 wip: config.ignoredElements compat 2021-04-07 16:19:24 -04:00
Evan You
d0da0028f2 wip: data option compat 2021-04-07 16:19:24 -04:00
Evan You
53b8127a9c wip: progress 2021-04-07 16:19:24 -04:00
Evan You
40e3dd28e1 wip: restructure compat code + global api alignment 2021-04-07 16:19:24 -04:00
Evan You
e2d6ff845b wip: root mount api compat 2021-04-07 16:19:24 -04:00
Evan You
24850a99c6 wip: initial compat build setup 2021-04-07 16:19:24 -04:00
Evan You
870f2a7ba3 fix(watch): this.$watch should support watching keypath 2021-04-07 16:19:04 -04:00