@@ -4,7 +4,7 @@ import hasPkg from 'has-pkg'
44import { ResolvedOptions , Options } from '../types'
55import { LibraryResolver } from './helpers/libraryResolver'
66
7- export const defaultOptions : Omit < Required < Options > , 'include' | 'exclude' | 'transformer' > = {
7+ export const defaultOptions : Omit < Required < Options > , 'include' | 'exclude' | 'transformer' | 'globs' > = {
88 dirs : 'src/components' ,
99 extensions : 'vue' ,
1010 deep : true ,
@@ -28,20 +28,24 @@ export function resolveOptions(options: Options, root: string): ResolvedOptions
2828 resolved . resolvers . push ( ...resolved . libraries . map ( lib => LibraryResolver ( lib ) ) )
2929 resolved . extensions = toArray ( resolved . extensions )
3030
31- const extsGlob = resolved . extensions . length === 1
32- ? resolved . extensions
33- : `{${ resolved . extensions . join ( ',' ) } }`
31+ if ( resolved . globs ) {
32+ resolved . globs = toArray ( resolved . globs ) . map ( ( glob : string ) => slash ( resolve ( root , glob ) ) )
33+ } else {
34+ const extsGlob = resolved . extensions . length === 1
35+ ? resolved . extensions
36+ : `{${ resolved . extensions . join ( ',' ) } }`
37+
38+ resolved . dirs = toArray ( resolved . dirs )
39+ resolved . resolvedDirs = resolved . dirs . map ( i => slash ( resolve ( root , i ) ) )
3440
35- resolved . dirs = toArray ( resolved . dirs )
36- resolved . resolvedDirs = resolved . dirs . map ( i => slash ( resolve ( root , i ) ) )
37-
38- resolved . globs = resolved . resolvedDirs . map ( i => resolved . deep
39- ? slash ( join ( i , `**/*.${ extsGlob } ` ) )
40- : slash ( join ( i , `*.${ extsGlob } ` ) ) ,
41- )
41+ resolved . globs = resolved . resolvedDirs . map ( i => resolved . deep
42+ ? slash ( join ( i , `**/*.${ extsGlob } ` ) )
43+ : slash ( join ( i , `*.${ extsGlob } ` ) ) ,
44+ )
4245
43- if ( ! resolved . extensions . length )
44- throw new Error ( '[unplugin-vue-components] `extensions` option is required to search for components' )
46+ if ( ! resolved . extensions . length )
47+ throw new Error ( '[unplugin-vue-components] `extensions` option is required to search for components' )
48+ }
4549
4650 resolved . dts = ! options . dts
4751 ? false
0 commit comments