Commit Graph

264 Commits

Author SHA1 Message Date
Evan You
380c6792d8 fix(v-on): refactor DOM event options modifer handling
fix #1567

Previously multiple `v-on` handlers with different event attach option
modifers (`.once`, `.capture` and `.passive`) are generated as an array
of objects in the form of `[{ handler, options }]` - however, this
makes it pretty complex for `runtime-dom` to properly handle all
possible value permutations, as each handler may need to be attached
with different options.

With this commit, they are now generated as event props with different
keys - e.g. `v-on:click.capture` is now generated as a prop named
`onClick.capture`. This allows them to be patched as separate props
which makes the runtime handling much simpler.
2020-07-14 11:48:05 -04:00
Evan You
576344d2c3 refactor(compiler): extract isStaticExp util 2020-07-13 16:48:24 -04:00
Evan You
6b63ba2f45 fix(compiler-dom): fix v-on .left .right modifier handling 2020-07-13 14:50:11 -04:00
Evan You
20df2f3817 release: v3.0.0-beta.20 2020-07-08 12:45:30 -04:00
Evan You
5e52f4e4d7 fix(compiler-dom): should ignore and warn side effect tags like script and style
This keeps behavior consistency with v2.
2020-07-08 12:32:07 -04:00
Evan You
d5ab70ba66 release: v3.0.0-beta.19 2020-07-07 10:04:31 -04:00
Evan You
7f83856f34 release: v3.0.0-beta.18 2020-07-01 21:06:25 -04:00
Evan You
f6da6bf999 release: v3.0.0-beta.17 2020-06-30 12:10:15 -04:00
Evan You
ec3c12ee10 release: v3.0.0-beta.16 2020-06-29 18:34:50 -04:00
Evan You
e52b7cd7e7 fix(compiler-core): ignore comment nodes in transition children
fix #1352
2020-06-15 11:08:55 -04:00
Evan You
cf2f278f48 release: v3.0.0-beta.15 2020-06-12 18:09:05 -04:00
Evan You
91fa52850a chore: lint for unused arguments 2020-06-12 16:31:31 -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
蜗牛老湿
fbaf52ae9f
fix(compiler-dom): add tfoot,caption,col element on bail stringification (#1333) 2020-06-10 14:24:51 -04:00
Evan You
3f80183f1f test: test for table stringification bail 2020-06-09 17:10:07 -04:00
Evan You
a938b61edc fix(compiler-dom): bail stringification on table elements
close #1230, close #1268
2020-06-09 17:02:27 -04:00
Zardddddd60
64ec8bfb54
fix(compiler-core): bail static stringfication even threshold is met (#1298)
fix #1128
2020-06-09 16:26:03 -04:00
Evan You
32b3f78a36 release: v3.0.0-beta.14 2020-05-18 14:42:11 -04:00
Jian Zhang
b2dd5612ff
chore: fix typo Stringiable -> Stringifiable (#1200) 2020-05-18 10:06:57 -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
449fd05ad6 release: v3.0.0-beta.13 2020-05-16 21:53:47 -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
59d50dad9c wip: account for text call nodes in stringify chunks 2020-05-15 17:55:24 -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
3c88299f6a release: v3.0.0-beta.12 2020-05-11 15:52:37 -04:00
Evan You
7887c54dfe release: v3.0.0-beta.11 2020-05-11 14:25:36 -04:00
Evan You
13acb9134e release: v3.0.0-beta.10 2020-05-07 11:21:18 -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
304ab8c99b fix(compiler-dom): bail static stringfication on non-attr bindings
fix #1128
2020-05-07 10:32:54 -04:00
Evan You
8df6bc0132 refactor: reuse parseStringStyle across compiler and runtime 2020-05-06 11:22:49 -04:00
Evan You
c32ed52b97 release: v3.0.0-beta.9 2020-05-04 17:14:42 -04:00
Evan You
f9a3766fd6 fix(compiler): bail strigification on runtime constant expressions 2020-05-04 15:15:26 -04:00
Evan You
3c3fe88c64 release: v3.0.0-beta.8 2020-05-04 10:49:23 -04:00
Evan You
0dc44a6a86 release: v3.0.0-beta.7 2020-05-02 17:06:16 -04:00
Evan You
b570287dfe release: v3.0.0-beta.6 2020-05-01 18:56:53 -04:00
HiiTea
22717772dd
chore: fix typos (#1090) 2020-05-01 09:42:58 -04:00
Evan You
c9bf7ded2e refactor(types): mark internal API exports and exclude from d.ts
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You
a5bb1d02b7 release: v3.0.0-beta.5 2020-04-30 16:20:25 -04:00
Evan You
d29aefcf99 release: v3.0.0-beta.4 2020-04-24 16:20:20 -04:00
Evan You
6fefeafe98 release: v3.0.0-beta.3 2020-04-20 17:00:26 -04:00
Evan You
218e6e1667 build: adjust build formats
- Rename `esm` to `esm-browser`
- Add runtime-only build for `esm-browser`
- Add default CDN alias for jsdelivr
2020-04-19 18:43:21 -04:00
Evan You
c1a85cb124 release: v3.0.0-beta.2 2020-04-17 11:01:01 -04:00
Evan You
ca6912554c release: v3.0.0-beta.1 2020-04-16 15:45:04 -04:00
Evan You
11654a6e50 release: v3.0.0-alpha.13 2020-04-15 12:46:26 -04:00
Evan You
1d9f8fc979 release: v3.0.0-alpha.12 2020-04-08 18:59:49 -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
7402951d94 release: v3.0.0-alpha.11 2020-04-03 21:45:50 -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
Eduardo San Martin Morote
37b1dc8242
fix(transition): warn only when there is more than one rendered child (#903) 2020-03-31 18:12:51 -04:00
Evan You
de81faf00a release: v3.0.0-alpha.10 2020-03-24 18:33:40 -04:00
Evan You
0831b98eac fix(compiler-core): support interpolation in RCDATA mode (e.g. textarea) 2020-03-23 17:25:29 -04:00
Evan You
5282ff0edb release: v3.0.0-alpha.9 2020-03-16 18:56:44 -04:00
Evan You
9eef37fa32 refactor(compiler): remove modelValue from generated code for native v-model 2020-03-16 17:51:56 -04:00
Evan You
c75388d538 release: v3.0.0-alpha.8 2020-03-06 15:58:40 -05:00
Evan You
bcb2a9b4a6 build: make @vue/shared public
This avoids it being inlined multiple times in esm bundler builds
2020-02-29 22:04:42 -05:00
Evan You
312513d255 release: v3.0.0-alpha.7 2020-02-26 14:36:38 -05:00
Evan You
9ab22c7ae6 release: v3.0.0-alpha.6 2020-02-22 08:25:32 +01:00
Evan You
1b9b235663 fix(compiler-dom): properly stringify class/style bindings when hoisting static strings 2020-02-21 13:10:13 +01:00
Evan You
478b4cfb2c release: v3.0.0-alpha.5 2020-02-18 15:00:55 -05:00
Evan You
028f748c32 fix(v-on): transform click.right and click.middle modifiers
fix #735
2020-02-18 14:32:06 -05:00
Evan You
9aaef60ad2 wip(ssr): adjust event hydration flag 2020-02-13 18:28:40 -05:00
Evan You
6b505dcd23 wip(ssr): basic element hydration 2020-02-13 17:47:00 -05:00
Evan You
8b7c162125 feat(compiler-dom): handle constant expressions when stringifying static content 2020-02-12 15:00:00 -05:00
Evan You
d866d389f3 chore: fix import path + comment 2020-02-12 12:12:53 -05:00
Evan You
27913e661a feat(compiler-dom/runtime-dom): stringify eligible static trees 2020-02-12 11:56:42 -05:00
Evan You
e861c6da90 test: test updates for d40c642 2020-02-11 18:40:42 -05:00
Evan You
f4c54a888b refactor(compiler-core): hoist static text calls between elements 2020-02-10 18:32:11 -05:00
Evan You
47e984d31f refactor(compiler): provide _ctx and _cache via arguments 2020-02-10 17:29:12 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. (#701) 2020-02-10 09:33:04 -05:00
Evan You
9e51297702 fix(compiler-dom): fix duplicated transforms 2020-02-07 14:24:56 -05:00
Evan You
a51e710396 wip(ssr): proper scope analysis for ssr vnode slot fallback 2020-02-07 13:56:18 -05:00
Evan You
b7a74d0439 wip(ssr): ssr slot vnode fallback 2020-02-07 01:06:51 -05:00
Evan You
4cc39e14a2 feat(compiler): warn invalid children for transition and keep-alive 2020-02-06 17:45:46 -05:00
Evan You
3c27bf6133 wip(compiler-ssr): built-in component fallthrough 2020-02-06 17:45:46 -05:00
Evan You
ee5ed73361 wip(ssr): basic components 2020-02-05 23:07:23 -05:00
Evan You
1f2de9e232 fix(v-model): should use dynamic directive on input with dynamic v-bind 2020-02-05 15:21:47 -05:00
Evan You
c952321fcf wip(compiler-ssr): v-model static types + textarea 2020-02-05 14:23:03 -05:00
Evan You
ebf920e6af wip(compiler-ssr): dynamic v-bind + class/style merging 2020-02-04 18:37:32 -05:00
Evan You
6a5ed49ea9 wip(ssr): v-bind basic usage 2020-02-04 12:21:04 -05:00
Evan You
efbbd19b3d wip(ssr): initial scaffold for compiler-ssr 2020-02-02 00:05:27 -05:00
Evan You
74cb207c22 chore: use correct import path for vCloak 2020-01-31 11:16:51 -05:00
Evan You
f503167fb7 test: fix snapshots 2020-01-31 11:06:37 -05:00
Evan You
d293876c34 release: v3.0.0-alpha.4 2020-01-27 16:20:00 -05:00
Evan You
b41677bf42 release: v3.0.0-alpha.3 2020-01-22 11:10:30 -05:00
Evan You
9f65d811af release: v3.0.0-alpha.2 2020-01-13 17:44:30 -05:00
Evan You
1bb1271b5e release: v3.0.0-alpha.1 2020-01-02 18:25:17 -05:00
Evan You
cee536360e types: fix compiler-dom rolled up dts 2020-01-02 18:21:56 -05:00
Evan You
90ddb7c260 refactor: expose parse in compiler-dom, improve sfc parse error handling 2019-12-22 19:44:21 -05:00
Evan You
bdbfead1e0 chore: adjust package.json 2019-12-19 14:19:58 -05:00
Evan You
35858cec8c build: adjust global names + allow inline overrides of build flags 2019-12-15 15:37:43 -05:00
Evan You
8ffd79c754 fix(compiler-core): handle template root and template v-if as stable fragments 2019-12-12 21:09:47 -05:00
Evan You
136ab753b3 build: adjust esm formats 2019-12-10 22:14:02 -05:00
Evan You
8ed04ed503 build: release script 2019-12-10 21:29:52 -05:00
Evan You
0e3e07079a feat(transition): properly handle transition & transition-group in compiler 2019-11-29 12:42:04 -05:00
Gabriel Loiácono
be4c22e423 chore(compiler-dom): changed function to arrow function (#487) 2019-11-24 22:11:15 -05:00
likui
00857ac816 feat(core): support v-show directive (#310) 2019-11-24 22:04:26 -05:00
Evan You
061a7576de build: mark maxCRNameLength computation as pure 2019-11-19 19:04:59 -05:00
Evan You
9e16ea3d30 test: update snapshots 2019-11-17 21:29:12 -05:00
Evan You
1de072567d perf(compiler): pre-compute maxCRNameLength for perf 2019-11-16 16:19:47 -05:00
Evan You
51d57b4566 perf(compiler): minor perf tweaks 2019-11-15 16:47:55 -05:00
Gabriel Loiácono
96623d0d52 perf(compiler-dom): generate modifiers in a function (#459) 2019-11-15 15:37:02 -05:00
Evan You
d7eab51315 refactor: move dom tag config to shared
Otherwise runtime-dom cjs & esm builds will import compiler-dom
2019-11-06 15:22:46 -05:00
Evan You
34989ef7fe chore: license 2019-10-28 11:15:17 -04:00
djy0
8d7a186def chore: fix typo (#395) 2019-10-27 20:44:24 -04:00
Ayush Goyal
a489f98a66 perf(compiler-dom): use makeMap instead of RegEx (#354) 2019-10-25 10:35:44 -04:00
Evan You
eb20730a67 feat(compiler): preserve whitespace in pre tag, add tests 2019-10-24 16:42:09 -04:00
Evan You
9298f46f92 feat(compiler-core): whitespace handling 2019-10-24 16:22:48 -04:00
Evan You
09c248ae87 chore: fix snapshot 2019-10-23 10:57:05 -04:00
Evan You
113339c7b6 fix(compiler-dom): style transform of static styles should not add STYLE patchFlag 2019-10-23 10:49:16 -04:00
大江东去
7cd1b7fcaf test(compiler-dom): test namespace parsing (#356) 2019-10-23 10:35:45 -04:00
Evan You
bc0ec27739 chore: reference link 2019-10-21 16:46:47 -04:00
Evan You
5023dff60c feat: update svg tag list 2019-10-21 16:39:37 -04:00
Evan You
bb85aefc03 chore: move dom element config to compiler-dom 2019-10-21 16:25:16 -04:00
Evan You
58593c4714 feat(v-on): cache handlers 2019-10-18 21:51:34 -04:00
Evan You
39ea67a2d2 chore: rename v-on guard constants 2019-10-18 16:36:42 -04:00
Evan You
e98a85f3cb refactor: applyDirectives -> withDirectives 2019-10-18 16:35:01 -04:00
Evan You
cba34453db refactor(v-on): avoid empty modifier guard with only key modifier 2019-10-18 16:20:45 -04:00
Carlos Rodrigues
6c80e13986 chore: typos [ci-skip] (#323) 2019-10-17 15:01:51 -04:00
Evan You
25dd507f71 feat(compiler-core/v-model): error when v-model is used on scope variable 2019-10-16 15:35:04 -04:00
likui
29811d1fe8 test(compiler-dom): add test for vModel transform (#289) 2019-10-16 01:47:58 -04:00
Evan You
6f3e768d52 refactor: use makeMap in v-on dom transform 2019-10-15 22:29:52 -04:00
宋铄运
db5c343c33 test(runtime-dom): add test coverage for v-on runtime guards, fix "exact" guard (#298) 2019-10-15 17:08:43 -04:00
Cr
8eba1aba08 feat(vModel): warn if v-model is used on file input (#295) 2019-10-15 12:23:38 -04:00
Evan You
e3b14f5904 chore: comments grammar 2019-10-15 12:02:12 -04:00
HcySunYang
68a3879b88 feat(compiler-core): more hoisting optimizations (#276) 2019-10-15 11:41:24 -04:00
Evan You
c7074c703e refactor(v-on): do not generate persistent flag when no listener modifier is present 2019-10-14 23:06:51 -04:00
Evan You
37cbd0098d chore: lint + include tsx files for lint 2019-10-14 15:07:43 -04:00
宋铄运
57a94b530d feat(dom): transform + runtime for v-on (#213) 2019-10-14 00:33:23 -04:00
Carlos Rodrigues
a84490858f test(compiler-dom): add DOM compiler integration compile test (#189) 2019-10-11 10:13:55 -04:00
Evan You
d376439167 wip(compiler-dom): v-model runtime 2019-10-10 18:02:51 -04:00
月迷津渡
78f60347dc feat(compiler): add isNativeTag option for determining element type (#139) 2019-10-10 14:54:06 -04:00
Carlos Rodrigues
8cb56ddb81 feat: added transformVText to directiveTransform (#182) 2019-10-10 10:18:19 -04:00
Evan You
93c6aa4c90 feat: v-once
Note: only compiler transform is tested - integration with runtime
still needs to be tested.
2019-10-09 17:32:58 -04:00
Evan You
f91d335e65 feat(compiler): v-text transform + move dom-specific errros codes to compiler-dom 2019-10-09 11:13:13 -04:00
Adam Dorling
21441830dd feat(compiler-dom): v-cloak transform (#141) 2019-10-09 10:41:31 -04:00
Evan You
eadcaead37 feat(compiler-dom): transform for v-html 2019-10-08 15:35:57 -04:00
Evan You
095f5edf8d feat(compiler): hoist static trees 2019-10-03 23:30:25 -04:00
Evan You
3354837ce1 refactor: move transformStyle to compiler-dom 2019-10-03 16:55:14 -04:00
Evan You
d900c13efb refactor(compiler): separate Interpolation, SimpleExpression & CompoundExpression types 2019-09-27 11:42:02 -04:00
Evan You
63b6902bdb feat(compiler): correct source map generation 2019-09-26 14:55:53 -04:00
Evan You
7c030ee899 build: adjust compiler-core export to avoid collision 2019-09-26 11:51:04 -04:00
Evan You
642a44f8f0 chore: fix browser build treeshaking for transformExpression 2019-09-24 22:50:00 -04:00
Evan You
b3b67b8c7d feat(compiler): ensure interpolation expressions are wrapped with toString() 2019-09-23 15:36:30 -04:00
Evan You
3a177a18d2 feat(compiler): element codegen 2019-09-22 16:50:57 -04:00
Evan You
40307d9642 chore: fix parserOptions usage of props 2019-09-22 13:05:19 -04:00
Evan You
3f05315d17 test: fix tests 2019-09-21 17:48:17 -04:00