三咲智子 Kevin Deng
639c847c0c
refactor(runtime-shared): move `Data`
2024-05-11 23:14:26 +08:00
三咲智子 Kevin Deng
d376349d09
refactor(runtime-vapor): replace Object.entries with for-in
2024-05-04 02:33:40 +09:00
三咲智子 Kevin Deng
bfb52502f8
feat(runtime-shared): init
2024-05-01 20:19:25 +09:00
Doctor Wu
69580515d9
feat: implement setRef update ( #191 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-01 03:17:16 +09:00
三咲智子 Kevin Deng
6f7d219654
fix(runtime-vapor): set raw value for dynamic attrs
2024-05-01 00:09:59 +09:00
三咲智子 Kevin Deng
fb58e65d3d
Merge remote-tracking branch 'upstream/minor'
2024-04-29 17:50:30 +09:00
三咲智子 Kevin Deng
05f4ade4d9
feat(runtime-vapor): warning with component stack
2024-04-28 22:50:17 +09:00
Jevon
cd582949f2
feat(runtime-vapor): `v-show` for component ( #188 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-27 00:02:34 +08:00
Doctor Wu
b7b652eb71
feat(runtime-vapor): template ref on component ( #185 )
2024-04-25 04:57:45 +08:00
GaoNeng
d6c5bcf833
feat(runtime-core): implement debug hook ( #183 )
2024-04-21 20:30:47 +08:00
Doctor Wu
d490bf2ed7
feat(runtime-vapor): implement expose ( #181 )
...
Co-authored-by: Kevin Deng 三咲智子 <sxzz@sxzz.moe>
2024-04-20 22:17:30 +08:00
三咲智子 Kevin Deng
e67e6432f0
refactor: merge createTextNode & setText
2024-04-20 21:48:44 +08:00
Jevon
37df043adc
feat(runtime-vapor): runtime for v-on in component ( #178 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-19 16:49:21 +08:00
三咲智子 Kevin Deng
7cacb655e0
fix(runtime-vapor): flush post jobs after unmount
2024-04-19 16:19:56 +08:00
Rizumu Ayaka
b447aceac5
fix(runtime-vapor): detach effect scope & component instance ( #174 )
2024-04-16 16:55:44 +08:00
三咲智子 Kevin Deng
dce9b61ae1
refactor(runtime-vapor): extract firstEffect
2024-04-15 04:41:56 +08:00
三咲智子 Kevin Deng
bdc43226a0
refactor(runtime-vapor): export function
2024-04-14 17:43:22 +08:00
Rizumu Ayaka
07926564fc
feat(runtime-vapor): `createSlot` ( #170 )
2024-04-14 17:41:58 +08:00
Jevon
a0bd0e9c5f
feat(compiler-vapor): ref for `v-for` ( #167 )
...
Co-authored-by: Rizumu Ayaka <rizumu@ayaka.moe>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-13 02:54:34 +08:00
Rizumu Ayaka
9a33d79963
feat(runtime-vapor): attach current instance to render slot ( #168 )
2024-04-06 22:10:45 +08:00
ubugeeei
db140a1e37
feat(runtime-vapor): setup helpers useAttrs & useSlots ( #172 )
2024-04-01 03:51:37 +08:00
ubugeeei
ba17fb9910
fix(runtime-vapor): trigger updated hooks across components ( #165 )
2024-03-24 20:30:14 +08:00
ubugeeei
78f74ce241
feat(runtime-vapor): component slot ( #143 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-24 20:29:00 +08:00
Doctor Wu
bd888b9b1e
feat(runtime-vapor): add app-level error handler ( #160 )
...
Co-authored-by: Kevin Deng 三咲智子 <sxzz@sxzz.moe>
2024-03-23 00:38:34 +08:00
ubugeeei
5c9a15140d
feat(runtime-vapor): provide and inject ( #158 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-22 23:41:16 +08:00
Doctor Wu
9a2c12e3cd
feat(runtime-vapor): implement setupContext ( #157 )
2024-03-22 23:28:18 +08:00
Doctor Wu
38e167ceb8
feat: implement inheritAttrs ( #153 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-19 00:24:58 +08:00
Rizumu Ayaka
2661cb2474
refactor(reactivity): remove middleware ( #156 )
2024-03-18 21:57:18 +08:00
Rizumu Ayaka
64e83689a0
refactor(runtime-vapor): `renderEffect` based on `ReactiveEffect` + remove `renderWatch` ( #155 )
2024-03-18 20:13:40 +08:00
Rizumu Ayaka
46761880e9
refactor(baseWatch): rename onEffectCleanup to onWatcherCleanup and getCurrentEffect to getCurrentWatcher for clarity
2024-03-17 22:39:11 +08:00
Rizumu Ayaka
db4040d13a
refactor(scheduler): use bitwise flags for scheduler jobs + move scheduler into reactivity
...
related: https://github.com/vuejs/core/pull/10407
2024-03-17 22:33:36 +08:00
Kevin Deng 三咲智子
463b47e83d
feat: create component & component lifecycle/props/attrs ( #151 )
2024-03-16 18:54:36 +08:00
三咲智子 Kevin Deng
5d15314c4e
refactor(runtime-vapor): remove created & beforeCreate hooks
2024-03-16 03:32:19 +08:00
三咲智子 Kevin Deng
d282af9430
refactor(compiler-vapor): check reserved prop on compiler only
2024-03-15 22:26:03 +08:00
三咲智子 Kevin Deng
808d17dbd1
refactor(runtime-vapor): split create component & render
2024-03-14 16:32:22 +08:00
三咲智子 Kevin Deng
7e0f15fa7c
refactor(runtime-vapor): re-organize
2024-03-14 16:02:46 +08:00
三咲智子 Kevin Deng
b4da5a8da6
feat(runtime-vapor): support v-bind for event
2024-03-14 14:25:54 +08:00
Jevon
9412c20531
feat: support v-on="obj" ( #149 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-14 14:15:45 +08:00
三咲智子 Kevin Deng
ebd3710d72
refactor(runtime-vapor): don't record metadata for `on`
2024-03-07 17:44:42 +08:00
三咲智子 Kevin Deng
280b8cbdab
refactor: remove getCurrentEffect, add effect flag for on
...
Use the effect flag to distinguish whether it is in the effect of a v-for block.
2024-03-07 17:41:07 +08:00
三咲智子 Kevin Deng
03d1d0a956
refactor: delegate set modelValue event
2024-03-06 00:48:34 +08:00
三咲智子 Kevin Deng
11b99ba9ab
fix(runtime-vapor): clean event handler in current effect
2024-03-05 23:43:19 +08:00
Rizumu Ayaka
b925c6290b
perf(runtime-vapor): don't wrap `Array.from` for array in v-for ( #141 )
2024-03-03 00:40:02 +08:00
FireBushtree
ccd3f3923f
fix(runtime-vapor): trigger event after `v-model` ( #137 )
2024-03-01 18:23:49 +08:00
三咲智子 Kevin Deng
5a0bc110d9
refactor(runtime-vapor): record event metadata as array
2024-03-01 18:16:17 +08:00
三咲智子 Kevin Deng
7f861441d7
refactor(runtime-vapor): extract metadata kind
2024-03-01 17:50:54 +08:00
三咲智子 Kevin Deng
4af8e87953
feat: support more source types for v-for
...
closes #139
Co-authored-by: wangjie36 <826036140@qq.com>
2024-03-01 06:37:53 +08:00
三咲智子 Kevin Deng
d51d55843f
refactor(runtime-vapor): tweak createFor
2024-03-01 04:22:17 +08:00
三咲智子 Kevin Deng
fac30af9ec
refactor(runtime-vapor): tweak types
2024-02-27 16:48:33 +08:00
三咲智子 Kevin Deng
2c15171dcf
feat: add next helper for sibilings
2024-02-26 22:37:08 +08:00
三咲智子 Kevin Deng
2075042956
refactor: remove append helper
...
replace `append` with `insertBefore`
2024-02-26 21:38:04 +08:00
三咲智子 Kevin Deng
11bda8a088
refactor(runtime-vapor): move template to dom
...
[skip release]
2024-02-26 21:19:28 +08:00
三咲智子 Kevin Deng
e5c1f8d1a2
refactor: split delegate & register event
2024-02-26 15:18:16 +08:00
三咲智子 Kevin Deng
67e785afd7
chore(runtime-vapor): simplify
2024-02-25 21:06:19 +08:00
三咲智子 Kevin Deng
c1d9b64b7b
refactor: re-organize exports
2024-02-25 15:23:29 +08:00
三咲智子 Kevin Deng
fb3e8ee8c0
refactor: merge delegate & modifier options of event
2024-02-25 15:11:25 +08:00
Evan You
ff943f4ddf
perf: optimize scheduler queueJob performance ( #138 )
2024-02-25 11:29:45 +08:00
三咲智子 Kevin Deng
669fec8dad
feat: delegate event for vapor
...
closes #136
2024-02-25 02:07:20 +08:00
三咲智子 Kevin Deng
23653cc447
refactor(runtime-vapor): split props & event metadata
2024-02-23 13:31:32 +08:00
三咲智子 Kevin Deng
26f29b2529
refactor(runtime-vapor): move metadata from instance to node
2024-02-23 01:21:00 +08:00
三咲智子 Kevin Deng
a87d2120e0
refactor(runtime-vapor): drop array parent
2024-02-23 00:53:42 +08:00
三咲智子 Kevin Deng
d7bd6c99da
refactor(compiler-vapor): generate fragment for only one element
...
closes #133
2024-02-23 00:52:02 +08:00
三咲智子 Kevin Deng
531f4f0052
perf(runtime-vapor): improve traverse children
2024-02-22 02:08:05 +08:00
ygj6
b11ecbda69
feat(runtime-vapor): reset old props when setting dynamic props ( #131 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-20 21:13:48 +08:00
三咲智子 Kevin Deng
e10f7d1689
refactor(runtime-vapor): fix component type
2024-02-14 14:43:18 +08:00
三咲智子 Kevin Deng
66cea4b325
revert: "refactor: remove update function from compiler"
...
Bad for performance, so revert it temporarily
This reverts commit be65b98a33
.
2024-02-12 22:01:42 +08:00
FireBushtree
3d10925c53
feat(runtime-vapor): support patch style ( #126 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-10 21:31:44 +08:00
三咲智子 Kevin Deng
184d72e747
feat(runtime-vapor): implement vModelRadio
...
Fully supported v-model for native elements.
2024-02-10 16:15:23 +08:00
三咲智子 Kevin Deng
3550765147
refactor: add isVaporReservedProp
2024-02-10 14:41:51 +08:00
ubugeeei
52311fa7ae
feat(runtime-vapor): component attrs ( #124 )
2024-02-10 13:07:13 +08:00
三咲智子 Kevin Deng
d16359c45b
feat(runtime-vapor): add no side effects annotation
2024-02-08 23:22:03 +08:00
三咲智子 Kevin Deng
985d4c7422
refactor: return only one node from children helper
2024-02-08 23:03:42 +08:00
Rizumu Ayaka
ccdc634c24
fix(runtime-vapor): v-for move list items are not always effective ( #121 )
2024-02-07 22:01:22 +08:00
Rizumu Ayaka
a15f609044
test(runtime-vapor): refactor duplicate compoent test code ( #120 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-07 21:03:46 +08:00
三咲智子 Kevin Deng
75c8ff5cb7
fix(runtime-vapor): update old value even if no beforeUpdate hook
2024-02-07 20:38:26 +08:00
三咲智子 Kevin Deng
4be349ebc4
feat(runtime-vapor): implement vModelCheckbox & vModelDynamic
2024-02-07 20:14:50 +08:00
三咲智子 Kevin Deng
f4f467811a
fix(runtime-vapor): only update oldValue in beforeUpdate hook
2024-02-07 19:47:56 +08:00
三咲智子 Kevin Deng
94272c6163
fix(runtime-vapor): retrieve prop value from element
2024-02-07 19:24:06 +08:00
三咲智子 Kevin Deng
99da2e5abe
refactor(compiler-vapor): remove runtime fragment
...
returns array directly
2024-02-07 17:29:04 +08:00
三咲智子 Kevin Deng
68b0caf495
fix(compiler-vapor): convert to display string for each text
2024-02-07 04:40:49 +08:00
三咲智子 Kevin Deng
38865c7ca1
refactor: simplify event handler
2024-02-07 01:37:07 +08:00
三咲智子 Kevin Deng
77743006b8
refactor(runtime-vapor): update selected option
2024-02-06 20:24:59 +08:00
ubugeeei
e9e7fe414b
feat(runtime-vapor): component props validator ( #114 )
2024-02-05 03:29:59 +08:00
三咲智子 Kevin Deng
95782883b3
fix(runtime-vapor): special check for setDOMProp
2024-02-05 03:28:32 +08:00
ygj6
d573a3d2f2
feat: support v-bind="{}" ( #106 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-05 02:44:30 +08:00
三咲智子 Kevin Deng
ed954bcd33
feat(runtime-vapor): support v-model w/ select tag
2024-02-04 22:49:59 +08:00
ubugeeei
cde91e4fb5
feat(runtime-vapor): component emits ( #103 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-04 21:18:57 +08:00
ubugeeei
ea5f7ec076
test(runtime-vapor): component props ( #99 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-04 20:46:08 +08:00
三咲智子 Kevin Deng
be65b98a33
refactor: remove update function from compiler
2024-02-03 05:02:07 +08:00
三咲智子 Kevin Deng
e7e3b1c73e
revert: "refactor: id rewrite of vapor v-for"
...
This reverts commit 31f497b1d1
.
2024-02-01 19:12:29 +08:00
三咲智子 Kevin Deng
31f497b1d1
refactor: id rewrite of vapor v-for
2024-02-01 17:42:46 +08:00
Rizumu Ayaka
757af933dc
test(runtime-vapor): `dom/patchProp.ts` ( #102 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-01 14:35:52 +08:00
三咲智子 Kevin Deng
261b7d40a4
feat(runtime-vapor): add defineComponent
2024-01-31 18:08:07 +08:00
三咲智子 Kevin Deng
46e83e9681
refactor(compiler-vapor): symbol for newline ( #104 )
2024-01-31 17:26:07 +08:00
三咲智子 Kevin Deng
681dc5d954
feat(compiler-vapor): v-for ( #101 )
2024-01-31 17:00:19 +08:00
三咲智子 Kevin Deng
f7642ab77c
refactor(compiler-vapor): remove createTextNode argument
2024-01-31 13:16:03 +08:00
三咲智子 Kevin Deng
e02725665d
fix(compiler-vapor): import helper with type check
2024-01-30 22:21:59 +08:00
三咲智子 Kevin Deng
74f7e56fb8
refactor(runtime-vapor): throw errors when node is not found
2024-01-30 05:39:53 +08:00
三咲智子 Kevin Deng
cd0e3273d2
test: add normalizeBlock
2024-01-30 05:39:53 +08:00
Rizumu Ayaka
489f11a1f9
refactor(runtime-vapor): template fragment ( #100 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-30 04:15:52 +08:00
三咲智子 Kevin Deng
63aacf6194
style: respect root prettier config
2024-01-29 03:11:30 +08:00
三咲智子 Kevin Deng
17af64c0c1
feat(runtime-vapor): createFor
2024-01-28 20:16:35 +08:00
Rizumu Ayaka
ede6c29434
feat(compiler-vapor): `v-if` ( #96 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-28 01:31:20 +08:00
三咲智子 Kevin Deng
359a5dab19
refactor: get oldVal from metadata
2024-01-25 17:00:19 +08:00
三咲智子 Kevin Deng
1f134ae43a
feat(runtime-vapor): expose vapor mode flag
2024-01-24 22:11:46 +08:00
三咲智子 Kevin Deng
32604cf91c
refactor(runtime-vapor): template refs
2024-01-21 13:59:56 +08:00
三咲智子 Kevin Deng
31e8fa35c0
feat: v-model for input & textarea
2024-01-21 02:16:53 +08:00
三咲智子 Kevin Deng
782d60475d
feat: basic template ref
2024-01-20 23:48:10 +08:00
三咲智子 Kevin Deng
6a26db2adc
refactor(runtime-vapor): remove ref wrapper for mounted state
2024-01-20 20:46:41 +08:00
三咲智子 Kevin Deng
9d071e7c31
fix(runtime-vapor): set setupState
2024-01-20 20:22:06 +08:00
三咲智子 Kevin Deng
35334fd33e
fix(runtime-vapor): patch prop
2024-01-20 13:38:20 +08:00
ygj6
775491e46d
feat: prop and attr modifiers for v-bind ( #79 )
2024-01-20 13:31:16 +08:00
三咲智子 Kevin Deng
fc651f6905
fix(runtime-vapor): normalize state&block
2024-01-19 22:43:43 +08:00
三咲智子 Kevin Deng
305a651c68
chore: update comment
2024-01-19 17:10:10 +08:00
三咲智子 Kevin Deng
5c0b8bbeb3
refactor: simplify code
2024-01-19 16:59:03 +08:00
Rizumu Ayaka
1e0070c208
feat(runtime-vapor): createIf ( #95 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-19 16:38:41 +08:00
Rizumu Ayaka
2cce436aaf
feat(runtime-vapor): lifecycle beforeUpdate and updated hooks ( #89 )
2024-01-13 03:25:57 +08:00
Rizumu Ayaka
26fee414ff
feat: compound expression for `v-on` ( #60 )
2024-01-08 14:07:49 +08:00
Rizumu Ayaka
fb4d9a1443
feat: renderWatch / renderEffect ( #86 )
...
* refactor: use baseWatch to drive watchAPI
* feat: basic implementation of renderWatch and effectId
* chore: remove effect id
* chore: export and simplify types
* test: render watch
* chore: add todo comment
* fix: sync code changes according to the review in PR #82
* fix: enum values conflict
* chore: rename
* feat: change watchEffect to renderEffect in compiler-vapor
* chore: update
---------
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-07 01:31:01 +08:00
Rizumu Ayaka
dce55475a5
style: fix lint errors in vapor
2023-12-29 22:05:33 +08:00
三咲智子 Kevin Deng
22ed5a7782
chore: remove unused
2023-12-26 23:48:45 +08:00
三咲智子 Kevin Deng
efc32b716f
refactor(runtime-vapor): remove public instance
2023-12-25 02:51:51 +08:00
GaoNeng
3d4bc018d7
feat(runtime-vapor): onErrorCaptured ( #71 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-25 02:44:01 +08:00
Kaine
d3a86cf144
fix(runtime-vapor): fix v-show value ( #70 )
2023-12-23 15:23:34 +08:00
Rizumu Ayaka
5b3027f0a9
feat(runtime-vapor): `watchEffect`/`watch` and `onEffectCleanup` ( #69 )
2023-12-23 15:17:18 +08:00
GaoNeng
9d3abcf24b
feat(runtime-vapor): mounted & unmounted hook ( #46 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-15 01:47:56 +08:00
三咲智子 Kevin Deng
9dda97e736
refactor(runtime-vapor): clean up
2023-12-15 01:30:34 +08:00
白雾三语
6eaf4b651b
fix(runtime-vapor): `unmountComponent` ( #63 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-15 01:23:17 +08:00
白雾三语
9e031275d7
fix: throw error without `script` block ( #61 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-13 15:16:33 +08:00
白雾三语
5e681b5945
feat(compiler-vapor): functional custom directive support updated hooks ( #58 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-13 15:01:07 +08:00
三咲智子 Kevin Deng
19fb55febf
fix(runtime-vapor): custom directive instance
...
closes #50
2023-12-12 15:39:00 +08:00
三咲智子 Kevin Deng
3ba1315e72
refactor(runtime-vapor): remove argument generic
2023-12-11 16:24:07 +08:00
ubugeeei
12250a85b9
feat(runtime-vapor): component props ( #40 )
2023-12-10 01:33:18 +08:00
三咲智子 Kevin Deng
5f90f8bef0
feat: v-show
2023-12-08 17:37:21 +08:00
三咲智子 Kevin Deng
71bc13575f
types(runtime-vapor): add modifiers & argument type
2023-12-07 10:46:34 +08:00
三咲智子 Kevin Deng
41a7079493
refactor: extract Data
2023-12-07 01:55:00 +08:00
白雾三语
0cca23f574
feat(compiler-vapor): support custom directives argument & modifiers ( #34 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-07 01:41:17 +08:00
三咲智子 Kevin Deng
9e9703d7b6
feat(runtime-vapor): render component
2023-12-06 18:49:41 +08:00
三咲智子 Kevin Deng
25f90b2a97
chore: fix lint
2023-12-04 16:45:26 +08:00
三咲智子 Kevin Deng
f3e80d7706
feat: support more directive hook
2023-12-04 16:08:15 +08:00
三咲智子 Kevin Deng
db151e1b43
feat: custom directlve
...
closes #19
2023-12-03 18:36:54 +08:00
白雾三语
28caf8f566
feat: v-on modifiers support native options and keyboards ( #28 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-03 03:49:44 +08:00
三咲智子 Kevin Deng
281d468020
style: format
2023-12-01 01:28:16 +08:00
ubugeeei
503615a31e
feat(compiler): v-on event modifier ( #8 )
2023-11-30 05:11:59 +08:00
ubugeeei
61f339ce7d
feat: vapor component base ( #5 )
...
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-30 02:11:21 +08:00
三咲智子 Kevin Deng
b3fdccec6f
refactor: remove InsertPosition
2023-11-29 21:20:05 +08:00
三咲智子 Kevin Deng
4549e28665
fix: playground
2023-11-29 02:38:01 +08:00
三咲智子 Kevin Deng
ab9a2d28d7
feat: build vapor & add @vue/vapor package
2023-11-29 01:26:01 +08:00
三咲智子 Kevin Deng
8b075796d7
feat: scheduler
2023-11-27 23:48:36 +08:00
三咲智子 Kevin Deng
f9c607dbe4
chore: add todo comment for prepend append
2023-11-27 06:34:37 +08:00