@@ -4,7 +4,7 @@ import hasPkg from 'has-pkg'
4
4
import { ResolvedOptions , Options } from '../types'
5
5
import { LibraryResolver } from './helpers/libraryResolver'
6
6
7
- export const defaultOptions : Omit < Required < Options > , 'include' | 'exclude' | 'transformer' > = {
7
+ export const defaultOptions : Omit < Required < Options > , 'include' | 'exclude' | 'transformer' | 'globs' > = {
8
8
dirs : 'src/components' ,
9
9
extensions : 'vue' ,
10
10
deep : true ,
@@ -28,20 +28,24 @@ export function resolveOptions(options: Options, root: string): ResolvedOptions
28
28
resolved . resolvers . push ( ...resolved . libraries . map ( lib => LibraryResolver ( lib ) ) )
29
29
resolved . extensions = toArray ( resolved . extensions )
30
30
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 ) ) )
34
40
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
+ )
42
45
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
+ }
45
49
46
50
resolved . dts = ! options . dts
47
51
? false
0 commit comments