@@ -24,9 +24,10 @@ function getEntrypoints(fs: Package, exportsObject: unknown, options: CheckPacka
24
24
const proxies = getProxyDirectories ( rootDir , fs ) ;
25
25
if ( proxies . length === 0 ) {
26
26
if ( options ?. entrypointsLegacy ) {
27
- return fs . listFiles ( )
28
- . filter ( f => ! ts . isDeclarationFileName ( f ) && extensions . has ( f . slice ( f . lastIndexOf ( "." ) ) ) )
29
- . map ( f => "." + f . slice ( rootDir . length ) ) ;
27
+ return fs
28
+ . listFiles ( )
29
+ . filter ( ( f ) => ! ts . isDeclarationFileName ( f ) && extensions . has ( f . slice ( f . lastIndexOf ( "." ) ) ) )
30
+ . map ( ( f ) => "." + f . slice ( rootDir . length ) ) ;
30
31
}
31
32
return [ "." ] ;
32
33
}
@@ -96,6 +97,7 @@ export function getEntrypointInfo(
96
97
options : CheckPackageOptions | undefined ,
97
98
) : Record < string , EntrypointInfo > {
98
99
const packageJson = JSON . parse ( fs . readFile ( `/node_modules/${ packageName } /package.json` ) ) ;
100
+ const typeIsModule = packageJson . type === "module" ;
99
101
let entrypoints = getEntrypoints ( fs , packageJson . exports , options ) ;
100
102
if ( fs . typesPackage ) {
101
103
const typesPackageJson = JSON . parse ( fs . readFile ( `/node_modules/${ fs . typesPackage . packageName } /package.json` ) ) ;
@@ -105,10 +107,10 @@ export function getEntrypointInfo(
105
107
const result : Record < string , EntrypointInfo > = { } ;
106
108
for ( const entrypoint of entrypoints ) {
107
109
const resolutions : Record < ResolutionKind , EntrypointResolutionAnalysis > = {
108
- node10 : getEntrypointResolution ( packageName , hosts . node10 , "node10" , entrypoint ) ,
109
- "node16-cjs" : getEntrypointResolution ( packageName , hosts . node16 , "node16-cjs" , entrypoint ) ,
110
- "node16-esm" : getEntrypointResolution ( packageName , hosts . node16 , "node16-esm" , entrypoint ) ,
111
- bundler : getEntrypointResolution ( packageName , hosts . bundler , "bundler" , entrypoint ) ,
110
+ node10 : getEntrypointResolution ( packageName , typeIsModule , hosts . node10 , "node10" , entrypoint ) ,
111
+ "node16-cjs" : getEntrypointResolution ( packageName , typeIsModule , hosts . node16 , "node16-cjs" , entrypoint ) ,
112
+ "node16-esm" : getEntrypointResolution ( packageName , typeIsModule , hosts . node16 , "node16-esm" , entrypoint ) ,
113
+ bundler : getEntrypointResolution ( packageName , typeIsModule , hosts . bundler , "bundler" , entrypoint ) ,
112
114
} ;
113
115
result [ entrypoint ] = {
114
116
subpath : entrypoint ,
@@ -121,6 +123,7 @@ export function getEntrypointInfo(
121
123
}
122
124
function getEntrypointResolution (
123
125
packageName : string ,
126
+ typeIsModule : boolean ,
124
127
host : CompilerHostWrapper ,
125
128
resolutionKind : ResolutionKind ,
126
129
entrypoint : string ,
@@ -167,6 +170,12 @@ function getEntrypointResolution(
167
170
168
171
return {
169
172
fileName,
173
+ isESM :
174
+ resolution . resolvedModule . extension === ts . Extension . Mjs ||
175
+ ( typeIsModule && resolution . resolvedModule . extension === ts . Extension . Js ) ,
176
+ isCommonJS :
177
+ resolution . resolvedModule . extension === ts . Extension . Cjs ||
178
+ ( ! typeIsModule && resolution . resolvedModule . extension === ts . Extension . Js ) ,
170
179
isJson : resolution . resolvedModule . extension === ts . Extension . Json ,
171
180
isTypeScript : ts . hasTSFileExtension ( resolution . resolvedModule . resolvedFileName ) ,
172
181
trace,
0 commit comments