Skip to content

Commit 7c51557

Browse files
committed
feat(setup-sfc): convert to setup.tsx suffix
1 parent 4e5dd2b commit 7c51557

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default antfu(
1212
},
1313
typescript: {
1414
'no-console': 'off',
15+
'prefer-const': 'off',
1516
},
1617
yaml: {
1718
'yaml/indent': 'off',

playground/src/App.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import Comp from './components/Comp.vue'
55
const list = [{ id: 1 }]
66
const bind = { }
77
const on = { submit: () => {} }
8-
const select = $ref<{ id: number }>(list[0])
8+
let select = $ref<{ id: number }>(list[0])
99
const compRef = shallowRef()
1010
</script>
1111

src/init/package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export async function rewritePackage(macros: VueMacros, target: string) {
2121
&& !packageJson.optionalDependencies?.[dep],
2222
)
2323

24-
if (devDeps)
24+
if (devDeps.length)
2525
return $`${ni} ${devDeps} -D`
2626
}
2727

src/sg/rules/setup-sfc.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,59 @@ rule:
8080
inside:
8181
kind: program
8282
fix: ''
83+
84+
---
85+
86+
id: setup-sfc delete .vue suffix in ts
87+
language: ts
88+
rule:
89+
kind: string_fragment
90+
regex: \.vue$
91+
pattern: $A
92+
any:
93+
- inside:
94+
kind: string
95+
inside:
96+
kind: import_statement
97+
- inside:
98+
kind: string
99+
inside:
100+
kind: arguments
101+
follows:
102+
kind: import
103+
stopBy: end
104+
transform:
105+
B:
106+
replace:
107+
replace: vue$
108+
by: setup.tsx
109+
source: $A
110+
fix: $B
111+
112+
---
113+
114+
id: setup-sfc delete .vue suffix in tsx
115+
language: tsx
116+
rule:
117+
kind: string_fragment
118+
regex: \.vue$
119+
pattern: $A
120+
any:
121+
- inside:
122+
kind: string
123+
inside:
124+
kind: import_statement
125+
- inside:
126+
kind: string
127+
inside:
128+
kind: arguments
129+
follows:
130+
kind: import
131+
stopBy: end
132+
transform:
133+
B:
134+
replace:
135+
replace: vue$
136+
by: setup.tsx
137+
source: $A
138+
fix: $B

0 commit comments

Comments
 (0)