@@ -44,7 +44,13 @@ const getCompName = (name) => {
44
44
} ) ;
45
45
}
46
46
const packageName = packages . find ( ( item ) => item . name . toLowerCase ( ) === name . toLowerCase ( ) ) ;
47
- return packageName ? packageName . name : '' ;
47
+ if ( packageName ) {
48
+ if ( packageName ?. setup === true ) {
49
+ return [ packageName . name , true ]
50
+ }
51
+ return [ packageName . name , false ]
52
+ }
53
+ return ''
48
54
} ;
49
55
50
56
const getLocale = ( ) => {
@@ -101,16 +107,23 @@ fs.cp(sourceDir, toDir, { recursive: true }, (err) => {
101
107
if ( inputs && inputs . length ) {
102
108
let name = item . substring ( 0 , item . lastIndexOf ( '/' ) ) ;
103
109
name = name . substring ( name . lastIndexOf ( '/' ) + 1 ) ;
104
- const componentName = getCompName ( name ) ;
105
- if ( componentName ) {
110
+ const _ComponentName = getCompName ( name ) ;
111
+ if ( _ComponentName ) {
112
+ const [ componentName , setup ] = _ComponentName ;
106
113
let remain = `
107
114
declare module 'vue' {
108
115
interface GlobalComponents {
109
116
Nut${ componentName } : typeof _default;
110
117
}
111
118
}` ;
112
- let changeContent = content . replace ( regex , `${ preContent } ${ start } Install<${ inputs [ 1 ] } >${ end } ${ remain } ` ) ;
113
- fs . writeFileSync ( item , changeContent ) ;
119
+ if ( setup ) {
120
+ let changeContent = content . replace ( 'export default _default;' , `declare const _nut_default: WithInstall<typeof _default>;\nexport default _nut_default;\n${ remain } ` ) ;
121
+ changeContent = `import type { WithInstall } from '../../utils';\n` + changeContent
122
+ fs . writeFileSync ( item , changeContent ) ;
123
+ } else {
124
+ let changeContent = content . replace ( regex , `${ preContent } ${ start } Install<${ inputs [ 1 ] } >${ end } ${ remain } ` ) ;
125
+ fs . writeFileSync ( item , changeContent ) ;
126
+ }
114
127
}
115
128
}
116
129
} ) ;
0 commit comments