@@ -10,7 +10,7 @@ import {
10
10
defaultExtensions ,
11
11
defaultMainFields ,
12
12
} from './constants.js'
13
- import { tryFile } from './helpers.js'
13
+ import { toGlobPath , toNativePath , tryFile } from './helpers.js'
14
14
import { log } from './logger.js'
15
15
import type { TypeScriptResolverOptions } from './types.js'
16
16
@@ -22,10 +22,12 @@ let warned: boolean | undefined
22
22
23
23
export function normalizeOptions (
24
24
options ?: TypeScriptResolverOptions | null ,
25
+ cwd ?: string ,
25
26
) : TypeScriptResolverOptions
26
27
// eslint-disable-next-line sonarjs/cognitive-complexity
27
28
export function normalizeOptions (
28
29
options ?: TypeScriptResolverOptions | null ,
30
+ cwd = process . cwd ( ) ,
29
31
) : TypeScriptResolverOptions {
30
32
let { project, tsconfig, noWarnOnMultipleProjects } = ( options ||= { } )
31
33
@@ -37,16 +39,22 @@ export function normalizeOptions(
37
39
configFile = tryFile ( configFile )
38
40
ensured = true
39
41
} else if ( project ) {
40
- project = Array . isArray ( project ) ? project : [ project ]
42
+ log ( 'original projects:' , ...project )
43
+ project = ( Array . isArray ( project ) ? project : [ project ] ) . map ( toGlobPath )
41
44
if ( project . some ( p => isDynamicPattern ( p ) ) ) {
42
45
project = globSync ( project , {
43
46
absolute : true ,
47
+ cwd,
44
48
dot : true ,
49
+ expandDirectories : false ,
45
50
onlyFiles : false ,
46
51
ignore : DEFAULT_IGNORE ,
47
52
} )
48
53
}
49
- project = project . flatMap ( p => tryFile ( DEFAULT_TRY_PATHS , false , p ) || [ ] )
54
+ log ( 'resolving projects:' , ...project )
55
+ project = project . flatMap (
56
+ p => tryFile ( DEFAULT_TRY_PATHS , false , toNativePath ( p ) ) || [ ] ,
57
+ )
50
58
log ( 'resolved projects:' , ...project )
51
59
if ( project . length === 1 ) {
52
60
configFile = project [ 0 ]
0 commit comments