Commit Graph

314 Commits

Author SHA1 Message Date
三咲智子 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 eed7d1d4fd
refactor(compiler-vapor): drop browser build 2024-11-13 08:38:38 +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 3d487184ea
chore: rename repo name 2024-10-05 15:59:15 +08:00
Kevin Deng 三咲智子 884c190f08
feat: `v-memo` for `v-for` (#276) 2024-09-19 15:40:20 +08:00
三咲智子 Kevin Deng cc58f651e1
refactor(compiler-vapor): remove `proxyRefs` in v-for 2024-09-19 01:17:16 +08:00
zhiyuanzmj ced7ee684c
feat(compiler-vapor): support v-slots expression for jsx-vapor (#271)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-09-17 11:45:20 +08:00
三咲智子 Kevin Deng 594cb1412d
Merge remote-tracking branch 'upstream/main' 2024-09-17 10:33:35 +08:00
三咲智子 Kevin Deng 2ef97fec30
refactor: isolatedDeclarations for vapor 2024-08-09 17:00:27 +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
XiaoDong bbde386a7c
test(runtime-vapor): add apiSetupContext unit test (#237)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-06-19 01:00:16 +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
三咲智子 Kevin Deng c97dee3e3c
refactor(compiler-vapor): remove Object.entries 2024-05-28 21:31:30 +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
三咲智子 Kevin Deng 30f98942db
refactor(compiler-vapor): add placeholder for optional argument 2024-05-13 01:35:35 +08:00
三咲智子 Kevin Deng 72589be6aa
refactor(compiler-vapor): simplify generate code fragment 2024-05-12 19:44:38 +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
三咲智子 Kevin Deng 76595deefb
refactor(compiler-vapor): simplify ast check 2024-05-12 17:58:11 +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 e42fecb992
refactor(compiler-vapor): extract new block 2024-04-28 23:05:20 +09:00
三咲智子 Kevin Deng aa5d87b394
refactor(compiler-vapor): extract segments of `genMulti` 2024-04-28 03:34:25 +09:00
三咲智子 Kevin Deng 17d598f743
refactor(compiler-vapor): cleanup 2024-04-28 03:14:10 +09:00
三咲智子 Kevin Deng d535c647be
refactor(compiler-vapor): new dynamic info 2024-04-28 03:10:05 +09:00
三咲智子 Kevin Deng 784310d4dc
refactor(compiler-vapor): use class for transform context 2024-04-28 03:10:05 +09:00
三咲智子 Kevin Deng 9b5d23c3e2
refactor(compiler-vapor): register effect argument 2024-04-28 02:12:59 +09:00
Jevon 464b498f13
fix(compiler-vapor): check global allowed for identifier (#189)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-04-26 23:25:00 +08: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 75488653d3
refactor(compiler-vapor): inline `validate-html-nesting` 2024-04-18 23:01:48 +08:00
三咲智子 Kevin Deng 1af1f40247
fix(compiler-vapor): TS error 2024-04-18 14:54:33 +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
三咲智子 Kevin Deng e95811887a
fix(compiler-vapor): resolve component & unit tests 2024-04-15 04:43:23 +08:00
Doctor Wu a49b6f91ca
feat(compiler-vapor): support v-on for component (#175)
Co-authored-by: Kevin Deng 三咲智子 <sxzz@sxzz.moe>
2024-04-15 02:40:59 +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
三咲智子 Kevin Deng 98bae0c4a9
refactor(compiler-vapor): group directive 2024-04-07 14:00:36 +08:00
Jevon 9f8bf4fc82
fix(compiler-core): generate `updateEffect` for nested v-for (#171)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-29 21:36:19 +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
Jevon ed6b1718d2
fix(compiler-vapor): SET_REF operation should be registered last (#159)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-03-22 23:33:55 +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
Kevin Deng 三咲智子 463b47e83d
feat: create component & component lifecycle/props/attrs (#151) 2024-03-16 18:54:36 +08:00
三咲智子 Kevin Deng d282af9430
refactor(compiler-vapor): check reserved prop on compiler only 2024-03-15 22:26:03 +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 421eba3e01
refactor(compiler-vapor): simplify genExpression 2024-03-12 15:50:23 +08:00
Rizumu Ayaka c79629f0ef
fix(compiler-vapor): member expression with assignment (#146) 2024-03-12 15:46:30 +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 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 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 e5c1f8d1a2
refactor: split delegate & register event 2024-02-26 15:18:16 +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
三咲智子 Kevin Deng 669fec8dad
feat: delegate event for vapor
closes #136
2024-02-25 02:07:20 +08:00
三咲智子 Kevin Deng e91dde5d22
refactor(compiler-vapor): don't reference root element 2024-02-23 14:03:21 +08:00
三咲智子 Kevin Deng 88123e56d0
fix(compiler-vapor): register event for v-model 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 d7bd6c99da
refactor(compiler-vapor): generate fragment for only one element
closes #133
2024-02-23 00:52:02 +08:00
三咲智子 Kevin Deng 004edd3bac
refactor(compiler-vapor): move `templateIndex` to dynamic 2024-02-22 11:46:40 +08:00
三咲智子 Kevin Deng 0e0ee5b85e
refactor(compiler-vapor): split block & root ir node 2024-02-22 11:30:29 +08:00
三咲智子 Kevin Deng fa0ca8a5af
refactor(compiler-vapor): required returns 2024-02-22 00:18:19 +08:00
三咲智子 Kevin Deng 66c0e82d4b
refactor(compiler-vapor): remove template ir node 2024-02-21 17:43:52 +08:00
FireBushtree ba29b4c89a
test(compiler-vapor): v-model (#132)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-21 17:08:20 +08:00
FireBushtree 1710bfdd21
test(compiler-vapor): v-show directive (#130)
* test(compiler-vapor): v-show

* fix(compiler-vapor): use DOMErrorCodes in vShow test
2024-02-19 16:52:21 +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
三咲智子 Kevin Deng bf5f7c389b
refactor(compiler): move `expressionPlugins` to shared options 2024-02-10 21:50:00 +08:00
三咲智子 Kevin Deng 0c8153eca8
fix(compiler): add `vaporRuntimeModuleName` option 2024-02-10 21:43:09 +08:00
三咲智子 Kevin Deng f7080efa5d
feat(compiler-vapor): support <style scoped> 2024-02-10 16:04:09 +08:00
三咲智子 Kevin Deng 3550765147
refactor: add isVaporReservedProp 2024-02-10 14:41:51 +08:00
三咲智子 Kevin Deng 5019aac6ca
fix: vapor major version 2024-02-10 01:23:48 +08:00
三咲智子 Kevin Deng edaa3a0649
refactor(compiler-vapor): re-organize 2024-02-09 02:40:01 +08:00
三咲智子 Kevin Deng e050646079
fix(compiler-vapor): generate assignment for v-model 2024-02-09 00:09:05 +08:00
三咲智子 Kevin Deng 985d4c7422
refactor: return only one node from children helper 2024-02-08 23:03:42 +08:00
三咲智子 Kevin Deng c70661c8a3
refactor(compiler-vapor): don't convert event name 2024-02-08 21:56:57 +08:00