Commit Graph

179 Commits

Author SHA1 Message Date
Evan You 23ba438be1
wip(vapor): align compiler with new props runtime behavior 2024-12-04 21:08:12 +08:00
edison 0196e1a499
perf(runtime-vapor): optimize `setDOMProp` on static tag + key (#294) 2024-12-01 17:04:42 +08:00
edison e61cedf3fd
perf(runtime-vapor): use `setAttr` or `setDOMProp` instead of `setDynamicProp` when possible (#291)
Co-authored-by: Doctor Wu <doctorwu@moego.pet>
2024-11-27 16:55:45 +08:00
Kevin Deng 三咲智子 9a2158d2f0
refactor(vapor): drop `v-memo` (#288)
* refactor(runtime-vapor): drop memo

* drop
2024-11-18 04:51:15 +08:00
三咲智子 Kevin Deng 3f6ce964c7
feat(vapor): support more magic vars 2024-11-16 06:58:26 +08:00
三咲智子 Kevin Deng 81b3d36304
fix(vapor): destructure in `v-for` 2024-11-16 06:33:44 +08:00
三咲智子 Kevin Deng 0c7817ceed
fix(compiler-vapor): stringify number prop value 2024-11-16 04:23:21 +08:00
三咲智子 Kevin Deng faa3e2c0d2
fix(runtime-vapor): `v-if` with inherit attrs 2024-11-15 00:42:54 +08:00
三咲智子 Kevin Deng 247617612a
feat(vapor): merge inherited attrs with current attrs 2024-11-14 20:21:20 +08:00
三咲智子 Kevin Deng 5f92ff8ca2
feat(vapor): dynamic component 2024-11-13 14:56:39 +08:00
三咲智子 Kevin Deng 114d501524
feat(compiler-vapor): support implicit prop in template 2024-11-13 10:12:12 +08:00
三咲智子 Kevin Deng 51d9bbe7f0
fix(compiler-vapor): nested component 2024-11-13 09:28:15 +08:00
三咲智子 Kevin Deng 2ed0be8020
fix(compiler-vapor): quote slot name 2024-10-07 13:14:18 +08:00
三咲智子 Kevin Deng c1c316d392
feat(runtime-vapor): fast path for clear all children 2024-10-05 21:27:57 +08:00
三咲智子 Kevin Deng cc58f651e1
refactor(compiler-vapor): remove `proxyRefs` in v-for 2024-09-19 01:17:16 +08:00
三咲智子 Kevin Deng 594cb1412d
Merge remote-tracking branch 'upstream/main' 2024-09-17 10:33:35 +08:00
三咲智子 Kevin Deng 6608bb3197
test(compiler-vapor): add temporary test TODO 2024-07-15 01:20:28 +08:00
zhiyuanzmj b44ca85cb1
feat(compiler-vapor): support v-for without prefixIdentifiers (#259)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-07-03 00:19:40 +08:00
Kevin Deng 三咲智子 97f0b3bc33
refactor: component slots (#238)
Co-authored-by: Doctor Wu <doctorwu@moego.pet>
Co-authored-by: Rizumu Ayaka <rizumu@ayaka.moe>
2024-06-19 01:09:17 +08:00
三咲智子 Kevin Deng b023b9b845
test(compiler-vapor): add scopeId test 2024-06-05 04:36:07 +08:00
Doctor Wu 8ccfce5ec7
refactor(compiler/runtime-vapor): remove unnecessary slot key (#225) 2024-06-03 22:34:47 +08:00
Doctor Wu 8a59311a22
perf(compiler-vapor/runtime-vapor): finer update granularity (#222) 2024-06-03 06:48:13 +08:00
Rizumu Ayaka 208dbc6d65
feat(compiler-vapor): v-slot props + v-slot on component (#223)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-06-03 06:41:14 +08:00
Rizumu Ayaka b2259a5f92
refactor: general destructuring function (#221) 2024-05-31 15:49:49 +08:00
Rizumu Ayaka 868c4294a0
feat: destructuring + nesting in v-for (#217)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-29 16:25:08 +08:00
三咲智子 Kevin Deng 00c6e6dc73
refactor(compiler-vapor): inline literal value into template 2024-05-29 16:23:32 +08:00
Doctor Wu 4e13a57d9c
feat(compiler/runtime-vapor): implement v-slots + v-for / v-if (#207)
Co-authored-by: Rizumu Ayaka <rizumu@ayaka.moe>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-21 08:50:10 +08:00
Jevon b776f92596
feat: v-once for component and v-for (#201)
* feat: v-once with v-for / v-once for component

* refactor

* refactor

---------

Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-17 20:44:58 +08:00
三咲智子 Kevin Deng e2b51d6e7a
feat(compiler-vapor): resolve directive 2024-05-13 02:15:28 +08:00
Lulu b3cb392f5c
feat: support usage of `v-once` with `v-if` (#200)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-12 18:20:14 +08:00
三咲智子 Kevin Deng 75314f2695
fix(compiler-vapor): don't cache `v-once` 2024-05-12 18:15:44 +08:00
Rizumu Ayaka 0c33ace61c
feat(compiler-vapor): implement basic usage of `v-slot` (#203)
Co-authored-by: Doctorwu <doctorwu@moego.pet>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-12 17:57:00 +08:00
Lulu 133d494a01
test(compiler-vapor): slot outlets with props & fallbacks (#199) 2024-05-09 01:04:06 +08:00
三咲智子 Kevin Deng b58d6a9ea1
fix(compiler-vapor): empty block 2024-05-04 02:40:04 +09:00
Rizumu Ayaka 2b0def3ba5
feat(compiler-vapor): slot outlet (#182)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-02 23:26:52 +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
Rizumu Ayaka 8dea04bd7f
feat(compiler-vapor): component with dynamic arguments (#192)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-05-01 03:11:32 +09:00
Doctor Wu 098b6fcf65
fix(compiler-vapor): create dynamic text node (#193) 2024-04-30 22:28:55 +09:00
三咲智子 Kevin Deng aa5d87b394
refactor(compiler-vapor): extract segments of `genMulti` 2024-04-28 03:34:25 +09:00
三咲智子 Kevin Deng 6b03b47462
fix(compiler-vapor): call withDirectives after created 2024-04-26 23:12:06 +08:00
三咲智子 Kevin Deng e67e6432f0
refactor: merge createTextNode & setText 2024-04-20 21:48:44 +08:00
三咲智子 Kevin Deng b9b3e021de
feat(compiler-vapor): extract `resolveComponent`
Avoid call `resolveComponent` repeatly for the same component
2024-04-19 20:09:03 +08:00
Jevon 1f28ae15cd
feat(compiler-vapor): v-model for component (#180)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-19 19:43:30 +08:00
三咲智子 Kevin Deng af1581be28
fix(compiler-vapor): v-model argument on native element 2024-04-19 01:15:43 +08:00
三咲智子 Kevin Deng 761f785b30
feat(compiler-vapor): invalid html nesting 2024-04-18 02:42:59 +08:00
三咲智子 Kevin Deng a68445bdac
test: add template abbreviation 2024-04-18 01:30:56 +08:00
Jevon e640ec6088
fix(compiler-vapor): v-on for component support `$event` argument (#177)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-16 16:46:22 +08:00
三咲智子 Kevin Deng 9e0cd20da0
feat(compiler-vapor): support v-on for component 2024-04-15 04:43:37 +08:00
三咲智子 Kevin Deng 3787a430f6
test(compiler-vapor): add props & emits for component 2024-04-15 04:43:26 +08:00