@@ -11,6 +11,7 @@ type Principals = Set<Principal>;
11
11
12
12
export type PrincipalOptions = {
13
13
cwd : string ;
14
+ isFile : boolean ;
14
15
compilerOptions : ts . CompilerOptions ;
15
16
paths : Paths ;
16
17
compilers : [ SyncCompilers , AsyncCompilers ] ;
@@ -47,8 +48,9 @@ export class PrincipalFactory {
47
48
principals : Principals = new Set ( ) ;
48
49
49
50
public getPrincipal ( options : PrincipalOptions ) {
50
- const { cwd, compilerOptions, paths, pkgName, isIsolateWorkspaces, compilers } = options ;
51
+ const { cwd, compilerOptions, isFile , paths, pkgName, isIsolateWorkspaces, compilers } = options ;
51
52
options . compilerOptions = mergePaths ( cwd , compilerOptions , paths ) ;
53
+ if ( isFile ) compilerOptions . moduleResolution ??= ts . ModuleResolutionKind . Bundler ;
52
54
const principal = this . findReusablePrincipal ( compilerOptions ) ;
53
55
if ( ! isIsolateWorkspaces && principal ) {
54
56
this . linkPrincipal ( principal , cwd , compilerOptions , pkgName , compilers ) ;
@@ -64,7 +66,6 @@ export class PrincipalFactory {
64
66
const workspacePaths = compilerOptions ?. paths ? Object . keys ( compilerOptions . paths ) : [ ] ;
65
67
const principal = Array . from ( this . principals ) . find ( principal => {
66
68
if ( compilerOptions . pathsBasePath && principal . principal . compilerOptions . pathsBasePath ) return false ;
67
- if ( compilerOptions . moduleResolution !== principal . principal . compilerOptions . moduleResolution ) return false ;
68
69
if ( compilerOptions . baseUrl === principal . principal . compilerOptions . baseUrl ) {
69
70
return workspacePaths . every ( p => ! principal . pathKeys . has ( p ) ) ;
70
71
}
@@ -82,7 +83,7 @@ export class PrincipalFactory {
82
83
) {
83
84
const { pathsBasePath, paths } = compilerOptions ;
84
85
if ( pathsBasePath ) principal . principal . compilerOptions . pathsBasePath = pathsBasePath ;
85
- principal . principal . compilerOptions . moduleResolution ??= ts . ModuleResolutionKind . Bundler ;
86
+ principal . principal . compilerOptions . moduleResolution ??= compilerOptions . moduleResolution ;
86
87
for ( const p of Object . keys ( paths ?? { } ) ) principal . pathKeys . add ( p ) ;
87
88
principal . principal . addPaths ( paths ) ;
88
89
principal . principal . addCompilers ( compilers ) ;
0 commit comments