Commit Graph

707 Commits

Author SHA1 Message Date
Evan You cfadb98011 fix(runtime-core): rework vnode hooks handling
- peroperly support directive on components (e.g. <foo v-show="x">)
- consistently invoke raw vnode hooks on component vnodes (fix #684)
2020-02-10 13:15:36 -05:00
Evan You 8a87074df0 fix(runtime-core/scheduler): avoid duplicate updates of child component 2020-02-10 13:09:15 -05:00
Evan You 778f3a5e88 fix(runtime-core): should not return early on text patchFlag
fix vnode updated hook on elements with dynamic text children
2020-02-10 12:06:36 -05:00
Evan You e308ad99e9 refactor: ensure setup context.emit always point to intenral emit 2020-02-09 21:47:16 -05:00
Evan You 4bc4cb970f fix: remove effect from public API
close #712
2020-02-09 21:43:54 -05:00
jods 21944c4a42
feat(runtime-core/reactivity): expose shallowReactive (#711) 2020-02-09 21:42:34 -05:00
Evan You 0f67aa7da5 fix(runtime-core): fix ShapeFlags tree shaking 2020-02-07 17:18:12 -05:00
Evan You 5b43764eac fix(runtime-core): fix keep-alive tree-shaking 2020-02-07 17:00:39 -05:00
Evan You b7a74d0439 wip(ssr): ssr slot vnode fallback 2020-02-07 01:06:51 -05:00
Evan You ee5ed73361 wip(ssr): basic components 2020-02-05 23:07:23 -05:00
Eduardo San Martin Morote 5742a0b826
fix(runtime-core/watch): trigger watcher with undefined as initial value (#687)
Fix #683
2020-02-04 09:59:04 -05:00
Evan You bd9b690a51 chore: rmeove unused export 2020-01-31 11:07:10 -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 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 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 6f43c4b516 wip(ssr): vdom serialization 2020-01-28 18:48:27 -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 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 2884831065 fix(runtime-core): instance should not expose non-declared props 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 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 2837ce8428 fix(v-model/emit): update:camelCase events should trigger kebab case equivalent
close #656
2020-01-26 14:14:03 -05:00
likui ec63623fe8 fix: Suspense should include into dynamic children (#653)
fix #649
2020-01-22 10:45:27 -05:00
Evan You 4f06eebc1c fix(dom): fix <svg> and <foreignObject> mount and updates 2020-01-21 11:32:33 -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
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 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
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
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 bfb0ad5a5e types: refactor watcher types naming 2019-12-30 11:30:12 -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
宋铄运 4d20981eb0 fix(runtime-core): pass options to plugins (#561) 2019-12-24 10:33:47 -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
Evan You d6da48a33f perf: optimize public properties access on componentProxy 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
Evan You d84cf3a538 feat(sfc): css modules support 2019-12-18 10:00:49 -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 b2c2d0590e refactor: extract SFCInternalOptions inteface 2019-12-17 12:31:38 -05:00
Evan You 2b178981bc refactor: move isRuntimeCompiled flag into component.ts 2019-12-14 22:15:38 -05:00
Evan You d6acb9c073 fix(hmr): force full diff on HMR 2019-12-13 17:57:21 -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 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 5ecc77df5a chore: fix missed save 2019-12-11 10:39:29 -05:00
Evan You 4d730f464d refactor: move runtime compile error handling to vue 2019-12-11 10:25:34 -05:00
Evan You d3d4fe84cd fix(vue): properly cache runtime compilation 2019-12-11 09:46:42 -05:00
Evan You c97d83aff2 refactor(runtime-core): tweak component proxy implementation 2019-12-10 11:14:29 -05:00
Evan You e7e1314ccc test: fix warning 2019-12-09 14:23:01 -05:00
Evan You c53fae987d feat(runtime-core): warn incorrect root props value (close #375) 2019-12-09 14:06:31 -05:00
meteorlxy f3007a6b4f fix(core): use String to convert primitive types (#518) 2019-12-04 18:28:52 +01:00
Evan You 89a187b895 refactor(reactivity): separate track and trigger operation types 2019-12-03 11:30:24 -05:00
Evan You a58da63f16 fix(core): should not warn extraneous props when root is toggled 2019-12-02 15:17:30 -05:00
Evan You 57bbbb227c fix(core): propsProxy should not convert non-reactive nested values 2019-12-02 14:11:12 -05:00
Evan You 24f6d63c6a fix(core): use correct parent for v-if toggle 2019-12-01 23:42:14 -05:00
Evan You f5f2dca132 feat(core): support recursively resolving self component by name 2019-12-01 23:17:00 -05:00
JiZhi ec2feeafad chore: typo (#488) [ci skip] 2019-12-01 12:03:26 -05:00
Evan You 800b0f0e7a feat(transition): TransitionGroup 2019-11-28 18:41:01 -05:00
fisker Cheung b87c05159b style(runtime-core): remove a unnecessary continue (#505) 2019-11-28 10:45:48 -05:00
fisker Cheung 92b02dc48f chore: comment typo (#506) 2019-11-28 10:01:53 +01:00
Evan You 32602ccee1 test(transition): in-out, appear & persisted 2019-11-27 17:54:41 -05:00
Evan You 7209fb66c2 test: wip more tests for BaseTransition 2019-11-27 12:17:16 -05:00
Gabriel Loiácono fbcc47841b fix(runtime-core): fix error when passed plugin is undefined (#502) 2019-11-27 09:18:03 -05:00
Gabriel Loiácono d4f4c7c4d4 fix(runtime-core): renderList with default value when source is undefined (#498) 2019-11-26 21:00:32 -05:00
Evan You bb39910e8e test: wip tests for BaseTransition 2019-11-26 18:07:05 -05:00
Evan You 43097987cf feat(core): respect $stable slots flag per RFC 2019-11-26 10:03:36 -05:00
JiZhi fc28a677bc chore: fix warn typo (#496) 2019-11-26 09:27:51 +01:00
Rustin d5f4cc9c42 chore: fix comment typo (#499)
* chore(typo): fix comment typo

* chore(typo): fix comment typo of KeepAlive
2019-11-26 09:26:03 +01:00
Evan You c6fb506fc0 feat(transition): compat with keep-alive 2019-11-25 17:35:15 -05:00
Evan You 08a3d95e52 fix: resolveDynamicComponent should use context instance 2019-11-25 11:41:28 -05:00
Evan You 01eb3c12e9 feat(transition): warn non-animatable component root node 2019-11-25 11:41:28 -05:00
Evan You 1765985ec2 feat(transition): support in templates 2019-11-24 18:37:59 -05:00
Evan You a834807942 refactor: rename transition components 2019-11-24 16:00:46 -05:00
Evan You bdafa1dfc4 refactor: adjust warning for fn props and component with many props 2019-11-23 22:17:46 -05:00
Evan You a6aa64b0cc refactor: tweaks 2019-11-22 23:32:53 -05:00
Evan You 1b8236615e feat(transition): handle persisted mode 2019-11-22 23:21:53 -05:00
Evan You 24b4120c21 types: fix dts 2019-11-22 18:09:26 -05:00
Evan You 5c691aebfd feat(transition): handle cancel hooks 2019-11-22 17:10:17 -05:00
Evan You 7859e4bce3 feat(transition): CSS transition for runtime-dom 2019-11-22 15:35:41 -05:00
Evan You 21c41b3228 types: fix Transition exported typing 2019-11-21 10:21:09 -05:00
Evan You 79f23a2f77 feat(transition): support component child 2019-11-20 22:46:32 -05:00
Evan You 93561b080e feat(transition): base transition component 2019-11-20 22:46:32 -05:00
JiZhi aa6c67ee2e fix(scheduler): warn recursive updates in postFlushCbs as well (#456) 2019-11-14 12:06:23 -05:00
ztplz 8e8397374c chore: remove useless code (#447) 2019-11-14 11:23:04 -05:00
Evan You 08bf9976ae types: ensure props are readonly 2019-11-09 18:40:25 -05:00
Evan You acbbe3298c refactor: move codeframe to @vue/shared 2019-11-06 15:13:15 -05:00
Evan You d9c6ff372c feat(core): allow passing explicit refs via props 2019-11-06 12:51:26 -05:00
Evan You e79c918676 feat(inject): allow usage in functional components 2019-11-06 12:51:26 -05:00
Evan You c61e5463fa feat: warn duplicate plugin installations 2019-11-05 10:49:15 -05:00
Chester 2d5f9b58ac refactor: skip destructuring when use with (#425) 2019-11-05 10:45:04 -05:00
Evan You dfc7c0f12a refactor: adjust internal vnode types + more dts tests 2019-11-04 18:38:55 -05:00
Evan You 957d3a0547 refactor: portal should not expect ref target 2019-11-04 14:42:47 -05:00
sh7dm 1a361e2e71 test(createRenderer): add tests for portal and fix found bugs 2019-11-04 14:37:50 -05:00
Evan You e1d25e3537 feat: show fragment ids in dev 2019-11-04 14:28:01 -05:00
Evan You 300a705221 refactor: use __TEST__ flag 2019-11-04 14:28:01 -05:00
Evan You 25af8dc73b refactor: improve warning output 2019-11-02 23:21:02 -04:00
Evan You 7f054782ad feat: warn ref usage on functional components 2019-11-02 21:33:37 -04:00
Evan You a651fc44f6 refactor: adjust shapeFlag naming 2019-11-02 21:26:25 -04:00
Evan You 90b9884eb4 refactor: rename/re-organize files 2019-11-02 12:18:35 -04:00
Evan You abdaf10d88 chore: comments regarding Readonly usage 2019-11-02 10:40:08 -04:00
Evan You 26c859aedd chore: simplify check 2019-11-02 10:38:25 -04:00
Evan You 5cdeeaa702 types: fix types 2019-11-01 23:04:28 -04:00
Evan You 66ecd8b47f types: setup tests for built d.ts files 2019-11-01 22:54:01 -04:00
Evan You 7b7b8ef221 types: improve h inference + infer required props without need for as const 2019-11-01 17:06:19 -04:00
Evan You b5c501c0b4 fix: fix shapeflags export 2019-11-01 17:05:38 -04:00
Evan You 492c1306f6 types: fix suspense exported type 2019-11-01 12:43:27 -04:00
Evan You fc5b2964de types: fix dts reliance on @vue/shared 2019-11-01 12:24:33 -04:00
Evan You 5eee1152ca types: (wip) improve dts output 2019-11-01 11:32:53 -04:00
Evan You 06c5b0a861 types: refactor VNodeProps type 2019-11-01 09:58:27 -04:00
Evan You 3a6dcd3aba types: improve h() and TSX type inference
- Should allow extraneous props as attrs in TSX
- Should check props when using constructor type returned by
  createComponent() in h()
2019-10-31 12:43:05 -04:00
Evan You b114cdf6ee chore: comments explaining keep-alive implementation details [ci skip] 2019-10-31 12:41:28 -04:00
Evan You 4631f5323b test: more tests for keep-alive 2019-10-30 23:32:29 -04:00
Evan You 5fcb81050a test: tests for keep-alive 2019-10-30 21:41:28 -04:00
Dmitry Sharshakov d3d2353eac feat(suspense): replace errors with warnings (#412) 2019-10-30 11:37:05 -04:00
Evan You e98c558bf3 chore: fix types 2019-10-30 11:29:08 -04:00
Evan You 247c53672d refactor(reactivity): simplify effect options 2019-10-30 11:11:23 -04:00
Evan You c6cbca25fe feat(core): keep-alive 2019-10-29 22:28:38 -04:00
Evan You 083296ead6 fix: fix h signature for suspense 2019-10-29 14:04:53 -04:00
Evan You 4dd5d2cb74 refactor(suspense): move more suspense details into suspense.ts 2019-10-29 12:40:54 -04:00
Evan You 17d71fa407 refactor(suspense): make suspense tree-shakeable 2019-10-29 12:30:09 -04:00
Dmitry Sharshakov 5cce23f4c6 feat(apiApp): add more warnings (#394) 2019-10-28 16:22:03 -04:00
Dmitry Sharshakov 325e15ef41 feat(createRenderer): handle errors in function refs (#403) 2019-10-28 12:03:30 -04:00
likui 8454e7e004 refactor: remove unnecessary variable (#401) 2019-10-28 10:13:26 -04:00
Dmitry Sharshakov db7666d0f3 fix(warning): handle errors in warn handler (#396) 2019-10-27 20:55:50 -04:00
Dmitry Sharshakov e7e3eb8662 refactor(VNode): improve helper types (#392) 2019-10-27 20:54:54 -04:00
Dmitry Sharshakov e581b14dff feat(apiApp): return app from provide method for chaining (#393) 2019-10-27 20:54:33 -04:00
Evan You a8aa328907 chore: comment on cloneVNode implementation [ci skip] 2019-10-27 20:45:59 -04:00
Evan You 43f4bd3aaa chore: fix typing for withDirectives 2019-10-26 16:32:27 -04:00
Evan You 07ce2c5fa7 perf: improve directive runtime performance 2019-10-26 16:00:07 -04:00
Dmitry Sharshakov 7394f7ec42 fix(apiInject): fix stringifying of symbol injection key (#383) 2019-10-26 10:52:29 -04:00
Dmitry Sharshakov 134e932322 fix(types): fix VNodeTypes unique symbols (#387) 2019-10-26 10:51:55 -04:00
Dmitry Sharshakov 49914efc9e fix(Portal): add ability to use element as target (#380) 2019-10-26 10:32:16 -04:00
Evan You 8edfbf9df9 feat(core): adjust attrs fallthrough behavior 2019-10-25 12:12:17 -04:00
Junyan d76cfba7fb refactor(reactivity): reduce code of type check (#377) 2019-10-25 11:15:04 -04:00
likui 532b5eebd7 feat(runtime-core): support array in watch option (#376) 2019-10-25 10:25:52 -04:00
Evan You 8c1638da33 feat(runtime-core): warn access of undefined property during render 2019-10-25 10:12:58 -04:00
Evan You 6a92bbd9c0 feat(runtime-dom): support using mount target innerHTML as template 2019-10-24 21:58:34 -04:00
Evan You ed29af7bea fix: generate v-if fallback comment as block 2019-10-24 21:19:02 -04:00
Evan You 7b637319a8 fix: export missing createCommentVNode fn 2019-10-24 21:08:28 -04:00
Evan You 1c0a2c6d41 refactor(compiler): use shorter helpers for text and comment nodes 2019-10-24 17:55:00 -04:00
Evan You 42bf9ca3e5 feat(props): enable case conversion in all builds, preserve casing for attrs 2019-10-24 10:59:57 -04:00
Evan You e2917fef96 feat(props): kebab -> camel prop case support in full build 2019-10-23 21:51:01 -04:00
Evan You af5a8e1154 feat(compiler-core): re-implement v-once to use cache mechanism 2019-10-23 17:57:40 -04:00
Evan You 9291011456 chore: comments [ci skip] 2019-10-23 15:19:55 -04:00
Mayness 18a349ce8c fix(reactivity): account for NaN in value change checks (#361) 2019-10-23 11:53:43 -04:00
edison 9dcbf17f3a perf(runtime-core): use `makeMap` instead of `RE` (#350) 2019-10-23 10:34:58 -04:00
likui e34d2bd853 types: improve slots type (#366) 2019-10-23 09:29:09 -04:00
Evan You af57ad110f chore: revert prettier 2019-10-22 11:53:32 -04:00
Evan You b5886189ba types: massive refactor 2019-10-22 11:53:32 -04:00
Cr a23e03f01e feat(apiOptions): add warning for duplicated properties declared by options (#329) 2019-10-21 23:47:16 -04:00
Evan You a25b1371ab types: improve types 2019-10-21 23:37:03 -04:00
Evan You 052febc127 feat(compiler): convert text mixed with elements into createVNode calls
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
likui f85ba092ce types: improve emit type (#345) 2019-10-21 14:04:42 -04:00
Jooger 67eb29f63b refactor(errorHandlling): handle array in callWithAsyncErrorHandling (#332) 2019-10-21 13:59:10 -04:00
Dmitry Sharshakov 74d8c5919d types: improve computed types (#343) 2019-10-21 13:57:20 -04:00
Dmitry Sharshakov 1f4937c2fd types: use RenderFunction type (#342) 2019-10-21 13:44:01 -04:00
Evan You 520af9787b perf: skip normalizeVNode in optimized mode 2019-10-21 12:24:19 -04:00
Evan You 8be578b6b6 perf: micro optimizations for vnode creation 2019-10-21 11:30:45 -04:00
Evan You 40ccbdeaac chore: remove refs from setupContext
explicit refs should be preferred
2019-10-21 10:36:38 -04:00
Evan You f241c92917 chore: remove todo 2019-10-21 10:04:02 -04:00
HcySunYang 71f3826f99 chore: rename & property missing (#335) 2019-10-21 10:00:23 -04:00
Evan You 869ae19c41 fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers 2019-10-20 17:00:11 -04:00
Evan You e98a85f3cb refactor: applyDirectives -> withDirectives 2019-10-18 16:35:01 -04:00
Dmitry Sharshakov 068902abec types: fix createComponent type when using simple function (#334) 2019-10-18 14:58:15 -04:00
Evan You b5194b16bf refactor: rename vnode hooks
So that they can be used as @vnodeMounted="..." in templates
2019-10-18 14:54:35 -04:00
Dmitry Sharshakov 2238925fbe feat(core): validate directives names (#326) 2019-10-18 12:34:45 -04:00
宋铄运 7f23eaf661 feat(core): support dynamic component via <component :is> (#320) 2019-10-18 12:09:04 -04:00
Evan You d179918001 perf: further tweak accessCache 2019-10-17 22:29:51 -04:00
Dmitry Sharshakov 7305f693b1 refactor(runtime-core): extract promise check into shared (#325) 2019-10-17 15:47:26 -04:00
Evan You 4771319a15 perf(core): cache property access types on renderProxy 2019-10-17 15:02:15 -04:00
Evan You 1722dc05c5 fix(runtime-core): handle dynamicChildren when portal is used as a block 2019-10-16 17:43:41 -04:00
Carlos Rodrigues 48b79d02e8 perf(runtime-core): use faster diff map population (#319) 2019-10-16 15:34:51 -04:00
Evan You b20b922d99 perf(v-for): use faster array population in renderList 2019-10-16 10:42:25 -04:00
Ruijia Tang 3e51200bae chore: Remove unnecessary console.log (#312) 2019-10-16 10:11:13 -04:00
Dmitry Sharshakov 0bac763f5a feat(directives): add support for function directives (#252) 2019-10-16 02:12:26 -04:00
Evan You 65a0207c7b test: test runtime compilation error warning 2019-10-15 22:19:19 -04:00
Jian Zhang cf12d18b4b refactor(runtime-core): isBuiltInTag -> use makeMap instead of Set (#307) 2019-10-15 22:18:55 -04:00
月迷津渡 f71bf2f1d3 feat: add isCustomElement option (#299) 2019-10-15 17:30:47 -04:00
Adam Lewkowicz 555e3be69d types(watch): allow readonly arrays for watching multiple sources (#281) 2019-10-15 16:44:14 -04:00
Ayush Goyal 58fffcb987 refactor(core): use makeMap for faster string match checks (#282) 2019-10-15 12:11:08 -04:00
fisker Cheung 1fbb4d22fa chore: use `const` instead of `let` (#283) 2019-10-14 23:15:36 -04:00
fisker Cheung e5d60a0f7a types: use hook type in options (#284) 2019-10-14 23:15:09 -04:00
月迷津渡 66023a8886 feat: runtime component name validation (#217) 2019-10-14 15:36:29 -04:00
Dmitry Sharshakov fd209f5a66 feat(core): export version (#254) 2019-10-14 15:31:43 -04:00
Evan You 37cbd0098d chore: lint + include tsx files for lint 2019-10-14 15:07:43 -04:00
Evan You 6b3ad95fa4 fix(watch): type inference for computed refs 2019-10-14 12:15:09 -04:00
Cr d2bcedb213 feat(apiOptions): warn invalid computed options (#225) 2019-10-14 02:15:31 -04:00
Evan You 82b5978e9c build: further shave off runtime compile only code 2019-10-14 01:08:00 -04:00
Jooger 312907c9d8 refactor(scheduler): replace try catch with callWithErrorHandling (#264) 2019-10-14 00:32:01 -04:00
fisker Cheung 70a142c203 refactor(runtime-core): programmatically create lifecycle APIs for DRYness (#246) 2019-10-13 23:18:34 -04:00
Dmitry Sharshakov 7fd1fdde28 refactor(scheduler): minor refactors (#240) 2019-10-13 22:41:23 -04:00
Dmitry Sharshakov 374a85b861 types: improve directive typing (#253) 2019-10-13 22:40:29 -04:00
Evan You 8e5ea98ccd
Revert "chore: remove useless else (#245)" (#257)
This reverts commit 971cebc61c.
2019-10-12 22:52:11 -04:00
fisker Cheung 971cebc61c chore: remove useless else (#245) 2019-10-12 20:12:09 -04:00
likui 46e64b257c feat(compiler-core/runtime-core): show codeframe in runtime compile errors (#220) 2019-10-12 19:49:23 -04:00
Dmitry Sharshakov 78d1821e24 refactor(componentProxy): simplify proxy handling (#214) 2019-10-12 19:44:30 -04:00
fisker Cheung cdc143d348 refactor(runtime-core): use `Array.from` instead of loop over `iterable` (#250) 2019-10-12 19:34:22 -04:00
Sharvilak ed5a42e588 refactor(runetime-core): removed unnecessary condition check (#237) 2019-10-12 11:00:29 -04:00
Cr f3760f7d34 types: add missing properties to ComponentPublicInstance interface (#218) 2019-10-12 10:30:21 -04:00
Evan You 1b06b3c424 perf: avoid parentNode call when dynamic child is not a Fragment 2019-10-11 18:06:24 -04:00
Evan You a42ad6cc9d feat(runtime-dom): v-model directive runtime 2019-10-11 17:55:34 -04:00
Illya Klymov e32da9169b fix(runtime-core): support object syntax for class (#215) 2019-10-11 15:09:37 -04:00
Evan You 95d7e1f471 feat: log on the fly template compilation error 2019-10-11 11:16:20 -04:00
Evan You 9ad7ae479e fix(compiler): export COMMENT instead EMPTY runtime helper 2019-10-11 10:47:59 -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
Evan You 46d875f4e8 fix(runtime-core): use correct parentNode when patching dynamicChildren (close #98) 2019-10-10 14:49:35 -04:00
Dmitry Sharshakov 1139368dc2 types: improve writable computed types (#192) 2019-10-10 14:08:12 -04:00
terencez d10b28ae0e refactor(runtime-core): make h() support single vnode child (#181) 2019-10-10 10:17:16 -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
Tim van den Eijnden 0177355242 fix: add warnings (#82)
* fix: add warnings

- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop

* fix: more descriptive warnings + details

* fix: test apiOptions warnings

* fix: update warning in componentProxy

* fix: update warnings in componentProxy & apiOptions

* fix: update warning in componentProxy

* fix: implemented tests for componentProxy

* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00
扩散性百万甜面包 def27239bd type: improve typing (#177) 2019-10-09 14:01:53 -04:00
terencez 7963c01a67 types(runtime-core): simplify types in createComponentInstance() (#170) 2019-10-09 12:17:42 -04:00
扩散性百万甜面包 80e5b16f99 types: improve type 'ReactiveEffect' with generics (#99) 2019-10-08 13:48:13 -04:00
Evan You 8da5b007b1 types: improve typing 2019-10-08 12:43:13 -04:00
Evan You 1393ee52ca types: improve typing 2019-10-08 10:50:10 -04:00
扩散性百万甜面包 016231d09f types: improve type for WatchHandler (#160) 2019-10-08 10:48:24 -04:00
Kyle Hall fd1d7833e2 test(runtime-core): createSlots method (#119) 2019-10-06 20:19:44 -04:00