Commit Graph

936 Commits

Author SHA1 Message Date
Evan You
ba571cda61 wip: trying to make tests work 2018-11-03 06:31:31 +09:00
Evan You
d70b7d6dd5 wip: error handling and nextTick for time slicing 2018-11-03 06:31:31 +09:00
Evan You
d5862d8c51 feat: make functional components time-slicable 2018-11-03 06:31:30 +09:00
Evan You
6ba02827b1 feat: experimental time-slicing 2018-11-03 06:31:30 +09:00
Evan You
e6be55a498 chore: relax render type for tsx 2018-11-03 05:59:45 +09:00
Evan You
ccc835caff chore: fix warning indent 2018-11-03 05:59:29 +09:00
Evan You
bf6e49559a chore: do not warn about reserved methods 2018-11-03 05:40:31 +09:00
Evan You
3e31de3742 chore: fix warning newline 2018-11-03 05:37:01 +09:00
Evan You
774cce324d chore: remove unnecessary hooks api 2018-11-03 05:28:29 +09:00
Evan You
8602b61efb refactor: use more efficient useComputed() implementation 2018-10-30 01:10:03 -04:00
Evan You
f9e3e38fdb chore: add warning when attempting to mutate non-observable hooks return value 2018-10-30 00:42:26 -04:00
Evan You
a17c377be0 feat: enable returning observable state from hooks() 2018-10-30 00:33:45 -04:00
Evan You
6767bf83c4 feat: hooks that match current API 2018-10-29 18:50:07 -04:00
Evan You
894bead914 feat: make hooks usable inside classes 2018-10-28 19:15:18 -04:00
Evan You
98782b326a chore: move hooks to experimental 2018-10-28 17:47:22 -04:00
Evan You
a6a571f973 test: basic tests for hooks 2018-10-28 17:45:53 -04:00
Evan You
665cd8e3d9 feat(runtime-test): triggerEvent 2018-10-28 17:43:27 -04:00
Evan You
52e6964d6c test: tests for memoize 2018-10-28 17:18:41 -04:00
Evan You
131936f144 feat: skip constant trees and memoize fn 2018-10-28 16:41:29 -04:00
Evan You
d8cda2387f perf: skip props update if data object is the same 2018-10-28 15:58:59 -04:00
Evan You
c9b33a9e69 feat: delegate pointer events 2018-10-28 15:23:37 -04:00
Evan You
e8dd725e41 fix: fragment replaceVNode 2018-10-28 14:22:52 -04:00
Evan You
45e9a42a1a refactor: improve scheduler error warning message 2018-10-28 14:22:34 -04:00
Evan You
665ff43fad refactor(scheduler): improve infinite loop detection 2018-10-28 12:59:08 -04:00
Evan You
98e79943d2 fix(hooks): fix effect update & cleanup 2018-10-28 12:10:29 -04:00
Evan You
a7bcb7898f refactor: improve error logging 2018-10-28 12:09:38 -04:00
Evan You
ebf67ad208 fix(scheduler): handle queueJob inside postFlushCbs 2018-10-28 12:08:58 -04:00
Evan You
01bb8d1894 fix: parent chain error when root is functional 2018-10-28 12:08:20 -04:00
Evan You
832d715afe feat: implement basic hooks 2018-10-27 22:10:25 -04:00
Evan You
6982f755fd build: update runtime-dom global name 2018-10-26 17:51:09 -04:00
Evan You
b08b15dba0 refactor: adjust props initialization/updating 2018-10-26 17:49:40 -04:00
Evan You
e05673f4d3 refactor: rename packages 2018-10-26 15:44:50 -04:00
Evan You
f142c322e0 perf: skip initializer extraction for options objects 2018-10-26 12:11:52 -04:00
Evan You
8db26a504c refactor: reduce work in options -> class conversion 2018-10-26 11:47:04 -04:00
Evan You
0857d96438 build: add vue package 2018-10-23 11:58:37 -04:00
Evan You
f57ca5e189 build: rename vue-compat 2018-10-23 11:44:56 -04:00
Evan You
cce85bfeec test: test for mixins 2018-10-18 19:15:17 -04:00
Evan You
165163c52e test: component class inheritance 2018-10-18 18:29:27 -04:00
Evan You
50d424188c feat: export all option types 2018-10-18 18:21:26 -04:00
Evan You
023f4ef7f4 fix: watcher oldValue 2018-10-18 18:21:14 -04:00
Evan You
7c389606a4 fix: should always generate slot for non-null children 2018-10-18 18:01:38 -04:00
Evan You
a428218c64 fix: KeepAlive state should be non-reactive 2018-10-18 17:49:11 -04:00
Evan You
05fcfa0782 test: wip tests for inheritance and mixins 2018-10-17 17:36:34 -04:00
Evan You
2f936a0dfe feat: warn missing render() function 2018-10-17 17:35:03 -04:00
Evan You
7d091b5e91 refactor: createComponentInstance needs only 1 argument 2018-10-17 16:37:45 -04:00
Evan You
1c42c96d1a refactor: use faster key check 2018-10-17 12:20:54 -04:00
Evan You
30404ec546 refactor: events -> eventEmitter 2018-10-17 10:52:08 -04:00
Evan You
861a1c23b0 refactor: split EventEmitter and make it optional 2018-10-16 20:32:18 -04:00
Evan You
7ce16ea8d6 feat: support initializers in mixins 2018-10-16 20:04:58 -04:00
Evan You
456ee13ec9 fix: fix props option merging 2018-10-16 19:16:34 -04:00
Evan You
b83cf4ea38 refactor: proper options inheritance 2018-10-16 19:10:08 -04:00
Evan You
6e04850d71 build: adjust types build script 2018-10-16 17:41:59 -04:00
Evan You
aac7805b3a refactor: use shared util, remove unused regex 2018-10-16 15:53:23 -04:00
Evan You
149d82d618 refactor: option merging + extract helper functions 2018-10-16 15:47:51 -04:00
Evan You
7bc28a6e61 refactor: access all options from instance.$options 2018-10-16 12:37:31 -04:00
Evan You
62214fa42e feat: allow mixins to accept generics 2018-10-16 10:50:23 -04:00
Evan You
be95ad00e9 chore: comments, signature 2018-10-15 19:08:19 -04:00
Evan You
3a7d11ca15 wip: mixins 2018-10-15 19:07:06 -04:00
Evan You
2507ad2b44 feat: improve warning component trace 2018-10-15 14:39:16 -04:00
Evan You
d4cd3fb352 fix: provide/inject should be resolved in parent tree 2018-10-15 13:12:13 -04:00
Evan You
e4e138197c refactor: use more explicit names for warning context 2018-10-15 12:43:21 -04:00
Evan You
b0f3a67e29 refactor: tweak arguments 2018-10-15 12:41:18 -04:00
Evan You
24ff686848 types: fix wrong order 2018-10-13 21:14:52 -04:00
Evan You
a9b608266e types: improve public component type 2018-10-13 21:13:56 -04:00
Evan You
b3e3fd6ef5 types: basic tsx support 2018-10-13 20:46:30 -04:00
Evan You
2599580bca types: further tweak createElement type inference 2018-10-12 22:07:08 -04:00
Evan You
5257b366fd types: improve createElement typing 2018-10-12 19:49:41 -04:00
Evan You
93d724382e feat: process certain attrs as properties 2018-10-12 17:42:08 -04:00
Evan You
47a2b25a95 wip(types): improve h typing 2018-10-12 13:42:19 -04:00
Evan You
7e6fdb8cc4 feat: use internal warning 2018-10-11 17:21:13 -04:00
Evan You
5327abb249 feat: warning traces & error handling for functional render 2018-10-11 17:14:39 -04:00
Evan You
3a7bbecb22 feat: alias $attrs to $props when component has no declared props 2018-10-11 14:27:02 -04:00
Evan You
c94ce3ed62 chore: comments 2018-10-11 14:24:55 -04:00
Evan You
60e803ce62 feat: support defining data in constructor/initialzers 2018-10-11 13:54:35 -04:00
Evan You
d9e3ad72c0 fix: activateComponent should insert vnode now 2018-10-10 13:29:36 -04:00
Evan You
5cd1f33de3 wip: refactor parentChain management 2018-10-10 13:13:27 -04:00
Evan You
ef0c6effe8 wip: warning 2018-10-10 09:58:59 -04:00
Evan You
83605ef26c refactor: remove inheritAttrs / nativeOn, enforce explicit fallthrough 2018-10-09 21:10:30 -04:00
Evan You
699dfd95be types: expose all option types 2018-10-09 20:25:00 -04:00
Evan You
da6f0d7adc refactor: use flat options on class 2018-10-09 20:22:29 -04:00
Evan You
b527705928 refactor: tweak applyDirectives 2018-10-09 18:55:16 -04:00
Evan You
1a68bcb4a7 refactor: adjust arguments 2018-10-09 18:33:08 -04:00
Evan You
c206531330 refactor: use spread args 2018-10-09 18:30:21 -04:00
Evan You
4974a47111 feat: applyDirectives 2018-10-09 18:28:23 -04:00
Evan You
ba62deb5d9 types: simplify options types 2018-10-09 13:59:30 -04:00
Evan You
e698c8f492 types: rename 2018-10-09 11:37:24 -04:00
Evan You
d22b71b27e refactor: types refactor 2018-10-08 18:09:13 -04:00
Evan You
ba918b5afe types: trim exports 2018-10-04 18:12:18 -04:00
Evan You
bb2da9633e types: fix types 2018-10-04 18:06:16 -04:00
Evan You
511ac0bd2f types: use stricter defaults for component data and props 2018-10-04 17:33:20 -04:00
Evan You
05b70f790c fix: nativeOn test case + test nested components 2018-10-04 16:52:52 -04:00
Evan You
03fd4da21d refactor: revert render fn signature 2018-10-04 16:44:23 -04:00
Evan You
65033cec9d feat: expose __vue__ in dev mode 2018-10-04 16:35:07 -04:00
Evan You
3c49b30e17 feat: clone observable data instead of warning 2018-10-04 16:13:02 -04:00
Evan You
03390f80a7 fix: nativeOn should be able to be passed down multiple times 2018-10-04 16:10:46 -04:00
Evan You
848b92070b feat: interop with object syntax in all builds 2018-10-03 13:16:54 -04:00
Evan You
8024f058cc fix: fix internal components render signature 2018-10-03 13:14:22 -04:00
Evan You
70947771dc chore: no longer need to wrap legacy render fn 2018-10-03 13:09:52 -04:00
Evan You
a0321b39b7 refactor: pass target instance to errorCaptured hook 2018-10-03 13:03:37 -04:00
Evan You
d893046830 wip: warning 2018-10-03 13:03:20 -04:00
Evan You
88be7ecd37 refactor: adjust render fn signature 2018-10-03 13:00:13 -04:00
Evan You
172b7f5cf7 fix: $emit should check for raw parent data for listeners 2018-10-03 11:57:47 -04:00
Evan You
743a3c2567 chore: export all api from vue 2018-10-03 10:30:31 -04:00
Evan You
74265190f2 types: fix types 2018-10-03 10:30:14 -04:00
Evan You
f3d7c9e152 refactor: remove useless argument 2018-10-02 18:36:45 -04:00
Evan You
c4481a49e8 chore: merge imports 2018-10-02 18:33:05 -04:00
Evan You
66ad46ad7a chore: unwrap value when validating props 2018-10-02 18:31:38 -04:00
Evan You
2241ad7765 feat: runtime prop validation 2018-10-02 18:29:14 -04:00
Evan You
e93e85bb29 feat: boolean casting 2018-10-02 17:54:58 -04:00
Evan You
9ce86f86f4 refactor: mountComponent 2018-10-02 15:53:22 -04:00
Evan You
dcc3e98937 refactor: remove replaceChild from nodeOps 2018-10-02 14:00:29 -04:00
Evan You
adfe0ee7bf refactor: improve fragment implementation 2018-10-02 13:59:11 -04:00
Evan You
0ae6d8ab8b refactor: mount doesn't have to return el 2018-10-02 12:15:08 -04:00
Evan You
5e988cc9fd test: fix observer warning case 2018-10-01 18:40:44 -04:00
Evan You
612167f470 test: fragment specs 2018-10-01 18:21:44 -04:00
Evan You
aafecb319d fix: h.* shorthands should expect correct args type 2018-10-01 18:21:33 -04:00
Evan You
3fe047b4ac fix(test-renderer): indent on multiple children 2018-10-01 17:50:02 -04:00
Evan You
4f6531aa3c feat(renderer-test): allow specifying indent for serialization 2018-10-01 17:35:55 -04:00
Evan You
21e8798a21 feat: serialize for test renderer 2018-10-01 17:22:49 -04:00
Evan You
dfc855cd54 test: test ops logging for test renderer 2018-10-01 16:42:53 -04:00
Evan You
da20a06a78 feat: implement basic test renderer 2018-10-01 13:15:07 -04:00
Evan You
8f27fefad9 chore: fix comment typo 2018-10-01 13:11:50 -04:00
Evan You
01a0fcb876 fix: clone vnode before mutating flags 2018-09-27 10:23:31 -04:00
Evan You
86d95cf33b refactor(keep-alive): use property initializer 2018-09-27 10:19:36 -04:00
Evan You
1cc7734c24 chore: masks 2018-09-26 18:39:47 -04:00
Evan You
ee50fb9723 feat: activated/deactivated hooks 2018-09-26 18:34:21 -04:00
Evan You
7c2ec8ace0 feat: keep-alive 2018-09-26 17:10:34 -04:00
Evan You
5e5dd7b44c fix: ensure consistent behavior in dev/prod 2018-09-26 11:29:55 -04:00
Evan You
7a1c34690a types: fix types 2018-09-26 10:55:07 -04:00
Evan You
9e62c3bd9a refactor: remove unnecessary functional wrapper + delay for async components 2018-09-25 22:25:18 -04:00
Evan You
2c753388c3 feat: async component 2018-09-25 21:28:52 -04:00
Evan You
1def00e96e feat: oldValue for directives 2018-09-25 20:37:46 -04:00
Evan You
e190824812 refactor: export all from optional features 2018-09-25 18:00:29 -04:00
Evan You
b12247d638 refactor: layout optional features 2018-09-25 17:55:47 -04:00
Evan You
7484b4d2e6 feat: provide/inject 2018-09-25 17:49:47 -04:00
Evan You
1e447d021b feat: applyDirective 2018-09-25 14:56:31 -04:00
Evan You
7b7ae57388 refactor: remove unnecessary normalization 2018-09-25 14:26:36 -04:00
Evan You
b946a6b7f7 refactor: use more descriptive argument name 2018-09-25 14:19:58 -04:00
Evan You
871947c25f fix: fix not saving cached computed options 2018-09-25 13:49:09 -04:00
Evan You
1106e2208d feat: vnode hooks 2018-09-25 13:39:19 -04:00
Evan You
8cafad1fd3 refactor: directly use regex 2018-09-25 12:09:25 -04:00
Evan You
342a9f3a03 refactor: use regex instead of startsWith 2018-09-25 12:06:19 -04:00
Evan You
296164c207 feat: dot-delimited path for watch 2018-09-24 21:52:27 -04:00
Evan You
a848466f07 test: test for attrs fallthrough 2018-09-24 21:13:06 -04:00
Evan You
a1b9144009 refactor: new attrs merge strategy 2018-09-24 19:11:14 -04:00
Evan You
85cd69a988 wip: refactor attrs inheritance 2018-09-24 18:51:58 -04:00
Evan You
ef1d621162 feat: renderTracked & renderTriggered 2018-09-24 14:05:18 -04:00
Evan You
75bfa80997 fix: fix scheduler dupe invokes 2018-09-24 13:38:54 -04:00
Evan You
f398c129e6 refactor: group all extracted non-props under $props.attrs, including class and
style.
2018-09-24 00:29:46 -04:00
Evan You
b5db956f9a feat: inheritAttrs 2018-09-23 23:28:21 -04:00
Evan You
ddd55fae54 feat: full watch api 2018-09-23 23:16:14 -04:00
Evan You
cb01733842 feat: attribute fallthrough 2018-09-23 21:54:48 -04:00
Evan You
6ce39b4d20 feat: basic error handling 2018-09-23 20:59:19 -04:00
Evan You
44d1a8efcb feat: renderError 2018-09-23 20:30:26 -04:00
Evan You
08c8fdb62e chore: mark todo 2018-09-23 19:53:37 -04:00
Evan You
ccd83e2fb0 feat: $refs 2018-09-23 19:53:19 -04:00
Evan You
9a02fc4aec refactor: move lis into utils 2018-09-21 18:12:17 -04:00
Evan You
8de1c484ff chore: remove outdated todos 2018-09-21 17:10:02 -04:00
Evan You
9fcd30b483 fix: Collection iterations should yield observable values 2018-09-21 16:54:12 -04:00
Evan You
de76daf073 refactor: depend on scheduler directly in core instead of injecting via createRenderer 2018-09-21 13:34:00 -04:00
Evan You
bb0e15de4d test: 100% coverage for observer 2018-09-21 09:52:46 -04:00
Evan You
bf38fea313 refactor: ensure watcher callbacks are deferred 2018-09-20 18:57:13 -04:00
Evan You
9b50a5abb9 refactor: expose runner on computed 2018-09-20 18:36:34 -04:00
Evan You
fa9b3df5ab test: tests for observer computed 2018-09-20 18:03:59 -04:00
Evan You
8a714a6c39 test: better collection coverage + tests for immutable 2018-09-20 16:18:22 -04:00
Evan You
9459ca2152 test: observer collection tests 2018-09-20 11:43:14 -04:00
Evan You
369997bb1d refactor: avoid unnecessary style normalization 2018-09-20 02:17:52 -04:00
Evan You
1ef0d03829 chore: comments 2018-09-20 02:11:05 -04:00
Evan You
30c5e8d3b2 chore: remove language service for now 2018-09-20 02:07:32 -04:00
Evan You
fbb0dcdf89 chore: more meta 2018-09-20 00:17:20 -04:00
Evan You
a89bbc018b build: add sideEffects: false flags 2018-09-20 00:02:48 -04:00
Evan You
fc1d6e52f3 fix: beforeUpdate should not be called via onTrigger 2018-09-19 23:56:40 -04:00
Evan You
232d14c0dd test: basic 2.x compat test case 2018-09-19 23:43:27 -04:00
Evan You
b3208a5941 wip: root Vue compat 2018-09-19 23:19:25 -04:00
Evan You
2e9a342652 build: simplify compiler package setup 2018-09-19 22:25:55 -04:00
Evan You
360ab65117 build: add vue 2.x compat package 2018-09-19 21:52:24 -04:00
Evan You
38109fe915 workflow: adjust esm-bundler build file name 2018-09-19 21:51:21 -04:00
Evan You
77d57813eb test: add unobservable test case for more built-ins 2018-09-19 21:50:19 -04:00
Evan You
cb982099e4 test: add dedupe test case for scheduler 2018-09-19 21:38:27 -04:00
Evan You
26ff9b29f9 test: wip tests for observer 2018-09-19 17:45:19 -04:00
Evan You
7350d41f92 chore: remove outdated TODO comments 2018-09-19 15:37:14 -04:00
Evan You
d69d0c0216 test: test for scheduler 2018-09-19 15:36:56 -04:00
Evan You
73106b8553 workflow: rename umd build to global 2018-09-19 12:46:55 -04:00
Evan You
d1bc6ee8d6 chore: setup all packages 2018-09-19 12:26:50 -04:00
Evan You
a8522cf48c fix: avoid double inserting root component 2018-09-19 12:05:33 -04:00
Evan You
3401f6b460 init (graduate from prototype) 2018-09-19 11:35:38 -04:00