@@ -24,6 +24,7 @@ let macro = await select({
24
24
{ value : 'jsx-directive' } ,
25
25
{ value : 'setup-sfc' } ,
26
26
{ value : 'short-v-model' } ,
27
+ { value : 'define-slots' } ,
27
28
] ,
28
29
} ,
29
30
)
@@ -41,19 +42,6 @@ if (macro === 'jsx-directive') {
41
42
} )
42
43
}
43
44
44
- let defineSlots = 'define-slots'
45
- if ( [ 'jsx-directive' , 'setup-sfc' ] . includes ( macro ) ) {
46
- defineSlots = await select ( {
47
- message : chalk . green (
48
- `Which define-slots macro do you want to use?` ,
49
- ) ,
50
- choices : [
51
- { value : 'define-slots' } ,
52
- { value : 'define-short-slots' } ,
53
- ] ,
54
- } )
55
- }
56
-
57
45
if ( macro === 'short-v-model' ) {
58
46
macro = await select ( {
59
47
message : chalk . green (
@@ -76,22 +64,24 @@ const files = await glob(`${targetDirectory}/**/*.vue`, {
76
64
] . filter ( Boolean ) ,
77
65
} )
78
66
67
+ async function useTsx ( cb = ( ) => { } ) {
68
+ await $ `${ sg } scan -c ${ config } .yml -U --filter '^setup-sfc start' ${ targetDirectory } `
69
+ await $ `${ sg } scan -c ${ config } .yml -U --filter '^setup-sfc end' ${ targetDirectory } `
70
+ await cb ( )
71
+ await $ `${ sg } scan -c ${ config } -tsx.yml -U --filter '^setup-sfc clean' ${ targetDirectory } `
72
+ }
73
+
79
74
if ( [ 'jsx-directive' , 'setup-sfc' ] . includes ( macro ) ) {
80
75
await $ `${ sg } scan -c ${ config } .yml -U --filter '^v-' ${ targetDirectory } `
81
-
82
76
await $ `${ sg } scan -c ${ config } .yml -U --filter '^${ macro === 'setup-sfc' ? 'export-render' : render } ' ${ targetDirectory } `
83
77
84
- await $ `${ sg } scan -c ${ config } .yml -U --filter '^setup-sfc' ${ targetDirectory } `
85
-
86
- await $ `${ sg } scan -c ${ config } -tsx.yml -U --filter '^v-' ${ targetDirectory } `
87
-
88
- if ( defineSlots === 'define-short-slots' )
89
- await $ `${ sg } scan -c ${ config } -tsx.yml -U --filter 'define-short-slots' ${ targetDirectory } `
78
+ await useTsx ( ( ) => $ `${ sg } scan -c ${ config } -tsx.yml -U --filter '^v-' ${ targetDirectory } ` )
90
79
91
80
if ( macro === 'setup-sfc' )
92
81
await Promise . all ( files . map ( async file => fs . move ( file , `${ file . slice ( 0 , - 3 ) } setup.tsx` ) ) )
93
- else
94
- await $ `${ sg } scan -c ${ config } -tsx.yml -U --filter '^sfc$' ${ targetDirectory } `
82
+ }
83
+ else if ( macro === 'define-slots' ) {
84
+ await useTsx ( ( ) => $ `${ sg } scan -c ${ config } -tsx.yml -U --filter '^define-slots' ${ targetDirectory } ` )
95
85
}
96
86
else {
97
87
await $ `${ sg } scan -c ${ config } .yml -U --filter ^${ macro } ${ targetDirectory } `
0 commit comments