Evan You
93440bba97
wip: element transforms
2019-09-21 15:47:26 -04:00
Haoqun Jiang
b275f8697d
test: add tests for rendererChildren ( #52 )
...
* test: [wip] add tests for rendererChildren
* chore: use serializeInner for clearer output
* fix: should remove the text node if content is empty
* test: also test for appended content
* test: inserting & removing
* test: moving children
* refactor: use a helper function
* test: finish tests
* test: duplicate keys tests belong to keyed children block
* fix(runtime-test): fix insert when moving node in the same parent
* fix: fix failing test cases for rendererChildren
* test: handle rendererChildren edge case
2019-09-20 18:17:35 -04:00
Evan You
c78d47b788
feat(compiler): set sourcesContent for source map
2019-09-20 12:19:52 -04:00
Evan You
8a923f6a52
refactor: move compile into compiler-core
2019-09-20 12:16:19 -04:00
Evan You
3e1973f065
test: test on-the-fly compilation
2019-09-20 00:56:02 -04:00
Evan You
3ddd121b19
feat: on-the-fly template compilation
2019-09-20 00:24:16 -04:00
Evan You
d7aab859a3
feat: expose compiler APIs
2019-09-20 00:12:37 -04:00
Evan You
3b5ef483a9
build: move named char references to json file to speed up build
2019-09-19 23:19:48 -04:00
Evan You
9b1a548c6b
feat(compiler): basic codegen with source map support
2019-09-19 23:05:51 -04:00
Evan You
98571ab496
perf(compiler): further improve advanceBy perf
2019-09-19 21:18:18 -04:00
Evan You
2b4f06b24c
test(compiler): transformIf
2019-09-19 15:41:17 -04:00
Evan You
81fd694dd7
perf: avoid cloning in parser advanceBy
2019-09-19 13:59:24 -04:00
Evan You
4c3e7e331a
refactor: cleanup unused variables in vFor
2019-09-19 13:48:32 -04:00
Evan You
06c890c336
test: update snapshots
2019-09-19 13:40:08 -04:00
Evan You
1f96d2348f
chore: nest v-for tests
2019-09-19 13:36:27 -04:00
Evan You
5f49018601
test(compiler): tests for ast transform
2019-09-19 13:24:02 -04:00
Rahul Kadyan
10c1a2b332
feat(compiler-core): add parser transform for v-for directive ( #65 )
...
* feat(compiler-core): add parser transform for v-for directive
* fix: Include source location for expressions
* chore: remove comment
* refactor(compiler-core): extract hepler functions to utils
2019-09-19 13:23:49 -04:00
Evan You
bbb57c26a2
feat(compiler): basic transform implementation
2019-09-17 19:08:47 -04:00
Evan You
a5c1b3283d
chore: avoid object.freeze in prod
2019-09-17 16:23:29 -04:00
Evan You
f595b006c2
chore: regex caching makes no difference
2019-09-17 12:26:09 -04:00
Evan You
132cef9063
refactor: further tweak compiler layers
2019-09-17 11:57:37 -04:00
Evan You
6c14b409ca
refactor: move dom-specific options to compiler-dom
2019-09-17 11:57:37 -04:00
Evan You
54b200fe54
wip: layout compiler files
2019-09-16 16:31:54 -04:00
Evan You
ca387afeea
chore: more restructuring
2019-09-16 15:27:40 -04:00
Evan You
16fa44bd57
chore: organize file structure
2019-09-16 15:11:45 -04:00
Evan You
1c8f5b612a
feat(compiler): scaffold compiler-dom
2019-09-16 15:06:45 -04:00
Evan You
86ae92303d
feat(compiler): port parser implementation based on work by @znck and @mysticatea
2019-09-16 14:43:29 -04:00
Evan You
54a78f3856
chore: remove unnecessary enum initial value
2019-09-16 13:15:20 -04:00
Evan You
95e796fdb6
test: fix suspense tests in Node 12
2019-09-14 12:13:51 -04:00
Evan You
a83ee65e30
fix: fix reactivity cjs entry
2019-09-14 11:26:53 -04:00
Evan You
1c628d0b79
feat: re-suspense when encountering new async deps in resolved state
2019-09-12 12:16:01 -04:00
Evan You
4b3567035a
test: further improve suspense combined test case
2019-09-12 10:40:17 -04:00
Evan You
dfcf494483
test: more comprehesive combined suspense test
2019-09-12 10:31:56 -04:00
Evan You
3b1d87efbe
test: test suspense error handling
2019-09-12 01:52:14 -04:00
Evan You
b378b17076
chore: remove unnecessary code
2019-09-12 00:37:44 -04:00
Evan You
b30b17d22d
test: test nested suspense & nested async deps
2019-09-11 23:44:37 -04:00
Evan You
bbc3442c52
refactor: move resolveSuspense out
2019-09-11 17:38:26 -04:00
Evan You
6dc91971d1
wip(suspense): discard side effects when content is unmounted before resolve
2019-09-11 13:22:18 -04:00
Evan You
ccfcdb8746
test: more tests for suspense
2019-09-11 11:10:14 -04:00
Evan You
dff4e7cd44
fix: patching a component with pending async setup should update its props and slots
2019-09-11 11:10:13 -04:00
Evan You
356a01780b
wip: watcher callback handling inside suspense
2019-09-11 11:10:13 -04:00
Evan You
51914c76e8
wip: do not fire lifecycle hooks when already unmounted
2019-09-11 11:10:13 -04:00
Evan You
6bc368b2b6
wip: only buffer suspense effects when unresolved
2019-09-11 11:10:13 -04:00
Evan You
9ef987830d
wip: suspense buffer effects
2019-09-11 11:10:13 -04:00
Evan You
42967f1f5a
wip: pass proper args to patchDOMProp
2019-09-11 11:10:13 -04:00
Evan You
2677c91aba
wip: pass suspense down as argument
2019-09-11 11:10:13 -04:00
Evan You
0fff3a6ef5
wip: handle suspense as component root el update
2019-09-11 11:10:13 -04:00
Evan You
3959a2a2e1
test: test suspense fallback
2019-09-11 11:10:13 -04:00
Evan You
a16c87be63
wip: suspense refactor
2019-09-11 11:10:13 -04:00
Evan You
c9e625864a
wip: retry suspense async deps from resolved dep instead of root
2019-09-11 11:10:13 -04:00
Evan You
0d176ebf2a
test: update test
2019-09-11 11:10:13 -04:00
Evan You
bd15138ef5
test: basic test for suspense
2019-09-11 11:10:13 -04:00
Evan You
e688e69b1f
wip: handle move and unmount for suspense
2019-09-11 11:10:13 -04:00
Evan You
d5e9682040
wip: suspense feature flag
2019-09-11 11:10:13 -04:00
Evan You
7e70acf9c2
chore: todos
2019-09-11 11:10:13 -04:00
Evan You
02bb156314
wip: somewhat working suspense
2019-09-11 11:10:13 -04:00
Evan You
1dc9d81e3e
wip: suspense
2019-09-11 11:10:13 -04:00
Evan You
cc748db33b
chore: comments
2019-09-11 11:10:13 -04:00
Evan You
8b3aa60a18
wip: suspense ideas
2019-09-11 11:10:13 -04:00
Evan You
02e9fe3f7d
types: fix typing
2019-09-07 11:45:32 -04:00
Evan You
7950980dc3
fix: handle prev children is null in patch element
2019-09-07 11:42:07 -04:00
Evan You
3904678306
types: use stricter HostNode typings
2019-09-06 16:58:32 -04:00
Evan You
360f3b4f37
types: improve type exports
2019-09-06 12:58:31 -04:00
Evan You
d87bed0138
refactor: split componentRenderUtils
2019-09-06 11:25:11 -04:00
Evan You
0f25c29119
refactor: reorganize component related code and types
2019-09-06 11:19:22 -04:00
Evan You
4c075803b5
test: test for app.mixin & warnHandler
2019-09-05 20:59:45 -04:00
Evan You
891f21b010
refactor: extract hasOwn helper
2019-09-05 20:48:14 -04:00
Evan You
7eed0df3c2
wip: $data should only expose properties from data()
2019-09-05 20:36:35 -04:00
Evan You
94a05561f8
feat: fix all cases for h and options type inference
2019-09-05 18:48:49 -04:00
Evan You
6c7cbb0dc9
types: avoid plain objects with value being mistaken as refs
2019-09-05 18:32:19 -04:00
Evan You
9b90e673e8
wip: improve options typing
2019-09-05 16:09:30 -04:00
Evan You
369b9eb583
types: props validation for h
2019-09-05 11:11:33 -04:00
Evan You
81a31f79dc
feat: created/beforeCreate
2019-09-05 10:20:40 -04:00
Evan You
a6de6daa17
wip: disable tracking in all hooks
2019-09-04 18:20:47 -04:00
Evan You
13298bc4fa
test: test for options API
2019-09-04 18:16:11 -04:00
Evan You
7cd33587ba
types: errorCaptured can return void
2019-09-04 13:50:57 -04:00
Evan You
02de984f1f
feat: mixins/extends/assets options
2019-09-04 11:37:00 -04:00
Evan You
b4c909c260
feat: $nextTick, $forceUpdate, $watch
2019-09-03 23:04:11 -04:00
Evan You
a6616e4210
feat: 2.x options support
2019-09-03 22:25:38 -04:00
Evan You
c833db9c97
feat: production tip
2019-09-03 20:51:42 -04:00
Evan You
cbc8dddd15
chore: fix test
2019-09-03 20:31:53 -04:00
Evan You
40d33a3973
wip: remove config.silent
2019-09-03 20:17:25 -04:00
Evan You
406dcb0a7a
test: test app asset retrieval
2019-09-03 18:30:52 -04:00
Evan You
acda3cf2d9
chore: fix type
2019-09-03 18:24:32 -04:00
Evan You
98d1406214
test: test for app-level APIs
2019-09-03 18:11:04 -04:00
Evan You
1e4535dc78
test: improve warning assertions
2019-09-03 16:17:26 -04:00
Evan You
c5ec29ff9b
wip: render() should receive no args, expose props on renderContext as readonly
2019-09-03 15:27:59 -04:00
Evan You
b2d269a651
build: use api-extractor for type rollup
2019-09-03 12:16:22 -04:00
Evan You
015d5dd0f1
feat: asset resolution
2019-09-02 16:43:26 -04:00
Evan You
67fd5b6091
chore: put warning in dev block
2019-09-02 16:16:08 -04:00
Evan You
32713f8fce
feat: createApp / appContext
2019-09-02 16:09:34 -04:00
Evan You
aac807bc63
test: test for directives
2019-09-02 12:09:29 -04:00
Evan You
94e72481b8
test: todo
2019-08-31 22:18:21 -04:00
Evan You
9b428c6d83
feat: directives
2019-08-31 22:17:46 -04:00
Evan You
0f0ca4ae7c
wip: vnodeXXX directive hooks
2019-08-31 17:06:39 -04:00
Evan You
1c6ecf4144
wip: avoid including full error type strings in prod
2019-08-31 16:43:02 -04:00
Evan You
a3b0f2bd1c
feat: applyDirectives
2019-08-31 16:36:36 -04:00
Evan You
6801885f57
test: more coverage for error handling
2019-08-30 16:20:32 -04:00
Evan You
be28f976af
test: tests for error handling
2019-08-30 16:08:10 -04:00
Evan You
d5684e1a9d
wip: function slot tips
2019-08-30 15:34:57 -04:00
Evan You
0cd8e16366
wip: warn slots when invoked in setup()
2019-08-30 15:26:16 -04:00
Evan You
cb09289474
chore: test comments
2019-08-30 15:16:19 -04:00
Evan You
09593c94c3
feat: error handling in scheduler
2019-08-30 15:15:23 -04:00
Evan You
966d7b5487
feat: error handling for setup / render / watch / event handlers
2019-08-30 15:05:39 -04:00
Evan You
1d55b368e8
test: add test case for regsitering onBeforeUnmount inside onMounted
2019-08-30 13:48:27 -04:00
Evan You
7fe82398f7
refactor: call instead of wrap
2019-08-30 12:22:41 -04:00
Evan You
3d681f8bcd
feat: error handling for lifecycle hooks
2019-08-30 12:16:09 -04:00
Evan You
fd018b83b5
feat: warning context
2019-08-30 10:36:30 -04:00
Evan You
010e64c224
test: restructure
2019-08-29 16:56:31 -04:00
Evan You
10bbf52c09
test: test for h
2019-08-29 16:47:00 -04:00
Evan You
ac625e03fe
test: test for template ref usage in setup()
2019-08-29 16:39:23 -04:00
Evan You
0cb42fbcf3
wip: make runtime-test nodes non-observable
2019-08-29 16:38:57 -04:00
Evan You
b40b7356ef
test: tests for lifecycle api
2019-08-28 12:13:36 -04:00
Evan You
2b6ca9a7b6
test: fix deep watch for Map/Set
2019-08-27 15:01:01 -04:00
Evan You
62e07a1b7e
test: coverage
2019-08-27 14:42:05 -04:00
Evan You
7ecdc79d5e
test: finish tests for watch api
2019-08-27 11:35:22 -04:00
Evan You
d04a4f9cb0
test: (wip) test for watch api
2019-08-26 22:47:38 -04:00
Evan You
a20eeac7fe
test: refactor fragment tests to reduce scope
2019-08-26 21:49:12 -04:00
Evan You
cb3866890f
test: effect.onStop
2019-08-26 21:24:44 -04:00
Evan You
a0bc525fee
test: test for isRef & toRefs
2019-08-26 18:17:02 -04:00
Evan You
5a754aac81
test: test for setup()
2019-08-26 18:08:56 -04:00
Evan You
0ede301cf2
test: test for provide/inject
2019-08-26 16:14:23 -04:00
Evan You
3efe0ba3cd
test: jest warning assert utils
2019-08-26 16:08:23 -04:00
Evan You
a39aa842f3
chore: remove no longer needed package
2019-08-23 17:22:13 -04:00
Evan You
b70f8d267e
test: fix temp tests
2019-08-23 15:32:19 -04:00
Evan You
fd1fef5502
test: update fragment tests
2019-08-23 15:27:17 -04:00
Evan You
589d3c2feb
refactor: immutable -> readonly
2019-08-23 09:38:32 -04:00
Evan You
e1bbfbba94
test: more test todos
2019-08-23 09:21:29 -04:00
Evan You
ce51ca30d8
test: layout test references
2019-08-22 22:15:39 -04:00
Evan You
daf67397ae
wip: pass attrs fallthrough tests
2019-08-22 22:07:51 -04:00
Evan You
7fae3ebaf3
wip: adjust index exports
2019-08-22 21:38:00 -04:00
Evan You
5b38e631e7
chore: test todos
2019-08-22 17:13:25 -04:00
Evan You
7bb822c160
wip: cloneVNode + mergeProps
2019-08-22 17:12:39 -04:00
Evan You
f3e9848bb2
refactor: use const enums for flags
2019-08-22 11:12:37 -04:00
Evan You
f26cd5dfe4
test: layout more runtime-core tests
2019-08-21 22:00:48 -04:00
Evan You
8a01c8e549
types: fix createComponent spec
2019-08-21 17:10:37 -04:00
Evan You
b5384006d2
wip: update runtime-test
2019-08-21 17:05:14 -04:00
Evan You
13f5067656
chore: comments
2019-08-21 16:17:02 -04:00
Evan You
2777cd37b4
test: test immutable + ref
2019-08-21 12:03:35 -04:00
Evan You
0aff144f93
wip: improve computed typing + test for setters
2019-08-21 12:01:05 -04:00
Evan You
8d99ab1ff8
chore: allow custom assignment to this
2019-08-21 09:50:20 -04:00
Evan You
7691c06520
wip: warn when injection not found
2019-08-20 15:51:55 -04:00
Evan You
c5558b7ed1
wip: remove immutability conversion in inject
2019-08-20 14:28:44 -04:00
Evan You
bb2ff037b9
build: bump rollup version
2019-08-20 10:34:25 -04:00
Evan You
aacad85058
test: fix reactivity tests
2019-08-20 09:58:10 -04:00
Evan You
0519e10518
wip: make computed implementation consistent
2019-08-20 09:45:28 -04:00
Evan You
b218678c66
feat: toRefs
2019-08-20 09:38:00 -04:00
Evan You
8f9afdff64
feat: template ref handling + ref unmount
2019-08-19 18:06:20 -04:00
Evan You
10a2cf47ea
wip: make injected values immutable
2019-08-19 15:06:03 -04:00
Evan You
e53874f7e7
fix: reactive and immutable should warn for undefined
2019-08-19 15:01:50 -04:00
Evan You
685348f818
wip: adjust inject API
2019-08-19 14:45:11 -04:00
Evan You
145bf98840
wip: fix watch simple effect usage
2019-08-19 14:44:52 -04:00
Evan You
36ab2ab980
wip: update writable computed API to match latest spec
2019-08-19 12:05:07 -04:00
Evan You
42559dc5fe
types: watch API type overload
2019-08-18 22:49:08 -04:00
Evan You
6a22ad2fb2
types: simplify ref type
2019-08-18 22:48:46 -04:00
Evan You
3facfa5a55
wip: adjust computed ref type
2019-08-16 10:52:45 -04:00
Evan You
e1e4a3854c
wip: update runtime core to updated reactivity api names
2019-08-16 10:02:53 -04:00
Evan You
96d65e1ab5
wip: improve ref typing
2019-08-16 09:54:57 -04:00
Evan You
caba6d5c9e
wip: state -> reactive, value -> ref
2019-08-16 09:42:46 -04:00
Evan You
09141b56fd
wip: proper handling of value assignment in reactive object
2019-08-13 11:30:28 -04:00
Evan You
2fc0d599db
revert: "wip: handle value -> value assignment in reactive object"
...
This reverts commit 61ab483af1
.
2019-08-13 11:27:48 -04:00
Evan You
5aa42f137f
types: use unknown
2019-08-13 11:18:23 -04:00
Evan You
1cfa2da78a
types: allow string keys in provide/inject
2019-08-13 11:17:55 -04:00
Evan You
61ab483af1
wip: handle value -> value assignment in reactive object
2019-08-13 11:13:26 -04:00
Evan You
645c1eceea
wip: update test runtime
2019-06-20 21:28:37 +08:00
Evan You
9c0f820a8e
wip: expose getCurrentInstance()
2019-06-20 15:25:10 +08:00
Evan You
8eb20eede9
chore: todo
2019-06-19 22:50:14 +08:00
Evan You
117630fb92
perf: improve inject performance
2019-06-19 22:48:22 +08:00
Evan You
0952d4cf51
wip: provide/inject
2019-06-19 17:31:49 +08:00
Evan You
976844790e
wip: $state -> $data
2019-06-19 17:08:42 +08:00
Evan You
5228f0343b
wip: setup context + emit
2019-06-19 16:43:34 +08:00
Evan You
08806073a1
chore: comments
2019-06-13 10:25:24 +08:00
Evan You
2230917ab4
wip: types
2019-06-12 16:22:52 +08:00
Evan You
fce6a8fa51
wip: support returning render fn from setup() + improve createComponent type inference
2019-06-12 15:43:19 +08:00
Evan You
bfe6987323
refactor: adjust reactivity structure
2019-06-12 00:03:50 +08:00
Evan You
471899af8b
refactor: rename reactivity package name and APIs
2019-06-11 23:50:28 +08:00
Evan You
07403c9aba
wip: restructure api + support watch multiple sources
2019-06-07 14:55:38 +08:00
Evan You
d3fe492d7e
wip: adjust watcher cleanup api
2019-06-06 15:19:04 +08:00
Evan You
1d41771e56
wip: watcher cleanup improvement
2019-06-06 13:25:05 +08:00
Evan You
e5e56bb358
wip: watcher cleanup
2019-06-06 13:04:49 +08:00
Evan You
693938d956
fix: vnode key ref should default to null
2019-06-06 13:04:31 +08:00
Evan You
39e1fffb9c
wip: writable computed
2019-06-06 12:35:49 +08:00
Evan You
e9a3fa60d6
wip: delete keys from props proxy when needed
2019-06-05 21:38:32 +08:00
Evan You
d75d21c1a1
chore: comments
2019-06-03 19:59:15 +08:00
Evan You
ca82c329f0
wip: use typeFlag in slot normalization
2019-06-03 19:58:12 +08:00
Evan You
c442785465
chore: notes on style binding optimization
2019-06-03 13:57:19 +08:00
Evan You
2848f65a7f
wip: refs
2019-06-03 13:44:45 +08:00
Evan You
0ad31f29c4
wip: hoc parent el update
2019-06-03 12:40:21 +08:00
Evan You
7fe82b1199
wip: svg & parent chain
2019-06-03 09:43:28 +08:00
Evan You
1681787b43
wip: optimize children shapeFlag
2019-06-02 22:22:44 +08:00
Evan You
6d90ba28d3
wip: include children type in shapeFlag
2019-06-02 19:40:50 +08:00
Evan You
2f1f6b4355
wip: optimize w/ shapeFlag
2019-06-02 16:35:19 +08:00
Evan You
b77709286f
chore: comments
2019-06-01 17:47:19 +08:00
Evan You
ee5503b260
chore: remove unused var
2019-06-01 17:44:06 +08:00
Evan You
d6d4ba8679
wip: style/class normalization
2019-06-01 17:43:41 +08:00
Evan You
05556eacb2
wip: always track component nodes
2019-06-01 02:14:49 +08:00
Evan You
da5edd3429
wip: improve props typing
2019-06-01 00:47:05 +08:00
Evan You
c0c06813a7
wip: slots
2019-05-31 18:07:43 +08:00
Evan You
e0a66d0381
wip: shouldUpdateComponent logic for slots
2019-05-31 12:25:11 +08:00
Evan You
333ceaa4b5
wip: props proxy for setup()
2019-05-30 23:16:15 +08:00
Evan You
e665a133e9
types: bump TS version + type test for createComponent
2019-05-30 22:09:48 +08:00
Evan You
caad39c353
refactor: tweak watch getter logic
2019-05-30 21:31:53 +08:00
Evan You
fc5bf5cbe1
chore: comments
2019-05-30 21:27:14 +08:00
Evan You
5abada5ed1
chore: comments
2019-05-30 21:24:40 +08:00
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
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