diff --git a/internal/compiler/module/resolver.go b/internal/compiler/module/resolver.go index a555d2d9c2c..834bfedb6de 100644 --- a/internal/compiler/module/resolver.go +++ b/internal/compiler/module/resolver.go @@ -741,7 +741,7 @@ func (r *resolutionState) tryLoadInputFileForPath(finalPath string, entry string func (r *resolutionState) loadModuleFromNearestNodeModulesDirectory(typesScopeOnly bool) *resolved { mode := core.ResolutionModeCommonJS - if r.esmMode { + if r.esmMode || r.conditionMatches("import") { mode = core.ResolutionModeESM } // Do (up to) two passes through node_modules: diff --git a/testdata/fixtures/module/resolvertests.json b/testdata/fixtures/module/resolvertests.json index 1f138608e32..ac0126d1238 100644 --- a/testdata/fixtures/module/resolvertests.json +++ b/testdata/fixtures/module/resolvertests.json @@ -1219,6 +1219,14 @@ {"call":"getPackageScopeForPath","args":{"directory":"/node_modules/dep"}} {"test":"APISample_WatchWithOwnWatchHost.ts","trace":false,"files":[{"name":"node_modules/typescript/package.json","content":"{\n \"name\": \"typescript\",\n \"types\": \"/.ts/typescript.d.ts\"\n}\n"},{"name":"APISample_WatchWithOwnWatchHost.ts","content":""}]} {"call":"resolveModuleName","args":{"name":"typescript","containingFile":"/.src/APISample_WatchWithOwnWatchHost.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":1,"skipLibCheck":true,"noImplicitAny":true,"strictNullChecks":true,"noTypesAndSymbols":true,"fileName":"APISample_WatchWithOwnWatchHost.ts"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.ts/typescript.d.ts","extension":".d.ts","isExternalLibraryImport":true,"resolvedUsingTsExtension":false},"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/typescript.ts","/.src/node_modules/typescript.tsx","/.src/node_modules/typescript.d.ts"],"affectingLocations":["/.src/node_modules/typescript/package.json"]}} +{"test":"modulePreserve3.ts","trace":true,"files":[{"name":"/node_modules/dep/package.json","content":"{\n \"name\": \"dep\",\n \"exports\": {\n \"import\": \"./import.mjs\",\n \"require\": \"./require.js\"\n }\n}\n"},{"name":"/node_modules/dep/import.d.mts","content":""},{"name":"/node_modules/dep/require.d.ts","content":""},{"name":"/index.ts","content":""},{"name":"/main.js","content":""}]} +{"call":"getPackageScopeForPath","args":{"directory":"/"}} +{"call":"resolveModuleName","args":{"name":"dep","containingFile":"/main.js","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":200,"target":99,"strict":true,"checkJs":true,"traceResolution":true,"noEmit":true,"fileName":"/main.js"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/node_modules/dep/require.d.ts","extension":".d.ts","isExternalLibraryImport":true,"resolvedUsingTsExtension":false},"failedLookupLocations":["/package.json","/node_modules/dep/require.ts","/node_modules/dep/require.tsx"],"affectingLocations":["/node_modules/dep/package.json"]}} +{"call":"getPackageScopeForPath","args":{"directory":"/"}} +{"call":"resolveModuleName","args":{"name":"dep","containingFile":"/main.js","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":200,"target":99,"strict":true,"checkJs":true,"traceResolution":true,"noEmit":true,"fileName":"/main.js"},"resolutionMode":99},"return":{"resolvedModule":{"resolvedFileName":"/node_modules/dep/import.d.mts","extension":".d.mts","isExternalLibraryImport":true,"resolvedUsingTsExtension":false},"failedLookupLocations":["/package.json","/node_modules/dep/import.mts"],"affectingLocations":["/node_modules/dep/package.json"]}} +{"call":"getPackageScopeForPath","args":{"directory":"/node_modules/dep"}} +{"test":"APISample_WatchWithOwnWatchHost.ts","trace":false,"files":[{"name":"node_modules/typescript/package.json","content":"{\n \"name\": \"typescript\",\n \"types\": \"/.ts/typescript.d.ts\"\n}\n"},{"name":"APISample_WatchWithOwnWatchHost.ts","content":""}]} +{"call":"resolveModuleName","args":{"name":"typescript","containingFile":"/.src/APISample_WatchWithOwnWatchHost.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":1,"skipLibCheck":true,"noImplicitAny":true,"strictNullChecks":true,"noTypesAndSymbols":true,"fileName":"APISample_WatchWithOwnWatchHost.ts"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.ts/typescript.d.ts","extension":".d.ts","isExternalLibraryImport":true,"resolvedUsingTsExtension":false},"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/typescript.ts","/.src/node_modules/typescript.tsx","/.src/node_modules/typescript.d.ts"],"affectingLocations":["/.src/node_modules/typescript/package.json"]}} {"test":"nodeModulesPackageImports(module=node16).ts","trace":true,"files":[{"name":"index.ts","content":""},{"name":"index.mts","content":""},{"name":"index.cts","content":""},{"name":"package.json","content":"{\n \"name\": \"package\",\n \"private\": true,\n \"type\": \"module\",\n \"exports\": \"./index.js\",\n \"imports\": {\n \"#cjs\": \"./index.cjs\",\n \"#mjs\": \"./index.mjs\",\n \"#type\": \"./index.js\"\n }\n}"}]} {"call":"getPackageScopeForPath","args":{"directory":"/.src"}} {"call":"getPackageScopeForPath","args":{"directory":"/.src"}} @@ -1236,69 +1244,6 @@ {"call":"resolveModuleName","args":{"name":"#cjs","containingFile":"/.src/index.mts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":100,"declaration":true,"fileName":"package.json","traceResolution":true},"resolutionMode":99},"return":{"resolvedModule":{"resolvedFileName":"/.src/index.cts","extension":".cts","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"affectingLocations":["/.src/package.json"]}} {"call":"resolveModuleName","args":{"name":"#mjs","containingFile":"/.src/index.mts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":100,"declaration":true,"fileName":"package.json","traceResolution":true},"resolutionMode":99},"return":{"resolvedModule":{"resolvedFileName":"/.src/index.mts","extension":".mts","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"affectingLocations":["/.src/package.json"]}} {"call":"resolveModuleName","args":{"name":"#type","containingFile":"/.src/index.mts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":100,"declaration":true,"fileName":"package.json","traceResolution":true},"resolutionMode":99},"return":{"resolvedModule":{"resolvedFileName":"/.src/index.ts","extension":".ts","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"affectingLocations":["/.src/package.json"]}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} -{"call":"getPackageScopeForPath","args":{"directory":"/.ts"}} {"test":"nodeModulesPackageImports(module=nodenext).ts","trace":true,"files":[{"name":"index.ts","content":""},{"name":"index.mts","content":""},{"name":"index.cts","content":""},{"name":"package.json","content":"{\n \"name\": \"package\",\n \"private\": true,\n \"type\": \"module\",\n \"exports\": \"./index.js\",\n \"imports\": {\n \"#cjs\": \"./index.cjs\",\n \"#mjs\": \"./index.mjs\",\n \"#type\": \"./index.js\"\n }\n}"}]} {"call":"getPackageScopeForPath","args":{"directory":"/.src"}} {"call":"getPackageScopeForPath","args":{"directory":"/.src"}} @@ -1690,8 +1635,8 @@ {"call":"resolveModuleName","args":{"name":"./f1","containingFile":"/.src/f2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":1,"declaration":true,"fileName":"f2.ts"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.src/f1.ts","extension":".ts","isExternalLibraryImport":false,"resolvedUsingTsExtension":false}}} {"test":"augmentExportEquals3_1.ts","trace":false,"files":[{"name":"file1.d.ts","content":""},{"name":"file2.ts","content":""},{"name":"file3.ts","content":""}]} {"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"},"resolutionMode":1},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} {"call":"resolveModuleName","args":{"name":"file2","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file2/package.json","/.src/node_modules/file2.ts","/.src/node_modules/file2.tsx","/.src/node_modules/file2.d.ts","/.src/node_modules/file2/index.ts","/.src/node_modules/file2/index.tsx","/.src/node_modules/file2/index.d.ts","/.src/node_modules/@types/file2/package.json","/.src/node_modules/@types/file2.d.ts","/.src/node_modules/@types/file2/index.d.ts","/node_modules/file2/package.json","/node_modules/file2.ts","/node_modules/file2.tsx","/node_modules/file2.d.ts","/node_modules/file2/index.ts","/node_modules/file2/index.tsx","/node_modules/file2/index.d.ts","/node_modules/@types/file2/package.json","/node_modules/@types/file2.d.ts","/node_modules/@types/file2/index.d.ts","/.src/node_modules/file2/package.json","/.src/node_modules/file2.js","/.src/node_modules/file2.jsx","/.src/node_modules/file2/index.js","/.src/node_modules/file2/index.jsx","/node_modules/file2/package.json","/node_modules/file2.js","/node_modules/file2.jsx","/node_modules/file2/index.js","/node_modules/file2/index.jsx"]}} {"test":"moduleExportsElementAccessAssignment.ts","trace":false,"files":[{"name":"mod1.js","content":""},{"name":"mod2.js","content":""}]} {"call":"resolveModuleName","args":{"name":"./mod1","containingFile":"/.src/mod2.js","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"allowJs":true,"strict":true,"checkJs":true,"emitDeclarationOnly":true,"declaration":true,"fileName":"mod2.js"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.src/mod1.js","extension":".js","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"failedLookupLocations":["/.src/mod1.ts","/.src/mod1.tsx","/.src/mod1.d.ts"]}} @@ -4280,8 +4225,8 @@ {"call":"resolveModuleName","args":{"name":"./a","containingFile":"/.src/b.js","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"allowJs":true,"checkJs":true,"outDir":"/.src/out","fileName":"b.js"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.src/a.js","extension":".js","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"failedLookupLocations":["/.src/a.ts","/.src/a.tsx","/.src/a.d.ts"]}} {"test":"augmentExportEquals6_1.ts","trace":false,"files":[{"name":"file1.d.ts","content":""},{"name":"file2.ts","content":""},{"name":"file3.ts","content":""}]} {"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"},"resolutionMode":1},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} {"call":"resolveModuleName","args":{"name":"file2","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file2/package.json","/.src/node_modules/file2.ts","/.src/node_modules/file2.tsx","/.src/node_modules/file2.d.ts","/.src/node_modules/file2/index.ts","/.src/node_modules/file2/index.tsx","/.src/node_modules/file2/index.d.ts","/.src/node_modules/@types/file2/package.json","/.src/node_modules/@types/file2.d.ts","/.src/node_modules/@types/file2/index.d.ts","/node_modules/file2/package.json","/node_modules/file2.ts","/node_modules/file2.tsx","/node_modules/file2.d.ts","/node_modules/file2/index.ts","/node_modules/file2/index.tsx","/node_modules/file2/index.d.ts","/node_modules/@types/file2/package.json","/node_modules/@types/file2.d.ts","/node_modules/@types/file2/index.d.ts","/.src/node_modules/file2/package.json","/.src/node_modules/file2.js","/.src/node_modules/file2.jsx","/.src/node_modules/file2/index.js","/.src/node_modules/file2/index.jsx","/node_modules/file2/package.json","/node_modules/file2.js","/node_modules/file2.jsx","/node_modules/file2/index.js","/node_modules/file2/index.jsx"]}} {"test":"moduleImportedForTypeArgumentPosition.ts","trace":false,"files":[{"name":"moduleImportedForTypeArgumentPosition_0.ts","content":""},{"name":"moduleImportedForTypeArgumentPosition_1.ts","content":""}]} {"call":"resolveModuleName","args":{"name":"moduleImportedForTypeArgumentPosition_0","containingFile":"/.src/moduleImportedForTypeArgumentPosition_1.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"moduleImportedForTypeArgumentPosition_1.ts"},"resolutionMode":1},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/package.json","/.src/node_modules/moduleImportedForTypeArgumentPosition_0.ts","/.src/node_modules/moduleImportedForTypeArgumentPosition_0.tsx","/.src/node_modules/moduleImportedForTypeArgumentPosition_0.d.ts","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/index.ts","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/index.tsx","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/index.d.ts","/.src/node_modules/@types/moduleImportedForTypeArgumentPosition_0/package.json","/.src/node_modules/@types/moduleImportedForTypeArgumentPosition_0.d.ts","/.src/node_modules/@types/moduleImportedForTypeArgumentPosition_0/index.d.ts","/node_modules/moduleImportedForTypeArgumentPosition_0/package.json","/node_modules/moduleImportedForTypeArgumentPosition_0.ts","/node_modules/moduleImportedForTypeArgumentPosition_0.tsx","/node_modules/moduleImportedForTypeArgumentPosition_0.d.ts","/node_modules/moduleImportedForTypeArgumentPosition_0/index.ts","/node_modules/moduleImportedForTypeArgumentPosition_0/index.tsx","/node_modules/moduleImportedForTypeArgumentPosition_0/index.d.ts","/node_modules/@types/moduleImportedForTypeArgumentPosition_0/package.json","/node_modules/@types/moduleImportedForTypeArgumentPosition_0.d.ts","/node_modules/@types/moduleImportedForTypeArgumentPosition_0/index.d.ts","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/package.json","/.src/node_modules/moduleImportedForTypeArgumentPosition_0.js","/.src/node_modules/moduleImportedForTypeArgumentPosition_0.jsx","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/index.js","/.src/node_modules/moduleImportedForTypeArgumentPosition_0/index.jsx","/node_modules/moduleImportedForTypeArgumentPosition_0/package.json","/node_modules/moduleImportedForTypeArgumentPosition_0.js","/node_modules/moduleImportedForTypeArgumentPosition_0.jsx","/node_modules/moduleImportedForTypeArgumentPosition_0/index.js","/node_modules/moduleImportedForTypeArgumentPosition_0/index.jsx"]}} @@ -7053,8 +6998,8 @@ {"call":"resolveModuleName","args":{"name":"./other","containingFile":"/.src/index.js","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"allowJs":true,"checkJs":true,"noEmit":true,"module":1,"fileName":"other.js"},"resolutionMode":1},"return":{"resolvedModule":{"resolvedFileName":"/.src/other.js","extension":".js","isExternalLibraryImport":false,"resolvedUsingTsExtension":false},"failedLookupLocations":["/.src/other.ts","/.src/other.tsx","/.src/other.d.ts"]}} {"test":"augmentExportEquals4_1.ts","trace":false,"files":[{"name":"file1.d.ts","content":""},{"name":"file2.ts","content":""},{"name":"file3.ts","content":""}]} {"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"},"resolutionMode":1},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} -{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx","/.src/package.json","/package.json"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file2.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} +{"call":"resolveModuleName","args":{"name":"file1","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file1/package.json","/.src/node_modules/file1.ts","/.src/node_modules/file1.tsx","/.src/node_modules/file1.d.ts","/.src/node_modules/file1/index.ts","/.src/node_modules/file1/index.tsx","/.src/node_modules/file1/index.d.ts","/.src/node_modules/@types/file1/package.json","/.src/node_modules/@types/file1.d.ts","/.src/node_modules/@types/file1/index.d.ts","/node_modules/file1/package.json","/node_modules/file1.ts","/node_modules/file1.tsx","/node_modules/file1.d.ts","/node_modules/file1/index.ts","/node_modules/file1/index.tsx","/node_modules/file1/index.d.ts","/node_modules/@types/file1/package.json","/node_modules/@types/file1.d.ts","/node_modules/@types/file1/index.d.ts","/.src/node_modules/file1/package.json","/.src/node_modules/file1.js","/.src/node_modules/file1.jsx","/.src/node_modules/file1/index.js","/.src/node_modules/file1/index.jsx","/node_modules/file1/package.json","/node_modules/file1.js","/node_modules/file1.jsx","/node_modules/file1/index.js","/node_modules/file1/index.jsx"]}} {"call":"resolveModuleName","args":{"name":"file2","containingFile":"/.src/file3.ts","compilerOptions":{"noResolve":false,"newLine":0,"noErrorTruncation":true,"skipDefaultLibCheck":true,"module":2,"fileName":"file3.ts"}},"return":{"failedLookupLocations":["/.src/package.json","/package.json","/.src/node_modules/file2/package.json","/.src/node_modules/file2.ts","/.src/node_modules/file2.tsx","/.src/node_modules/file2.d.ts","/.src/node_modules/file2/index.ts","/.src/node_modules/file2/index.tsx","/.src/node_modules/file2/index.d.ts","/.src/node_modules/@types/file2/package.json","/.src/node_modules/@types/file2.d.ts","/.src/node_modules/@types/file2/index.d.ts","/node_modules/file2/package.json","/node_modules/file2.ts","/node_modules/file2.tsx","/node_modules/file2.d.ts","/node_modules/file2/index.ts","/node_modules/file2/index.tsx","/node_modules/file2/index.d.ts","/node_modules/@types/file2/package.json","/node_modules/@types/file2.d.ts","/node_modules/@types/file2/index.d.ts","/.src/node_modules/file2/package.json","/.src/node_modules/file2.js","/.src/node_modules/file2.jsx","/.src/node_modules/file2/index.js","/.src/node_modules/file2/index.jsx","/node_modules/file2/package.json","/node_modules/file2.js","/node_modules/file2.jsx","/node_modules/file2/index.js","/node_modules/file2/index.jsx"]}} {"test":"moduleResolutionWithExtensions_unexpected2.ts","trace":true,"files":[{"name":"/node_modules/foo/foo.js","content":""},{"name":"/node_modules/foo/package.json","content":"{ \"types\": \"foo.js\" }\n"},{"name":"/a.ts","content":""}]} {"call":"getPackageScopeForPath","args":{"directory":"/"}}