Ziwen Mei
56be30b5c7
chore(compiler-core): fix typo in hoistStatic ( #4625 ) [ci skip]
2021-09-21 13:06:39 -04:00
就是喜欢陈粒
5addef8ecd
fix(compiler-core): add check when v-else-if is behind v-else ( #4603 )
2021-09-21 12:59:38 -04:00
Herrington Darkholme
d8a36d0198
fix(compiler-core): only merge true handlers ( #4577 )
2021-09-21 12:37:51 -04:00
Herrington Darkholme
044812525f
fix(compiler-core): dedupe renderSlot's default props ( #4557 )
2021-09-21 12:31:27 -04:00
Evan You
d23fde3d3b
fix(compiler-core): more robust member expression check when running in node
...
fix #4640
2021-09-21 12:19:27 -04:00
lidlanca
fc968d607b
fix(compiler-core): v-on inline async function expression handler ( #4569 )
...
fix #4568
2021-09-16 12:36:04 -04:00
ygj6
f29d061124
fix(compiler): fix template ref codegen for setup-maybe-ref binding types ( #4549 )
...
fix #4546
2021-09-16 11:33:16 -04:00
edison
5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case ( #4520 )
...
fix #4514
2021-09-05 18:02:50 -04:00
ygj6
4cd282b0a1
fix(compiler): generate function ref for script setup if inline is ture. ( #4492 )
2021-09-02 11:27:20 -04:00
dependabot[bot]
305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 ( #4482 )
...
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2
Bumps [typescript](https://github.com/Microsoft/TypeScript ) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases )
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2
* test: fix nodeOps types
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Evan You
3628991906
fix(compiler): only generate non-static ref for script setup if the binding exists
...
fix #4431
2021-09-01 17:27:03 -04:00
Evan You
f1fa30adc3
refactor(ref-transform): improve algorithm into one pass
2021-08-23 18:22:21 -04:00
Evan You
db8dc753c0
feat(experimental): standalone ref transform
2021-08-22 22:21:42 -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
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
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
webfansplz
9c931d8154
chore(types): remove unnecessary non-null assertion ( #4169 )
2021-07-21 15:50:08 -04:00
Evan You
47f488350c
chore: run updated prettier
2021-07-19 18:24:18 -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
29732c2c86
fix: ignore .prop/.attr modifiers in ssr
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
HcySunYang
ceff89905b
perf: improve VNode creation performance with compiler hints ( #3334 )
2021-07-16 14:30:49 -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
d35e0b1468
feat(sfc): change <script setup>
directive resolution to require v prefix
...
close #3543
2021-06-28 17:35:31 -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
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
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
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
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
bd3cc4d2c7
wip: tests for compiler compat
2021-04-30 15:50:32 -04:00
Evan You
86703c23a6
wip: ref v-for compat
2021-04-26 17:35:41 -04:00
Evan You
7dc681c196
wip: filters compat
2021-04-19 12:29:55 -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
2c31227e7c
wip: warn v-bind object ordering
2021-04-17 20:53:55 -04:00
Evan You
3528ced0b4
wip: warn key usage of v-if branches
2021-04-17 15:35:44 -04:00
Evan You
7ceb873783
wip: v-bind.sync compat
2021-04-16 17:11:44 -04:00
Evan You
d974adb327
wip: is usage compat
2021-04-16 11:43:05 -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