Commit Graph

1271 Commits

Author SHA1 Message Date
Evan You
74cb207c22 chore: use correct import path for vCloak 2020-01-31 11:16:51 -05:00
Evan You
bd9b690a51 chore: rmeove unused export 2020-01-31 11:07:10 -05:00
Evan You
f503167fb7 test: fix snapshots 2020-01-31 11:06:37 -05:00
Evan You
04da2a82e8 feat(compiler-core): support mode: cjs in codegen 2020-01-31 10:01:33 -05:00
Evan You
87e8c8094f workflow: add version of template-explorer using local deps 2020-01-31 10:01:33 -05:00
Gabriel Loiácono
c088169170
style(compiler-core): while/expression instead of while/true (#680) 2020-01-31 09:43:34 -05:00
Evan You
c02e7bc7d6 wip(ssr): should apply app context when rendering app instance 2020-01-30 12:20:23 -05:00
Evan You
5c2fe536dc refactor(ssr): adjust renderToString implementation 2020-01-30 12:09:50 -05:00
Evan You
842b368097 chore: use more representative size check code 2020-01-30 12:03:38 -05:00
Evan You
94e80cf6d1 test(ssr): test scopeId handling in vdom serialization 2020-01-29 21:13:34 -05:00
Evan You
eaf414f063 test(ssr): test rendering vnode elements 2020-01-29 17:36:06 -05:00
Evan You
8cdaf28515 test(ssr): test for rendering components 2020-01-29 16:46:18 -05:00
Evan You
6e06810add test(ssr): tests for utils and props rendering 2020-01-29 15:10:45 -05:00
Evan You
730d329f79 fix(compiler-core): relax error on unknown entities
close #663
2020-01-29 12:16:58 -05:00
Evan You
93eba4347d chore: fix template explorer mounting 2020-01-29 11:28:18 -05:00
Evan You
bc07e95ca8 fix(ssr): avoid hard-coded ssr checks in cjs builds 2020-01-29 09:49:17 -05:00
Evan You
6b1ce00621 wip(ssr): renderer support for optimized and manual slots 2020-01-28 22:58:02 -05:00
Evan You
a7b0954f14 wip(ssr): move ssr only utils to conditional export 2020-01-28 22:14:43 -05:00
Evan You
e6e2c58234 fix(runtime-dom/ssr): properly handle xlink and boolean attributes 2020-01-28 22:03:53 -05:00
Evan You
6f43c4b516 wip(ssr): vdom serialization 2020-01-28 18:48:27 -05:00
Evan You
8857b4f288 wip(ssr): improve buffer typing 2020-01-28 10:46:13 -05:00
Evan You
f4d190cc9c wip(ssr): further restructure 2020-01-27 18:06:37 -05:00
Evan You
27fbfbdb8b fix(runtime-core): render context set should not unwrap reactive values 2020-01-27 18:05:30 -05:00
Evan You
012bc5df9d wip(ssr): restructure 2020-01-27 17:23:42 -05:00
Evan You
d293876c34 release: v3.0.0-alpha.4 2020-01-27 16:20:00 -05:00
Evan You
6b10f0cd1d refactor: remove implicit reactive() call on renderContext
reference: https://github.com/vuejs/rfcs/issues/121

BREAKING CHANGE: object returned from `setup()` are no longer implicitly
passed to `reactive()`.

  The renderContext is the object returned by `setup()` (or a new object
  if no setup() is present). Before this change, it was implicitly passed
  to `reactive()` for ref unwrapping. But this has the side effect of
  unnecessary deep reactive conversion on properties that should not be
  made reactive (e.g. computed return values and injected non-reactive
  objects), and can lead to performance issues.

  This change removes the `reactive()` call and instead performs a
  shallow ref unwrapping at the render proxy level. The breaking part is
  when the user returns an object with a plain property from `setup()`,
  e.g. `return { count: 0 }`, this property will no longer trigger
  updates when mutated by a in-template event handler. Instead, explicit
  refs are required.

  This also means that any objects not explicitly made reactive in
  `setup()` will remain non-reactive. This can be desirable when
  exposing heavy external stateful objects on `this`.
2020-01-27 16:00:18 -05:00
Evan You
763faac182 wip(ssr): revert reactivity ssr paths
The perf gains are not worth the correctness issues these paths may lead to
2020-01-27 16:00:18 -05:00
Evan You
cc47ae0118 test: update snapshots for toDisplayString 2020-01-27 16:00:18 -05:00
Evan You
2884831065 fix(runtime-core): instance should not expose non-declared props 2020-01-27 16:00:18 -05:00
Evan You
e43f5935b5 refactor: better variable naming 2020-01-27 16:00:18 -05:00
Evan You
066ba82c7f wip(ssr): escape helpers 2020-01-27 16:00:18 -05:00
Evan You
4e40d0d7c8 chore: fix ssr compiler version 2020-01-27 16:00:18 -05:00
Evan You
297282a812 perf(ssr): avoid unnecessary async overhead 2020-01-27 16:00:17 -05:00
Evan You
25a0d4a65f wip(ssr): reduce reactivity overhead during ssr 2020-01-27 16:00:17 -05:00
Evan You
cee36ad028 wip(ssr): render real components 2020-01-27 16:00:17 -05:00
Evan You
da25517377 wip(ssr): initial work on server-renderer 2020-01-27 16:00:17 -05:00
Evan You
c07751fd36 refactor: adjust createApp related API signatures
BREAKING CHANGE: `createApp` API has been adjusted.

  - `createApp()` now accepts the root component, and optionally a props
  object to pass to the root component.
  - `app.mount()` now accepts a single argument (the root container)
  - `app.unmount()` no longer requires arguments.

  New behavior looks like the following:

  ``` js
  const app = createApp(RootComponent)
  app.mount('#app')
  app.unmount()
  ```
2020-01-27 16:00:17 -05:00
Evan You
eacd390992 chore: scaffold ssr compiler 2020-01-27 16:00:17 -05:00
Evan You
2837ce8428 fix(v-model/emit): update:camelCase events should trigger kebab case equivalent
close #656
2020-01-26 14:14:03 -05:00
Evan You
48152bc88e fix(runtime-dom): should not access document in non-browser env
fix #657
2020-01-25 22:31:38 -05:00
Evan You
aefb7d282e fix(reactivity): Array methods relying on identity should work with raw values 2020-01-23 13:42:31 -05:00
Evan You
b41677bf42 release: v3.0.0-alpha.3 2020-01-22 11:10:30 -05:00
likui
ec63623fe8 fix: Suspense should include into dynamic children (#653)
fix #649
2020-01-22 10:45:27 -05:00
Evan You
2569890e31 refactor: move mockWarn utility to @vue/shared
close #652
2020-01-22 09:29:45 -05:00
Evan You
4f06eebc1c fix(dom): fix <svg> and <foreignObject> mount and updates 2020-01-21 11:32:33 -05:00
Evan You
f2ac28b31e fix(compiler-core): force <svg> into blocks for correct runtime isSVG
state during patch
2020-01-20 14:48:26 -05:00
likui
0c42a6d8fa types: refactor ref unwrapping (#646) 2020-01-20 13:22:18 -05:00
yang
98d50d874d fix(transition): handle multiple transition classes (#638) (#645)
fix #638
2020-01-20 12:44:01 -05:00
Rustin
5aa9868512 test(reactivity): declare the exact type (#644) 2020-01-20 12:02:08 -05:00
Evan You
035b6560f7 fix(runtime-core): isSVG check should also apply for patch branch
fix #639
2020-01-20 11:55:18 -05:00
Evan You
e81c8a32c7 feat(runtime-core): emit now returns array of return values from all triggered handlers
close #635
2020-01-20 11:24:08 -05:00
Ruijia Tang
aca2c2a81e fix(compiler-core): avoid override user keys when injecting branch key (#630) 2020-01-20 10:15:53 -05:00
Sören Schwert
c71ca354b9 fix(compiler-sfc): only transform relative asset URLs (#628) 2020-01-20 09:57:17 -05:00
Rustin
787ac5f74e test(runtime-core): modify test case to set different value (#620) 2020-01-20 09:43:58 -05:00
IU
2b4d0d6501 types(reactivity): handle primitive + object intersection types in UnwrapRef (#614) 2020-01-16 17:47:47 -05:00
Evan You
751d838fb9 fix(runtime-core): should not warn unused attrs when accessed via setup context
close #625
2020-01-16 17:45:08 -05:00
Evan You
c35fea3d60 fix(runtime-core): condition for parent node check should be any different nodes
fix #622
2020-01-16 16:21:37 -05:00
likui
04ac6c467a feat(runtime-core): support app.unmount(container) (#601)
close #593
2020-01-16 12:23:47 -05:00
Sören Schwert
1081ef8089 chore: fix error reporting URL to point to vue-next (#624) [ci skip] 2020-01-15 21:50:06 -05:00
Evan You
9f65d811af release: v3.0.0-alpha.2 2020-01-13 17:44:30 -05:00
Evan You
2e9726e6a2 fix(runtime-core/renderer): fix v-if toggle inside blocks
Should check both branches for parent container access.
Fix #604. Close #607.
2020-01-13 17:31:22 -05:00
Cédric Exbrayat
74baea108a fix(types): components options should accept components defined with defineComponent (#602) 2020-01-13 17:12:45 -05:00
likui
63a6563106 fix(reactivity): should delete observe value (#598)
fix #597
2020-01-13 17:11:49 -05:00
Yang Mingshan
f465199946 types: fix setup this type (#605) 2020-01-10 11:46:34 -05:00
Kael
8f616a89c5 fix(runtime-core): allow classes to be passed as plugins (#588) 2020-01-08 12:40:24 -05:00
Yang Mingshan
453e6889da fix(watch): remove recorded effect on manual stop (#590) 2020-01-08 12:06:16 -05:00
Jason Yu
c9bb346941 chore: update README.md (#592) [ci skip] 2020-01-07 13:19:54 -05:00
Yu Zong
54bb820f73 types: update jsx support (#587) 2020-01-06 16:19:18 -05:00
Carlos Rodrigues
985f4c91d9 types: improve isRef typing (#578) 2020-01-06 16:15:49 -05:00
Evan You
2ac4b723e0 fix(compiler/v-slot): handle implicit default slot mixed with named slots 2020-01-06 15:31:21 -05:00
Evan You
bb6a346996 fix(runtime-core): should preserve props casing when component has no declared props
close #583
2020-01-06 15:05:57 -05:00
Evan You
84dc5a6862 fix(runtime-core/vnode): should not render boolean values in vnode children (close #574) 2020-01-06 11:57:19 -05:00
Evan You
137893a4fd fix(compiler/v-on): handle multiple statements in v-on handler (close #572) 2020-01-06 11:45:48 -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
bfb0ad5a5e types: refactor watcher types naming 2019-12-30 11:30:12 -05:00
Elad Frizi
1cf1ad5e94 test(reactivity): extracted repetitive assertions (#554) 2019-12-30 11:29:43 -05:00
susiwen8
dee5480317 chore: use Boolean to filter TemplateChildNode (#569) 2019-12-30 11:26:45 -05:00
likui
a7ef59c4c3 test(vnode): add test for dynamic children (#563) 2019-12-30 11:25:44 -05:00
djy0
ad2a0bde98 perf(compiler-core): simplify advancePositionWithMutation (#564) 2019-12-30 11:25:06 -05:00
Yang Mingshan
3980ad65de types: exports watch api types (#562) 2019-12-30 11:19:57 -05:00
Evan You
7df5e70c83 types: accept defineComponent return types in app.mount 2019-12-24 11:04:44 -05:00
Evan You
59c595c1e8 refactor: use named export for compiled render function 2019-12-24 11:04:44 -05:00
宋铄运
4d20981eb0 fix(runtime-core): pass options to plugins (#561) 2019-12-24 10:33:47 -05:00
Evan You
6614f21bf4 chore: further edit formats and include it in vue package readme [ci skip] 2019-12-23 10:28:40 -05:00
Evan You
d6275a3c31 fix(sfc): treat custom block content as raw text 2019-12-22 21:09:39 -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
7d436ab59a fix: mounting new children 2019-12-22 16:24:24 -05:00
Evan You
2fdb499bd9 fix(fragment): perform direct remove when removing fragments
This avoids trying to grab .el from hoisted child nodes (which can
be created by another instance), and also skips transition check
since fragment children cannot have transitions.
2019-12-22 16:15:16 -05:00
Evan You
47a6a84631 fix(core): clone mounted hoisted vnodes on patch
...since they may need to be checked as fragment child
2019-12-22 13:31:13 -05:00
Evan You
eda495efd8 feat(hmr): root instance reload 2019-12-22 12:25:04 -05:00
Evan You
c9b9ae3941 refactor: rename apiApp.ts -> apiCreateApp.ts 2019-12-22 11:27:40 -05:00
Chris Fritz
1c4cdd841d refactor(createComponent): rename to defineComponent (#549) 2019-12-22 10:58:12 -05:00
CodinCat
2e3c5aaf5f test(e2e): add test for svg example (#551) 2019-12-20 11:56:36 -05:00
Evan You
755c7b581c chore: mark get/set create calls pure 2019-12-20 11:16:46 -05:00
Evan You
0a4f306492 fix: shallowReadonly should keep reactive properties reactive
ref #552
2019-12-20 11:14:07 -05:00
Evan You
94d692b0cf test: fix tests after missing end tag error location fix 2019-12-20 10:10:08 -05:00
Evan You
362831d8ab fix(sfc): fix v-slotted attribute injection 2019-12-19 17:54:52 -05:00
Evan You
3a3a24d621 feat(sfc): accept inMap in compileTemplate() 2019-12-19 16:25:05 -05:00
Evan You
02c6d5c4e3 fix: codeframe marker should have min width of 1 2019-12-19 15:42:53 -05:00
Evan You
d6da48a33f perf: optimize public properties access on componentProxy 2019-12-19 14:19:58 -05:00
Evan You
c73d889235 test(sfc): test @media and @supports query for scoped css 2019-12-19 14:19:58 -05:00
Evan You
bdbfead1e0 chore: adjust package.json 2019-12-19 14:19:58 -05:00
Evan You
9f52dce0d5 fix(renderer): should also use latest parent node when patching block child components 2019-12-18 17:09:28 -05:00
Evan You
3deb20df63 feat(watch): warn when using lazy with simple callback 2019-12-18 11:54:12 -05:00
Yang Mingshan
c2c9c2b57e fix(watch): ignore lazy option in simple watch (#546)
* fix(watch): ignore lazy option in simple watch

* test: ignore lazy option in simple watch
2019-12-18 11:46:59 -05:00
djy0
fc48e43ac7 chore: fix typo [ci skip] (#547) 2019-12-18 11:45:28 -05:00
Evan You
c1959fa64d build: set compiler-sfc peerDep on vue 2019-12-18 10:00:49 -05:00
Evan You
d84cf3a538 feat(sfc): css modules support 2019-12-18 10:00:49 -05:00
CodinCat
abfea8eb45 test(e2e): add test for grid example (#545) 2019-12-18 09:19:31 -05:00
Evan You
5cf7523787 build: export runtime-only build for bundlers by default in main vue package 2019-12-17 18:24:01 -05:00
Evan You
9550302df4 build: esm-bunlder builds should be considered browser builds 2019-12-17 17:34:10 -05:00
Evan You
a894a350cd test(sfc): test scoped css compilation 2019-12-17 15:20:30 -05:00
Evan You
b689ca6e85 test: test scopeId support 2019-12-17 12:31:38 -05:00
Evan You
3d16c0ea5a fix(runtime-test): output empty attrs without value in seralized output 2019-12-17 12:31:38 -05:00
Evan You
31ca7858bb feat(sfc): ::v-global() pseudo selector support 2019-12-17 12:31:38 -05:00
Evan You
8ea2101553 test: test hot module replacement 2019-12-17 12:31:38 -05:00
Evan You
f194aa0eea feat(sfc): ::slotted selector support 2019-12-17 12:31:38 -05:00
Evan You
69c9dbc825 feat(sfc): scopeId runtime support 2019-12-17 12:31:38 -05:00
Evan You
04e11187b9 perf: cache string helpers 2019-12-17 12:31:38 -05:00
Evan You
51980afca2 feat(sfc): wip scopeId compiler support 2019-12-17 12:31:38 -05:00
Evan You
b2c2d0590e refactor: extract SFCInternalOptions inteface 2019-12-17 12:31:38 -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
75113c8d3e test: fix tests 2019-12-14 22:28:54 -05:00
Evan You
2b178981bc refactor: move isRuntimeCompiled flag into component.ts 2019-12-14 22:15:38 -05:00
Evan You
46c5393224 perf(reactivity): optimize effect stack 2019-12-13 23:06:55 -05:00
Evan You
49a50d3c9c feat(compiler): accept line offset in codeframe 2019-12-13 18:01:04 -05:00
Evan You
d6acb9c073 fix(hmr): force full diff on HMR 2019-12-13 17:57:21 -05:00
Evan You
b15951e190 chore: remove line numbers from default errors 2019-12-13 17:28:12 -05:00
Evan You
865c1ce9ee feat(compiler-sfc): generate source map for template block 2019-12-13 13:22:30 -05:00
Evan You
9e757b5cc5 refactor(compiler-core): move compile into separate file 2019-12-13 13:22:15 -05:00
Evan You
8277d131c4 refactor(compiler): downgrade to source-map v6 for sync API 2019-12-13 12:56:31 -05:00
Evan You
a0ee4fbc36 types: use more specific type names 2019-12-13 11:24:09 -05:00
Evan You
fa5390fb6f fix(fragment): properly remove compiler generated fragments 2019-12-13 10:31:40 -05:00
Cr
6797e35703 chore: fix typos (#541) 2019-12-13 11:49:01 +01:00
Evan You
7431c2e46e fix(runtime-core): ensure $forceUpdate behavior consistency with 2.x 2019-12-12 22:12:45 -05:00
Evan You
2c3c65772b perf: optimize props resolution
Store the keys for props that need default or boolean casting
during normalization, so that later we only need to iterate
through this array instead of the entire props object.
2019-12-12 22:07:48 -05:00
Evan You
c36941c498 fix(compiler-core): should apply text transform to <template v-for> children 2019-12-12 21:09:47 -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
f77ae132e5 feat(hmr): reload and force slot update on re-render 2019-12-12 21:09:47 -05:00
Evan You
ef50c333ce fix(core): generate fragment root with patchFlag + optimize fragment w/ patchFlag 2019-12-12 21:09:47 -05:00
Evan You
efe39db023 feat(runtime-core): hot module replacement 2019-12-12 21:09:47 -05:00
Evan You
3116b5d6c3 fix(runtime-core): initialize renderCache if not present 2019-12-12 21:09:47 -05:00
Evan You
5658f8b678 feat(compiler): expose generateCodeFrame 2019-12-12 21:09:47 -05:00
Evan You
3de7315b7a types: use RawSourceMap types 2019-12-12 21:09:46 -05:00
Evan You
5ecc77df5a chore: fix missed save 2019-12-11 10:39:29 -05:00
Evan You
b983c68575 test(e2e): avoid relying on CDN + reduce debounce delay 2019-12-11 10:37:03 -05:00
Evan You
4d730f464d refactor: move runtime compile error handling to vue 2019-12-11 10:25:34 -05:00
Evan You
c202bd6ac0 test(e2e): use better mocking strategy for commits example 2019-12-11 10:15:52 -05:00
CodinCat
f48a4f71a7 test(e2e): add e2e test for commits example (#526)
* test(e2e): add e2e test for commits example

* test(e2e): add waitForResponse to enhance the test

* test(e2e): use mocks for commits test
2019-12-11 09:51:15 -05:00