@@ -24,6 +24,7 @@ let macro = await select({
2424 { value : 'jsx-directive' } ,
2525 { value : 'setup-sfc' } ,
2626 { value : 'short-v-model' } ,
27+ { value : 'define-slots' } ,
2728 ] ,
2829} ,
2930)
@@ -41,19 +42,6 @@ if (macro === 'jsx-directive') {
4142 } )
4243}
4344
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-
5745if ( macro === 'short-v-model' ) {
5846 macro = await select ( {
5947 message : chalk . green (
@@ -76,22 +64,24 @@ const files = await glob(`${targetDirectory}/**/*.vue`, {
7664 ] . filter ( Boolean ) ,
7765} )
7866
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+
7974if ( [ 'jsx-directive' , 'setup-sfc' ] . includes ( macro ) ) {
8075 await $ `${ sg } scan -c ${ config } .yml -U --filter '^v-' ${ targetDirectory } `
81-
8276 await $ `${ sg } scan -c ${ config } .yml -U --filter '^${ macro === 'setup-sfc' ? 'export-render' : render } ' ${ targetDirectory } `
8377
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 } ` )
9079
9180 if ( macro === 'setup-sfc' )
9281 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 } ` )
9585}
9686else {
9787 await $ `${ sg } scan -c ${ config } .yml -U --filter ^${ macro } ${ targetDirectory } `
0 commit comments