Herrington Darkholme
7aa0ea06c8
fix(compiler-core): should treat attribute key as expression ( #4658 )
2021-09-25 14:21:09 -04:00
Evan You
7b7e28ad6a
test: fix utils test
2021-09-24 12:34:31 -04:00
Evan You
fc85ad28ae
fix(build): avoid importing @babel/parser in esm-bundler build
...
fix #4665
2021-09-23 23:20:53 -04:00
Evan You
8e05b7f9fc
fix(ssr): fix ssr runtime helper import in module mode
2021-09-23 10:08:28 -04:00
Evan You
d74f21a42c
fix(compiler-ssr): import ssr helpers from updated path
2021-09-22 23:28:20 -04:00
Evan You
6257adeaac
fix(compiler-core): more robust member expression check in Node
2021-09-22 17:16:21 -04:00
Evan You
686d0149b6
fix(compiler-core): generate TS-cast safe assignment code for v-model
...
fix #4655
2021-09-22 16:55:06 -04:00
Ziwen Mei
1873f0f48c
chore(compiler-core): fix typo in transformElement ( #4649 ) [ci skip]
2021-09-22 10:12:52 -04:00
Ziwen Mei
bf267b1ce3
chore(compiler-core): fix typo in errors.ts and options.ts ( #4650 ) [ci skip]
2021-09-22 10:12:33 -04:00
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
Evan You
0dc521b9e1
fix(compiler-core): support ts syntax in expressions when isTS is true
2021-09-20 11:51:01 -04:00
Evan You
cb2d7c0e3c
fix(compiler-core): ensure hoisted scopeId code can be treeshaken
2021-09-19 17:14:26 -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
Roy Eden
b8653d390a
fix(compiler): condense whitespaces in static class attributes ( #4432 )
...
fix #4251
2021-09-07 12:01:17 -04:00
Herrington Darkholme
5d262e08d5
fix(compiler-core): pick last char when dynamic directive doesn't close ( #4507 )
2021-09-07 11:36:37 -04:00
Herrington Darkholme
1c4f0f0afd
chore: fix typo in jsdoc ( #4526 ) [ci skip]
2021-09-07 11:31:27 -04:00
Evan You
1045590d4b
fix(compiler-core): avoid runtime dependency on @babel/types
...
fix #4531
2021-09-07 09:54:49 -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
Herrington Darkholme
c00925ed5c
fix(compiler): report invalid directive name error ( #4494 ) ( #4495 )
2021-09-02 09:42:20 -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
Herrington Darkholme
4502a0eab5
refactor(compiler): refine CDATA endTokens ( #4459 )
2021-09-01 16:43:10 -04:00
Herrington Darkholme
7178716b4c
chore: fix typo in error message ( #4434 ) [ci skip]
2021-09-01 16:42:24 -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
4c468eb30a
fix(build): avoid imports to @babel/types in client build of compiler-core
2021-08-24 12:39:38 -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
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
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
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
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
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
HcySunYang
ceff89905b
perf: improve VNode creation performance with compiler hints ( #3334 )
2021-07-16 14:30:49 -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
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
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
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
9b2e894017
fix(compiler-core): improve the isMemberExpression function ( #3675 )
2021-05-27 21:07:26 -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
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
7f7dcc9f7d
fix(compiler-sfc): fix wrong scopeId for nested `<script setup>` components
2021-04-01 18:11:04 -04:00
Calvin Liang
0fe567abfc
fix(compiler-core): properly transform replaced nodes ( #2927 )
2021-03-29 18:08:10 -04:00
Evan You
f5827fdf78
fix(compiler-sfc): do not resolve assets from setup bindings
...
when not using script setup
fix #3270 , fix #3275
2021-03-29 16:11:38 -04:00
HcySunYang
555b016dcb
fix(compiler-core): allow PascalCase dynamic component tag usage ( #3508 )
...
fix #3507
2021-03-29 15:18:25 -04:00
Johnson Chu
e752bddb33
fix(compiler-core): fix slot source location ( #3494 )
2021-03-27 11:20:39 -04:00
Evan You
37c17091fd
fix: ensure backwards compat for pre-compiled sfc components
...
fix #3493
2021-03-27 10:53:45 -04:00
Evan You
abd129d845
fix(component): prioritize registered component over implicit self-reference via filename
...
ref: #2827
2021-03-26 10:04:36 -04:00
HcySunYang
ebedcccdc0
fix(compiler-core): allow unicode to appear in identifiers ( #3443 )
...
fix #3440
2021-03-25 17:24:18 -04:00
HcySunYang
7715c49af9
fix(compiler-core): avoid generating useless createVNode helper ( #2938 )
...
close #2739
2021-03-25 17:01:50 -04:00
funkyfun
c8aed13711
chore(types): remove redundant 'undefined' type ( #3484 )
2021-03-25 16:19:02 -04:00
HcySunYang
b4b82159e2
fix(compiler-core): should not condense whitespace in RCDATA text mode ( #3482 )
...
fix #3479
2021-03-25 15:53:03 -04:00
HcySunYang
4bf7ba19bf
fix(compiler-core): detect v-if branch root with comment as dev fragment ( #2785 )
...
fix #2780
2021-03-25 15:43:44 -04:00
HcySunYang
602b58ebd1
fix(compiler-core): fix the detection of forwarded slots with v-if or v-for ( #3353 )
...
fix #3347
2021-03-22 16:34:46 -04:00
Evan You
02cbbb718c
perf: support only attaching slot scope ids when necessary
...
This is done by adding the `slotted: false` option to:
- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)
At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.
Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You
f74b16ccfe
fix(compiler): properly bail stringfication for nested slot elements
2021-03-05 18:28:12 -05:00
Evan You
aea88c3280
refactor: fix implementation of SFC :slotted id handling
...
fix #2892
2021-03-05 18:28:12 -05:00
Evan You
c69f4ea857
fix(compiler-ssr): avoid duplicated asset imports merged from component slot client branch
...
fix vitejs/vite#2034
2021-02-15 12:12:50 -05:00
Evan You
03360cefa1
fix(compiler-sfc): treat const reactive() bindings as mutable
2021-02-10 11:39:07 -05:00
Evan You
734c65badd
fix(compiler-core): do not mark v-for as stable on const bindings
...
since the source value may be a reactive array
fix vitejs/vite#1956
2021-02-09 11:57:09 -05:00
xiejiahe
1cc8712235
chore: comment initial space ( #3192 ) [skip ci]
...
fix(typo): Comment add spaces.
2021-02-08 12:32:12 +01:00
edison
47b3652ecd
chore(compiler-core): improve types ( #2428 )
2020-12-04 16:28:26 -05:00
Evan You
a8352506f6
refactor: cache constant check result on transform context
...
also fix edge case for missed createVNode import on static svg nodes
2020-12-03 11:10:40 -05:00
Evan You
ad4d3915d3
fix(compiler-core): fix missing createVNode import on nested v-for
...
fix #2718
2020-12-03 11:03:06 -05:00
Evan You
e4f09c1419
fix(compiler-core/v-on): handle falsy values when caching v-on handlers
...
fix #2605
2020-11-30 16:30:36 -05:00
Evan You
9db7095962
fix(compiler-core): fix scope var reference check for v-on expressions
...
fix #2564
2020-11-30 15:19:32 -05:00
Evan You
e41b46c396
chore: annotate generated slot flag
2020-11-30 15:19:32 -05:00
Evan You
67d1aac6ae
feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
...
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You
a76e58e5fd
build: avoid shipping patch flag name strings in prod
2020-11-27 18:13:04 -05:00
Evan You
3bc2914e32
fix(attr-fallthrough): ensure consistent attr fallthrough for root fragments with comments
...
fix #2549
2020-11-27 18:04:26 -05:00
Evan You
55d99d729e
fix(compiler-core): fix unintended imports in esm-bundler builds
...
fix #2258 , fix #2515
2020-11-27 11:04:15 -05:00
Evan You
7cd85be2db
refactor(compiler-core): reduce slot props check iterations
...
ref: #2490
2020-11-27 10:00:43 -05:00
edison
ef59a30cab
fix(compiler-core): transform kebab case props to camelcase on slots ( #2490 )
...
fix #2488
2020-11-27 09:48:30 -05:00
Evan You
69d5c6887e
wip: update directive scope variable mapping
2020-11-24 19:04:21 -05:00
Evan You
ae2caad740
wip: support resolving directives from setup scope variables by naming convention
...
v-my-dir can be resovled from setup scope variable named "vMyDir".
2020-11-24 19:04:21 -05:00
Evan You
90bdf59f4c
refactor(compiler): better constant hoist/stringify checks
2020-11-20 19:26:07 -05:00
Evan You
8ac2241b22
wip: more consistent compiler-sfc usage + inline mode for ssr
2020-11-20 14:23:09 -05:00
Evan You
4c6078ce25
fix(compiler-core/compiler-sfc): handle destructure assignment expressions
2020-11-18 22:39:08 -05:00
Evan You
4d5242128e
chore: fix tests
2020-11-18 22:34:55 -05:00
Evan You
64160e89cc
wip: ignore non-ref const mutation cases in codegen
2020-11-18 21:16:09 -05:00
Evan You
8567feb2aa
wip: properly handle assignment/update expressions in inline mode
2020-11-18 19:38:38 -05:00
Evan You
4449fc3b9e
refactor: finer grained binding types for setup
2020-11-18 19:38:38 -05:00
Evan You
760443dca6
wip: ensure string template refs work in inline mode
2020-11-18 19:38:38 -05:00
Evan You
cdc9f336fd
wip: new cssVars SSR integration + fix cssVars SSR injection for suspense
2020-11-17 18:54:47 -05:00
Evan You
a67325140b
wip: test case for v-model + inline mode codegen
2020-11-17 15:59:09 -05:00
Evan You
c15bd6235e
wip: generate valid v-model and TS code in script setup inline mode
2020-11-17 12:42:58 -05:00
Evan You
41bb7fa330
feat(compiler-sfc): new SFC css varaible injection implementation
...
ref: https://github.com/vuejs/rfcs/pull/231
2020-11-16 18:27:25 -05:00
Evan You
8ba3a7de40
wip: fix dts tests
2020-11-13 00:12:04 -05:00
Evan You
292a657861
wip: fix runtimeConstant marking
2020-11-12 22:44:18 -05:00
Evan You
0ca9137188
wip: tests for defineContext()
2020-11-12 18:11:25 -05:00
Evan You
128621d6a0
wip: further optimize bindings
2020-11-12 16:11:14 -05:00
Evan You
6a9b56ca60
wip: defineContext()
2020-11-12 14:10:39 -05:00
Evan You
2a4fc32d15
wip: remove unnecessary inlinePropsIdentifier option
2020-11-11 10:36:59 -05:00
Evan You
4e8ef55237
wip: optimize binding access to known imported components
2020-11-10 18:06:38 -05:00
Evan You
4977526a2b
wip: correctly resolve component in setup inline mode
2020-11-10 17:36:06 -05:00
Evan You
3019508e75
wip: fix binding type fallback
2020-11-10 17:31:09 -05:00
Evan You
886ed7681d
feat(compiler-sfc): compileScript inline render function mode
2020-11-10 16:28:34 -05:00
Evan You
3f99e239e0
feat(compiler-sfc): support kebab-case components in `<script setup>` sfc template
2020-11-09 17:22:58 -05:00
Evan You
556560fae3
feat(compiler-sfc): new script setup implementation
...
- now exposes all top level bindings to template
- support `ref:` syntax sugar
2020-10-29 15:03:39 -04:00
Hunter
6d2a1cb64d
fix(compiler-core): fix multiline member expression check ( #2436 )
...
fix #2426
2020-10-20 09:31:08 -04:00
ᴜɴвʏтᴇ
052a621762
feat(compile-core): handle falsy dynamic args for v-on and v-bind ( #2393 )
...
fix #2388
2020-10-19 17:15:53 -04:00
ᴜɴвʏтᴇ
692197be33
fix(compiler-core): fix v-if key injection with v-on object syntax ( #2368 )
...
fix #2366
2020-10-13 12:04:52 -04:00
ᴜɴвʏтᴇ
89c5909a6f
fix(compiler-core): allow spaces between if-else branches ( #2305 )
...
fix #2299
2020-10-07 20:57:17 -04:00
shadowings-zy
62f26173ba
fix(runtime-core): use consistent camelCase event casing for render functions ( #2278 )
...
close #2249
2020-10-06 18:28:56 -04:00
Evan You
f4119249f2
fix(compiler-core): consistently remove comment nodes for pre tags in production
...
close #2217
2020-10-05 17:53:34 -04:00
HcySunYang
9499871582
fix(compiler-core): make v-once work with v-if/else-if/else ( #2182 )
...
Partial fix for #2035
2020-10-05 11:58:37 -04:00
edison
b29bc0d694
chore(compiler-core): define `child` if necessary. ( #2033 )
2020-09-14 20:56:53 -04:00
Evan You
be946ea549
fix(compiler-core): fix prefixing for `<template v-for>` key expressions
...
fix #2085
2020-09-14 17:04:27 -04:00
Evan You
a096a58e41
fix(compiler-core): fix v-if block handling for components that fail to resolve
...
fix #2058
2020-09-14 12:41:35 -04:00
Evan You
52e45a9850
fix(v-once): fix v-once usage with v-if and v-for
...
fix #2035
2020-09-02 12:30:37 -04:00
XRenSiu
bb54a84cd1
chore: use '@vue/shared' instead of '@vue/shared/src' ( #1915 )
2020-08-21 12:50:06 -04:00
Evan You
91700fbec2
refactor(compiler-core): simplify hoistStatic check for nodes without patchFlag
...
close #1912
2020-08-20 11:43:34 -04:00
underfin
69cfed6b31
fix(compiler-core): should attach key to single element child of `<template v-for>` ( #1910 )
2020-08-20 10:09:57 -04:00
Evan You
24041b7ac1
fix(compiler-core): generate NEED_PATCH flag for element with vnode hooks
2020-08-19 17:30:44 -04:00
edison
075d769e0b
chore: fix typo for `babelParserDefautPlugins` ( #1897 )
2020-08-19 09:53:09 -04:00
Barthélémy Ledoux
62b9d02f6f
feat(compiler-core): add `comments` parser option ( #1858 )
2020-08-17 11:20:28 -04:00
Evan You
b0d01e9db9
dx(compiler-core): warn on `<template v-for>` key misplacement
...
Note: the behavior is different from Vue 2. `<template v-for>` are compiled
into an array of Fragment vnodes so the key should be placed the `<template>`
for v-for to use it for diffing.
2020-08-04 12:20:32 -04:00
Evan You
de0c8a7e3e
fix(compiler-core): v-if key error should only be checking same key on different branches
2020-08-04 12:01:18 -04:00
Aurelius333
86cdf6694d
chore(compiler-core): improve X_V_IF_KEY error message ( #1757 )
2020-08-03 17:14:14 -04:00
Evan You
6f5d840612
feat(sfc): support resolving template components from `<script setup>` exports
2020-07-28 17:31:46 -04:00
Evan You
58b4a382f9
refactor(compiler-core): emit error on v-if key usage
2020-07-28 15:18:41 -04:00
Evan You
fbf865d9d4
fix(compiler-core): always compile Teleport and Suspense as blocks
2020-07-28 11:12:43 -04:00
underfin
d4527230e4
fix(compiler-core): prevent generating invalid code for v-bind with empty expression ( #1720 )
2020-07-27 18:31:08 -04:00
Evan You
5fbd1f4ccb
fix(compiler-core/v-on): only cache empty handler when the option is used
...
fix #1716
The original idea is that the empty handler can be cached in all cases,
but this contradicts with the assumption that `hasCachedProps` check in
the static hoist transform can simply return `false` in the browser
build.
2020-07-27 18:28:39 -04:00
Evan You
71c3c6e2a0
fix(v-model): allow v-model usage on declared custom elements
...
fix #1699
2020-07-27 17:09:30 -04:00
Evan You
ba17c871d8
feat: support delimiters option for runtime compilation
...
close #1679
2020-07-23 14:27:17 -04:00
Rahul Kadyan
615dccd00e
feat(compiler-core/internal): add `onContextCreated` option to `generate` ( #1672 )
2020-07-21 15:16:20 -04:00
Evan You
be4df124e6
refactor: move @babel/types to dev deps, reduce install size
2020-07-20 22:14:05 -04:00
Evan You
af7e100ef2
fix(compiler-core): fix v-if + v-for on `<template>`
...
fix #1637
2020-07-19 14:36:01 -04:00
HcySunYang
f9826fa963
fix(compiler-core/v-on): fix codegen for event handler with newlines ( #1640 )
2020-07-19 11:48:26 -04:00
lawvs
a935998b33
chore: better comment hovers preview [ci skip] ( #1612 )
2020-07-17 11:24:12 -04:00
Evan You
aab99abd28
fix(slots): properly force update on forwarded slots
...
fix #1594
2020-07-15 20:12:49 -04:00
HcySunYang
64c7b2f9ce
fix(compiler-core): generate incremental keys for v-if/else-if/else chains ( #1589 )
...
fix #1587
2020-07-15 09:21:40 -04:00
Evan You
9152a89016
fix(v-on): capitalize dynamic event names
2020-07-13 17:36:46 -04:00
Evan You
576344d2c3
refactor(compiler): extract isStaticExp util
2020-07-13 16:48:24 -04:00
Evan You
65beba98fe
fix(slots): differentiate dynamic/static compiled slots
...
fix #1557
2020-07-13 12:36:41 -04:00
Evan You
b9595e64cf
feat: ssr support for `<style vars>`
2020-07-12 18:04:09 -04:00
Evan You
b6cdd5621e
wip: template binding optimization
2020-07-10 22:12:25 -04:00
Evan You
b51b79f5c4
refactor: rename optimizeBindings -> optimizeImports
2020-07-10 20:43:52 -04:00
Evan You
4c43d4e5b9
feat(compiler-sfc): `<script setup>` support (experimental)
...
This is the last commit for the feature which adds async/await detection.
2020-07-10 18:00:13 -04:00
Evan You
3e1cdba9db
wip: tests for compileScriptSetup
2020-07-09 12:17:28 -04:00
Evan You
1359cc3a28
wip: compileScriptSetup
2020-07-09 12:17:28 -04:00
Evan You
87c2a1e50f
fix(compiler-core/v-on): bail caching for member expression handlers on components
...
to preserve correct arity when it is passed down.
fix #1541
2020-07-08 11:48:12 -04:00
Evan You
4b5ce8b456
refactor(compiler-core): remove unnecessary arg in cached handler codegen
2020-07-08 11:48:12 -04:00
Felix Rilling
829b35e426
chore: typo fixes ( #1546 )
...
* chore: fix typos in comments/JSDoc.
* chore: fix typo in internal function name.
* chore: fix typos in test comments/descriptions/variable names.
2020-07-08 12:32:42 +02:00
Jack Robertson
64e2f46436
fix(compiler-core): add `\r` to accepted chars after end tag name ( #1515 )
...
fix #1476
2020-07-06 16:00:26 -04:00
Evan You
afe13e0584
fix(ssr): fix ssr scopeId on component root
2020-06-27 00:27:44 -04:00
Evan You
d5dbd27193
fix(ssr): handle fallthrough attrs in ssr compile output
2020-06-26 16:55:37 -04:00
HcySunYang
8a2cf21b71
perf(compiler-core): treat v-for with constant exp as a stable fragment ( #1394 )
2020-06-17 16:13:14 -04:00
Evan You
605953a154
refactor: only inject rest args for member expression handlers + fix tests
2020-06-15 15:24:46 -04:00
Cathrine Vaage
7e28173312
fix(compiler-core/v-on): pass noninitial arguments in cached event handlers ( #1265 )
2020-06-15 15:04:03 -04:00
underfin
35dbef268c
fix(compiler-core): should not prefix object method ( #1375 )
2020-06-15 11:20:00 -04:00
Evan You
afb231ec5c
fix(compiler-core): skip empty expressions when validating expressions in browser mode
2020-06-15 10:59:03 -04:00
Evan You
91fa52850a
chore: lint for unused arguments
2020-06-12 16:31:31 -04:00
Evan You
825ec1500f
fix(compiler-core): support static slot names containing dots for 2.x compat
...
close #1241
2020-06-12 16:09:27 -04:00
Evan You
0d26413433
fix(compiler-core): fix parsing for directive with dynamic argument containing dots
2020-06-12 15:59:13 -04:00
Evan You
e29f0b3fc2
feat(compiler): better warning for invalid expressions in function/browser mode
...
fix #1266
2020-06-11 16:31:51 -04:00
Evan You
f3623e4d1e
fix(compiler-core): fix prod whitespace/comment removal
...
fix #1256
2020-06-11 11:45:10 -04:00
Evan You
80c868aefe
workflow: setup eslint for prohibited syntax and globals
...
fix #1285
2020-06-10 16:54:23 -04:00
Evan You
9b5d13e598
fix: bail stringification for slots
...
fix #1281 , close #1286
2020-06-10 14:31:59 -04:00
Carlos Rodrigues
958b6c80cf
fix(compiler-core): allow multiline expression on v-model and v-on ( #1234 )
2020-06-09 17:24:48 -04:00
Evan You
5f15d9aa4b
fix(compiler-ssr): should escape template string interpolation chars in generated code
2020-05-26 14:38:24 -04:00
Evan You
dd2bfb5a8f
fix(compiler-dom): should bail stringification on runtime constant regardless of position
...
ref: vuejs/vite#157
2020-05-18 10:04:18 -04:00
Evan You
d965bb6227
feat: improve static content stringiciation
...
Now a single static vnode can contain stringified content
for multiple consecutive nodes, which greatly improves the
coverage of this optimization.
2020-05-16 21:30:16 -04:00
Evan You
baa6973b13
wip(compiler): tests for new stringification
2020-05-15 15:50:42 -04:00
Evan You
cb9444807e
wip(compiler): improve node stringification to support adjacent nodes
2020-05-15 12:58:44 -04:00
Evan You
c2f3ee4dc0
chore: use jsdoc comments in ast
2020-05-15 11:00:07 -04:00
Evan You
e58beecc97
refactor(compiler/types): convert compiler options documentation to jsdoc
...
BREAKING CHANGE: `getTextMode` compiler option signature has changed from
```ts
(tag: string, ns: string, parent: ElementNode | undefined) => TextModes
```
to
```ts
(node: ElementNode, parent: ElementNode | undefined) => TextModes
```
2020-05-07 11:01:36 -04:00
Evan You
675330ba54
fix(compiler): warn against v-bind with empty attribute value
...
ref: https://github.com/vuejs/vue-next/issues/1128#issuecomment-624647434
2020-05-07 10:32:54 -04:00
Evan You
f9a3766fd6
fix(compiler): bail strigification on runtime constant expressions
2020-05-04 15:15:26 -04:00
HiiTea
f0d52d5428
chore: code comment formatting ( #1089 ) [ci skip]
2020-05-01 18:48:44 -04:00
Evan You
c5e7d8b532
fix(compiler-core): hoist pure annotations should apply to all nested calls
2020-05-01 18:36:34 -04:00
Evan You
cad25d95a3
fix(compiler-core): hoisted vnode calls and scoped id calls should be marked pure
...
Otherwise they cannot be tree-shaken
2020-05-01 17:34:11 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Evan You
bd0f7da2c6
build: add browser builds for @vue/compiler-sfc
2020-04-26 01:24:25 -04:00
underfin
2b19965bcf
fix(slots): compiled slot fallback should be functions ( #1030 )
...
This avoids it being collected as dynamic children when it's not used.
fix #1021
2020-04-22 16:52:41 -04:00
Evan You
7d0ab3392a
fix(compiler-core): dynamic component should always be made blocks
...
since it can potentially resolve to plain elements
fix #1018
2020-04-22 14:45:00 -04:00
Evan You
1068212cb2
chore: run prettier
2020-04-15 10:51:07 -04:00
Evan You
a6e2b1052a
fix(compiler-core): should not generate CLASS/STYLE patch flags on components
...
ref #677
2020-04-10 10:19:26 -04:00
Evan You
1f6e72b110
fix(compiler): support full range of entity decoding in browser builds
...
BREAKING CHANGE: compiler options have been adjusted.
- new option `decodeEntities` is added.
- `namedCharacterReferences` option has been removed.
- `maxCRNameLength` option has been rmeoved.
2020-04-08 18:51:25 -04:00
Evan You
8c17535a47
fix(compiler): should not condense
...
fix #945
2020-04-08 17:33:07 -04:00
Evan You
be666ebd59
fix(compiler): should only strip leading newline directly in pre tag
2020-04-08 16:44:32 -04:00
Evan You
d531686f91
fix(compiler-core): elements with dynamic keys should be forced into blocks
...
fix #916
2020-04-07 18:44:21 -04:00
Evan You
7f30cb5772
fix(compiler): fix pre tag whitespace handling
...
- should preserve whitespace even in nested elements
- should remove leading newline per spec
fix #908
2020-04-03 21:02:20 -04:00
Evan You
eee5095692
refactor: rename `<portal>` to `<teleport>`
...
BREAKING CHANGE: `<portal>` has been renamed to `<teleport>`.
`target` prop is also renmaed to `to`, so the new usage will be:
```html
<Teleport to="#modal-layer" :disabled="isMobile">
<div class="modal">
hello
</div>
</Teleport>
```
The primary reason for the renaming is to avoid potential naming
conflict with [native portals](https://wicg.github.io/portals/ ).
2020-04-01 21:55:19 -04:00
Evan You
a022b63605
fix(compiler-core/slots): should support on-component named slots
2020-04-01 20:44:53 -04:00
Igor Randjelovic
20f4965b45
feat(compiler-core): export `transformElement` from compiler-core ( #907 )
2020-04-01 11:25:05 -04:00
Evan You
9ed9bf3687
feat(portal): SSR support for portal disabled prop
2020-03-30 11:24:29 -04:00