Commit Graph

95 Commits

Author SHA1 Message Date
三咲智子 Kevin Deng b7e6e1eceb
fix(compiler-vapor): hoist template with inline option 2024-02-07 17:56:32 +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 14813cec1e
refactor(compiler-vapor): combine interpolation & text 2024-02-07 04:29:53 +08:00
三咲智子 Kevin Deng 38865c7ca1
refactor: simplify event handler 2024-02-07 01:37:07 +08:00
三咲智子 Kevin Deng 9ffd4b6c75
refactor(compiler-vapor): simplify renderEffect with a single statement 2024-02-06 20:46:12 +08:00
三咲智子 Kevin Deng d10a1a3c08
refactor(compiler-vapor): hoist template generator 2024-02-06 20:34:06 +08:00
ygj6 c4a567b93d
test(compiler-vapor): v-bind="obj" (#119) 2024-02-06 20:26:55 +08:00
Rizumu Ayaka ba3ca6a304
feat(compiler-vapor): props merging (#118)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-06 02:35:52 +08:00
Rizumu Ayaka 75b0937d31
feat(compiler-vapor): complex identifier rewriting with vOn (#113)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-02-05 22:37:09 +08:00
三咲智子 Kevin Deng 2229d3ce20
fix(compiler-vapor): treat attribute as dynamic if has dynamic key prop 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 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
三咲智子 Kevin Deng 21bec835f0
refactor(compiler-vapor): extract imports & unify context name 2024-01-31 18:00:16 +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 38a06394f7
refactor(compiler-vapor): rename dynamicFlags to flags 2024-01-30 22:52:42 +08:00
三咲智子 Kevin Deng e02725665d
fix(compiler-vapor): import helper with type check 2024-01-30 22:21:59 +08:00
三咲智子 Kevin Deng c0b7515369
refactor(compiler-vapor): CodeFragment for codegen 2024-01-30 22:08:28 +08:00
三咲智子 Kevin Deng 79636ddc5b
refactor(compiler-vapor): dynamicFlag 2024-01-29 22:08:57 +08:00
Rizumu Ayaka 63a127b612
feat(compiler-vapor): `v-else` / `v-else-if` (#98)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-29 03:42:56 +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 2b5e8e4df6
test(compiler-vapor): refactor compile 2024-01-27 22:13:37 +08:00
三咲智子 Kevin Deng 164fd90df4
refactor(compiler-vapor): codegen result 2024-01-27 22:00:34 +08:00
三咲智子 Kevin Deng c2c8070207
refactor(compiler-vapor): group directives by same element 2024-01-27 20:49:43 +08:00
三咲智子 Kevin Deng 359a5dab19
refactor: get oldVal from metadata 2024-01-25 17:00:19 +08:00
ygj6 5028880e5b
feat: generate specific function when the prop key is static (#97)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2024-01-22 23:03:39 +08:00
ygj6 775491e46d
feat: prop and attr modifiers for v-bind (#79) 2024-01-20 13:31:16 +08:00
三咲智子 Kevin Deng 199b19f076
test: update snapshot 2024-01-20 13:29:55 +08:00
zhiyuanzmj 0494323795
feat(compiler-vapor): support `expressionPlugins` for generate (#91) 2024-01-13 18:30:03 +08:00
zhiyuanzmj 8d7d672bc5
fix(compiler-vapor): should not prefix member expression (#92) 2024-01-13 03:26:50 +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
Rizumu Ayaka 5b3027f0a9
feat(runtime-vapor): `watchEffect`/`watch` and `onEffectCleanup` (#69) 2023-12-23 15:17:18 +08:00
Rizumu Ayaka 42b913283b
test: add all tests for `v-on` (#52) 2023-12-12 15:58:07 +08:00
Rizumu Ayaka c87512f592
test: add transform tests to `v-html` / `v-text` tests (#49)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-11 03:05:11 +08:00
Rizumu Ayaka 28b11f5cf7
test: add transform tests to `v-once` tests (#44)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-11 01:41:29 +08:00
Rizumu Ayaka b421aa91a2
test: combine with transform and codegen tests for `v-bind` (#45)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-10 01:33:29 +08:00
Rizumu Ayaka 26308c51eb
feat: camel modifier for `v-bind` (#39) 2023-12-09 18:41:59 +08:00
三咲智子 Kevin Deng 5f769745fa
test: add transform test 2023-12-09 04:11:02 +08:00
Rizumu Ayaka e3b21b25b1
test: split test files (#38) 2023-12-09 03:29:38 +08:00
三咲智子 Kevin Deng 5f90f8bef0
feat: v-show 2023-12-08 17:37:21 +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 910545f524
test: remove fixtures 2023-12-07 01:12:27 +08:00
三咲智子 Kevin Deng 8786c076d9
perf(compiler-vapor): combine effect 2023-12-07 01:11:25 +08:00
三咲智子 Kevin Deng 3d9f0ac614
feat(compiler-vapor): shorthand & no expression 2023-12-07 00:36:42 +08:00
Rizumu Ayaka 8482bad7af
test: compound expression for `v-bind` (#36) 2023-12-07 00:22:36 +08:00