Evan You
b33f0ceff1
refactor(compiler): switch to acorn
2019-10-02 11:05:56 -04:00
Evan You
9c9dd73017
chore: fix outdated patchFlag
2019-10-02 10:59:47 -04:00
Evan You
bec01c93bd
fix(compiler): v-for fragments should be blocks
2019-10-02 10:47:01 -04:00
Evan You
191db785bd
refactor: use global whitelist for render proxy has check
2019-10-02 10:37:06 -04:00
Evan You
d87255ce46
fix(options): data options should preserve original object if possible
2019-10-02 10:03:43 -04:00
Evan You
5ab1d75c39
fix(options): fix renderTriggered option translation
2019-10-02 09:46:29 -04:00
Evan You
fe36555d9e
feat(compiler): generate TEXT patchFlag
2019-10-02 00:19:23 -04:00
Evan You
3a95a2f148
fix(compiler): generate correct fragment children when it contains single text node or slot outlet
2019-10-01 23:53:52 -04:00
Evan You
a477594d65
feat(compiler): v-for codegen w/ correct blocks optimization + key flags
2019-10-01 23:19:48 -04:00
Evan You
07955e6c96
test(compiler): tests for v-for codegen w/ block optimization
2019-10-01 21:00:55 -04:00
Evan You
65661b5ec0
test: restructure v-if & v-for tests
2019-10-01 17:58:09 -04:00
Evan You
4fc963bc5a
feat(compiler): annotate patchFlags in generated code
2019-10-01 17:53:57 -04:00
Evan You
e5bc17967d
wip(compiler): codegen node w/ block optimization for v-for
2019-10-01 16:48:20 -04:00
Evan You
aa134e7a4f
test(compiler): codegen tests for Sequence & Conditional expressions
2019-10-01 15:43:59 -04:00
Evan You
ed111cd37b
test(compiler): tests for vIf codegen w/ blocks optimization
2019-10-01 15:05:08 -04:00
Evan You
5de744d4e1
wip(compiler): generate blocks for v-if
2019-10-01 12:25:29 -04:00
Evan You
e31fb3c172
wip: Sequence & Conditional expressions for AST
2019-10-01 12:25:29 -04:00
Evan You
d67418002f
feat(compiler): generate patchFlags for runtime
2019-09-30 21:17:12 -04:00
Evan You
da0d785d84
test: record snapshots for text optimization
2019-09-30 14:58:20 -04:00
Evan You
e5e40e1e38
feat(compiler): optimize text by merging adjacent nodes
2019-09-30 14:52:10 -04:00
Evan You
7ee07447c5
wip: drop class opt for now + move lazy requires to utils
2019-09-30 14:52:10 -04:00
Evan You
46bd9dbab0
perf: avoid using WeakSet for isRef check
2019-09-30 14:52:10 -04:00
Evan You
7f06981f7c
perf: using a _isVNode field is faster than a weakset
2019-09-30 14:52:10 -04:00
Evan You
389a07835c
feat(compiler): handle complex destructure expressions in v-for
2019-09-28 16:02:08 -04:00
Evan You
798a9cbe9b
test: improve coverage
2019-09-28 14:15:10 -04:00
Evan You
1c410205de
test(compiler): test v-slot transform
2019-09-28 14:05:10 -04:00
Evan You
96749e0178
test: test slotFunction codegen
2019-09-28 13:12:41 -04:00
Evan You
a792d697a3
refactor: simplify slot extraneous child check
2019-09-28 01:35:49 -04:00
Evan You
6461b3853e
refactor(compiler): split slot / slot outlet / slot scope handling into separate transforms
2019-09-28 00:19:24 -04:00
Evan You
6377af483b
fix(compiler): improve auto prefixing cases
2019-09-27 23:20:26 -04:00
Evan You
262be6733c
wip(compiler): tweak codegen, avoid duplicated asset resolution, improve formatting
2019-09-27 22:49:20 -04:00
Evan You
32666c7708
feat(compiler): transform component slots
2019-09-27 22:25:32 -04:00
Evan You
ee66ce78b7
feat(compiler): transform slot outlets
2019-09-27 20:29:20 -04:00
Evan You
d900c13efb
refactor(compiler): separate Interpolation, SimpleExpression & CompoundExpression types
2019-09-27 11:42:02 -04:00
Evan You
d491a022a7
refactor(compiler): provide context.resetMapping()
2019-09-27 09:25:52 -04:00
Rahul Kadyan
a407b16b2b
fix(compiler): generate correct mappings for v-for and object properties ( #69 )
2019-09-27 09:19:03 -04:00
Evan You
63b6902bdb
feat(compiler): correct source map generation
2019-09-26 14:55:53 -04:00
Evan You
2e3a1ff3c3
fix: do not use lookbehind regex yet
2019-09-26 12:22:31 -04:00
Evan You
7c030ee899
build: adjust compiler-core export to avoid collision
2019-09-26 11:51:04 -04:00
Evan You
3bba461128
feat(compiler): include names in source map
2019-09-26 10:14:02 -04:00
Evan You
ac7587fdb5
test: compiler integration tests
2019-09-25 22:29:37 -04:00
Evan You
b5d21aeff7
test: test for transformStyle
2019-09-25 21:02:46 -04:00
Evan You
6c8f226a79
fix: fix source map by fixing advancePositionWithMutation
2019-09-25 19:17:45 -04:00
Evan You
ff2313e43a
wip(compiler): adjust statement positions
2019-09-25 15:09:58 -04:00
Evan You
b43f3b61b7
feat(compiler): transformStyle + context.hoist
2019-09-25 14:13:33 -04:00
Evan You
3e8cd3f25f
wip(compiler): property deduping
2019-09-25 12:39:46 -04:00
Evan You
f79433cbb3
feat(compiler): include ast in compile result
2019-09-25 09:23:34 -04:00
Evan You
d6852c5669
chore: fix comment
2019-09-25 07:30:14 -04:00
Evan You
61be769ce6
test: move source map test to compile.spec.ts
2019-09-24 23:01:57 -04:00
Evan You
af585081b1
test: test the right branches of code
2019-09-24 22:56:57 -04:00
Evan You
642a44f8f0
chore: fix browser build treeshaking for transformExpression
2019-09-24 22:50:00 -04:00
Evan You
84909648e7
test: tests for v-on transform
2019-09-24 22:39:20 -04:00
Evan You
597ada36ed
test: tests for v-bind transform
2019-09-24 22:03:28 -04:00
Evan You
6ad84614f7
feat: renderList helper for v-for
2019-09-24 21:32:29 -04:00
Evan You
9b06e04e0f
feat: v-on with no argument
2019-09-24 20:51:48 -04:00
Evan You
0707fa5d21
test: more coverage
2019-09-24 16:40:32 -04:00
Evan You
cae03f616d
test: improve coverage
2019-09-24 16:35:01 -04:00
Evan You
e67084e5a1
chore: test todos
2019-09-24 15:51:52 -04:00
Evan You
7a46e51815
test: tests for codegen
2019-09-24 15:49:02 -04:00
Evan You
76a1196935
feat(runtime): support rendering comment nodes
2019-09-24 14:37:14 -04:00
Evan You
f5b3f580f1
test: finish tests for transformExpression
2019-09-24 12:13:08 -04:00
Evan You
4a82e7cdbc
wip: test for transformExpression
2019-09-24 12:13:08 -04:00
Evan You
dcf4764360
test: test transformElements
2019-09-23 20:45:40 -04:00
Evan You
c20975ec68
test: refactor vIf tests
2019-09-23 17:31:11 -04:00
Evan You
f0d4eec946
test: refactor vFor tests
2019-09-23 17:16:07 -04:00
Evan You
b3b67b8c7d
feat(compiler): ensure interpolation expressions are wrapped with toString()
2019-09-23 15:36:30 -04:00
Evan You
e09e887219
fix: handle nested scope identifiers
2019-09-23 13:56:56 -04:00
Evan You
88e5e96a3e
refactor: useWith -> prefixIdentifiers
2019-09-23 13:29:52 -04:00
Evan You
e57cb51066
feat(compiler): expression prefixing + v-for scope analysis
2019-09-23 13:29:52 -04:00
Evan You
b04be6a561
wip: fix transform order
2019-09-23 13:29:52 -04:00
Evan You
bb8524e199
wip: expression rewrite
2019-09-23 13:29:52 -04:00
Evan You
70656690e2
chore: fix todo
2019-09-23 13:29:52 -04:00
Evan You
8076ce1f28
feat(compiler): handle runtime helper injection
2019-09-22 23:07:36 -04:00
Evan You
914087edea
feat(compiler): basic v-bind & v-on transforms
2019-09-22 22:19:42 -04:00
Evan You
3ab016e44f
wip: improve v-if & v-for codegen output formatting
2019-09-22 21:10:22 -04:00
Evan You
e8463f1198
chore: rename test dir
2019-09-22 20:56:24 -04:00
Evan You
0af0febfc2
fix: make sure v-if and v-for work together
2019-09-22 20:55:18 -04:00
Evan You
3415bbd823
wip: improve v-if codegen output formatting
2019-09-22 17:06:46 -04:00
Evan You
9c01e0bf0d
fix(transform): transform should still apply even when node is removed
2019-09-22 17:02:32 -04:00
Evan You
3a177a18d2
feat(compiler): element codegen
2019-09-22 16:50:57 -04:00
Evan You
40307d9642
chore: fix parserOptions usage of props
2019-09-22 13:05:19 -04:00
Evan You
3f05315d17
test: fix tests
2019-09-21 17:48:17 -04:00
Evan You
baa8954884
feat(compiler): element transform
2019-09-21 17:42:12 -04:00
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