From af4bdc7e94919e15a8ba129d932970f248a7009e Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 01:43:07 +0800 Subject: [PATCH 1/6] feat(jsx-directive): support jsx_namespace_name in v-on --- src/utils/is-event.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/utils/is-event.yml b/src/utils/is-event.yml index 9207b44..cce9851 100644 --- a/src/utils/is-event.yml +++ b/src/utils/is-event.yml @@ -9,7 +9,6 @@ rule: - kind: identifier - kind: function - kind: arrow_function - follows: - kind: property_identifier + inside: + kind: jsx_attribute regex: ^on[A-Z_] - stopBy: end From 0e41f3e3e859f01cd94b28e9465bbd726d5f3f84 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 01:50:47 +0800 Subject: [PATCH 2/6] chore: typo --- src/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 26afe61..3f46c61 100755 --- a/src/index.ts +++ b/src/index.ts @@ -9,7 +9,10 @@ function printHelp() { console.log(` Rewriting at Vue Macros using ast-grep. -${chalk.underline('Usage:')} vue-macros [directory] {(default current directory)} +${chalk.underline('Usage:')} vue-macros [directory] + +${chalk.underline('Directory:')} + default current directory ${chalk.underline('Commands:')} sg Rewrite code in specified directory From 635affa13868c292d3a2865514c11d5ca36d7342 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 02:14:54 +0800 Subject: [PATCH 3/6] fix(jsx-directive): allow template strings in v-text --- playground/src/App.vue | 2 +- src/rules/jsx-directive/v-text.yml | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/playground/src/App.vue b/playground/src/App.vue index 18eb10c..c0b4f05 100644 --- a/playground/src/App.vue +++ b/playground/src/App.vue @@ -25,7 +25,7 @@ const select = $ref<{ id: number }>(list[0])
{{ id }}
diff --git a/src/rules/jsx-directive/v-text.yml b/src/rules/jsx-directive/v-text.yml index b983e63..242c5d7 100644 --- a/src/rules/jsx-directive/v-text.yml +++ b/src/rules/jsx-directive/v-text.yml @@ -1,12 +1,18 @@ id: v-text -language: tsx +language: html rule: - kind: jsx_expression - has: - kind: object - pattern: $A - not: - inside: - kind: jsx_attribute + kind: text + pattern: $A +transform: + B: + replace: + replace: \{\{ + by: '{' + source: $A + C: + replace: + replace: \}\} + by: '}' + source: $B fix: - $A + $C From 6b75eb10c5fde9e53ed320a708ef17725f75c849 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 02:23:56 +0800 Subject: [PATCH 4/6] feat(jsx-directive): convert to jsx comment --- src/rules/jsx-directive/v-text.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/rules/jsx-directive/v-text.yml b/src/rules/jsx-directive/v-text.yml index 242c5d7..5cf2896 100644 --- a/src/rules/jsx-directive/v-text.yml +++ b/src/rules/jsx-directive/v-text.yml @@ -16,3 +16,24 @@ transform: source: $B fix: $C + +--- + +id: v-text to jsx comment +language: html +rule: + kind: comment + pattern: $A +transform: + B: + replace: + replace: + by: '*/}' + source: $B +fix: + $C From 675730db66fb4d7e8c3a96278f1bac4f10972b6f Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 02:32:20 +0800 Subject: [PATCH 5/6] fix(jsx-directive): Ignore files without script block --- src/rules/setup-sfc.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rules/setup-sfc.yml b/src/rules/setup-sfc.yml index 00384db..62c86ef 100644 --- a/src/rules/setup-sfc.yml +++ b/src/rules/setup-sfc.yml @@ -24,6 +24,8 @@ language: html rule: kind: fragment pattern: $A + has: + kind: script_element fix: /*$A*/ --- From 98d8090c238d7309770f589223961ddce8b48f04 Mon Sep 17 00:00:00 2001 From: gaokefei <260480378@qq.com> Date: Sat, 2 Dec 2023 02:33:20 +0800 Subject: [PATCH 6/6] chore: release v1.0.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 096164e..a715b6f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue-macros/cli", "type": "module", - "version": "1.0.6", + "version": "1.0.7", "packageManager": "pnpm@8.10.5", "description": "Rewriting at vue macros powered by ast-grep.", "author": "zhiyuanzmj ",