Commit Graph

360 Commits

Author SHA1 Message Date
Evan You
200c035862 wip: component update fast path 2019-05-30 16:00:42 +08:00
Evan You
b82b7af29b types: improve value unwrapping 2019-05-30 13:35:50 +08:00
Evan You
6441db45c7 wip: watch 2019-05-29 23:44:59 +08:00
Evan You
dde6c151e4 wip: test + typing for value 2019-05-29 22:11:33 +08:00
Evan You
ef4fde3522 test: update computed specs 2019-05-29 18:47:29 +08:00
Evan You
cf86e32575 wip: computed 2019-05-29 18:44:50 +08:00
Evan You
02421dbe62 wip: value() 2019-05-29 17:36:53 +08:00
Evan You
453cdcd600 wip: portal 2019-05-29 16:10:25 +08:00
Evan You
178c7c827e wip: render proxy 2019-05-29 13:43:46 +08:00
Evan You
6ceb732114 refactor: component setup flow 2019-05-29 11:36:16 +08:00
Evan You
dbbb36bd76 wip: renderTriggered & renderTracked 2019-05-29 11:01:39 +08:00
Evan You
3f281d5ea6 wip: beforeXXX hooks 2019-05-29 10:47:09 +08:00
Evan You
eac8a4baa3 wip: props immutability 2019-05-29 10:43:27 +08:00
Evan You
f2116054a0 refactor: use shared options for component effect runners 2019-05-29 09:19:01 +08:00
Evan You
46524a0f0f refactor: rename 2019-05-29 09:18:45 +08:00
Evan You
9595446291 chore: remove todos 2019-05-28 20:14:04 +08:00
Evan You
42dce36bf1 wip: basic setup wiring 2019-05-28 20:06:44 +08:00
Evan You
7a3a5850dc wip: adjust lifecycle 2019-05-28 19:59:54 +08:00
Evan You
19ed750078 wip: lifecycle hooks 2019-05-28 19:36:15 +08:00
Evan You
9dd133b1e9 wip: props resolving 2019-05-28 18:06:00 +08:00
Evan You
5c069eeae7 wip: scheduler, more component 2019-05-28 17:19:47 +08:00
Evan You
7a92ee04a0 wip: fix reactivity boundary between components 2019-05-28 14:43:23 +08:00
Evan You
b69ea00f5c wip: minimal component implementation 2019-05-28 13:27:31 +08:00
Evan You
28a0c50357 refactor: use util methods 2019-05-28 10:28:25 +08:00
Evan You
a4d116e3f7 chore: comments 2019-05-27 15:59:02 +08:00
Evan You
73df1fa192 wip: complete patchKeyedChildren 2019-05-27 15:29:02 +08:00
Evan You
e4ce78c8c9 wip: diffKeyedChildren 2019-05-27 13:48:40 +08:00
Evan You
444d6f4bda wip: remove decorators 2019-05-27 13:48:27 +08:00
Evan You
3f3e42b8cb wip: compare perf 2019-05-26 15:38:55 +08:00
Evan You
b3f8b5ae0a wip: add types to refactored runtime-core 2019-05-26 15:19:44 +08:00
Evan You
3cded86b98 wip: switch to new implementation 2019-05-25 23:51:20 +08:00
Evan You
35effdee5a feat: simplify prop/attr checking 2019-03-10 06:09:59 +08:00
Evan You
ec0ccd2337 refactor: return Proxy from base class constructor 2019-03-05 16:24:07 -05:00
Evan You
c335939dcf types: remove intersection of props interface on this 2019-03-01 14:06:19 -05:00
Evan You
f00097127a refactor: move decorators into their own package 2019-03-01 13:58:08 -05:00
Evan You
4a4c1b247d refactor: remove experimental context 2019-03-01 13:54:45 -05:00
Evan You
66686f38a7 refactor: expose $self 2019-03-01 13:47:28 -05:00
Evan You
fa2240143c dx: warn private fields usage 2019-03-01 10:28:29 -05:00
Evan You
93744d5889 dx: warn use of reserved methods in render 2019-02-28 12:50:18 -05:00
Evan You
55a2bc483c refactor: simplify conditional 2019-02-26 21:46:01 -05:00
Evan You
e151d34100 test: fix mixin case 2019-02-26 21:45:13 -05:00
Evan You
ff9cddd46f refactor: move prop decorator into core, expose initial props to initialziers 2019-02-26 21:33:50 -05:00
Evan You
2f165c1e87 refactor: remove experimental hooks 2019-02-26 18:10:08 -05:00
Evan You
77dae71062 refactor: adjust files 2019-02-26 18:04:52 -05:00
Evan You
cbf95c642e feat: @prop decorator 2019-02-25 17:47:02 -05:00
Evan You
daf166553b refactor: also check for event timestamp 2019-01-23 19:08:51 -05:00
Evan You
16270edda5 refactor: cache calls to performance.now 2019-01-23 18:52:05 -05:00
Evan You
360a10fff2 refactor: drop event delegation and use simple async edge case fix 2019-01-22 16:03:37 -05:00
Evan You
9449dfb352 refactor: events tweak 2018-12-19 18:14:41 -05:00
Evan You
85bcc2b87c refactor: move clone step into util function 2018-12-01 18:09:21 -05:00
Evan You
1b40fa6c16 chore: todos 2018-12-01 17:57:39 -05:00
Evan You
80d1eb7480 refactor: rename things 2018-11-13 11:03:35 -05:00
Evan You
0cd8183fbf refactor: remove shorthands on h 2018-11-13 01:08:22 -05:00
Evan You
ca91797c7f fix: fix functional updates 2018-11-13 01:07:13 -05:00
Evan You
f5700245b0 refactor: improve functional patch 2018-11-13 00:29:18 -05:00
Evan You
fc5aa6d0be feat: proper static tree skip 2018-11-12 22:42:34 -05:00
Evan You
6e424397d1 refactor: bring back clone for reused nodes 2018-11-12 22:21:56 -05:00
Evan You
65c1ea8930 wip: defer patchData as nodeOp 2018-11-12 22:07:55 -05:00
Evan You
2f3ddf20b5 refactor: document new scheduler 2018-11-12 12:42:35 -05:00
Evan You
cb7ad12ed4 wip: rename file 2018-11-12 12:39:59 -05:00
Evan You
d27f5ee8e2 wip: remove outdated files 2018-11-12 12:37:22 -05:00
Evan You
f13fbe8686 wip: properly handle invalidated mount/unmount 2018-11-10 00:33:41 -05:00
Evan You
5639022f80 wip: fix insertBefore 2018-11-09 18:08:53 -05:00
Evan You
544f37ae48 wip: simplify time-slicing implementation 2018-11-09 18:01:58 -05:00
Evan You
76a94c2c41 refactor: small tweaks 2018-11-08 20:37:19 -05:00
Evan You
a95532495a refactor: properly cleanup invalidated jobs 2018-11-08 20:08:28 -05:00
Evan You
d39eb6cdbc wip: disable time-slicing in compat mode 2018-11-08 18:41:04 -05:00
Evan You
64029b4a54 feat: detailed info in renderTriggered + hint for skipping slot updates 2018-11-08 18:20:07 -05:00
Evan You
6027d480f3 feat: renderTriggered for forced updates 2018-11-08 14:09:52 -05:00
Evan You
2ee60e0a03 test: all tests passing! 2018-11-08 13:37:39 -05:00
Evan You
bd1b06f1cc test: fix some tests 2018-11-08 12:54:11 -05:00
Evan You
157971b3cb fix: domProps handling 2018-11-03 06:31:54 +09:00
Evan You
9d1f0f248d wip: fix more tests 2018-11-03 06:31:31 +09:00
Evan You
f79f0e658b wip: fix one test 2018-11-03 06:31:31 +09:00
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